mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-11 09:51:23 +00:00
merge of '283b85ceb3a2d749da436802a5bf6c9e26565d00'
and 'ff4ded519351216e33ec0fa734612c05b21917d1' Monotone-Parent: 283b85ceb3a2d749da436802a5bf6c9e26565d00 Monotone-Parent: ff4ded519351216e33ec0fa734612c05b21917d1 Monotone-Revision: 779f7c78a42d4b2a50a642ddf6b7977bc7e6d72d Monotone-Author: crobert@inverse.ca Monotone-Date: 2009-07-20T18:37:08 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -4,6 +4,14 @@
|
||||
(-caldavFreeBusyRequest:): the list of recipients is now deduced
|
||||
from the list of attendees specified in the VFREEBUSY.
|
||||
|
||||
2009-07-20 Cyril Robert <crobert@inverse.ca>
|
||||
|
||||
* SoObjects/Appointments/SOGoAppointmentFolder.m (davResourceType): Removed
|
||||
a few things for the iPhone calDAV sync (schedule-inbox, schedule-outbox,
|
||||
vevent-collection, vtodo-collection).
|
||||
* SoObjects/SOGo/WORequest+SOGo.m (isIPhone): Added new method to detect
|
||||
iPhone's DAV client.
|
||||
|
||||
2009-07-20 Francis Lachapelle <flachapelle@inverse.ca>
|
||||
|
||||
* SoObjects/Appointments/SOGoAppointmentFolder.m
|
||||
|
||||
@@ -55,6 +55,9 @@
|
||||
|
||||
- (void) setEmail: (NSString *)_s
|
||||
{
|
||||
// WARNING
|
||||
// don't touch unless you're going to re-test caldav sync
|
||||
// with an iPhone AND lightning
|
||||
[self setValue: 0
|
||||
to: [NSString stringWithFormat: @"mailto:%@", _s]];
|
||||
}
|
||||
|
||||
@@ -2000,6 +2000,9 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
|
||||
content = [NSMutableArray array];
|
||||
|
||||
// WARNING
|
||||
// don't touch unless you're going to re-test caldav sync
|
||||
// with an iPhone AND lightning
|
||||
[content addObject: davElementWithContent (@"recipient",
|
||||
XMLNS_CALDAV, [recipient email])];
|
||||
if (user)
|
||||
@@ -2118,6 +2121,9 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
response = [context response];
|
||||
if (tags)
|
||||
{
|
||||
// WARNING
|
||||
// don't touch unless you're going to re-test caldav sync
|
||||
// with an iPhone AND lightning
|
||||
[response setStatus: 200];
|
||||
[response appendContentString: @"<?xml version=\"1.0\""
|
||||
@" encoding=\"utf-8\"?>"];
|
||||
@@ -2211,29 +2217,37 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
|
||||
NSMutableArray *colType;
|
||||
NSArray *gdRT, *gdVEventCol, *gdVTodoCol;
|
||||
NSString *login;
|
||||
WORequest *request;
|
||||
|
||||
colType = [NSMutableArray arrayWithCapacity: 10];
|
||||
[colType addObject: @"collection"];
|
||||
[colType addObject: [NSArray arrayWithObjects: @"calendar", XMLNS_CALDAV, nil]];
|
||||
|
||||
gdRT = [self groupDavResourceType];
|
||||
gdVEventCol = [NSArray arrayWithObjects: [gdRT objectAtIndex: 0],
|
||||
XMLNS_GROUPDAV, nil];
|
||||
[colType addObject: gdVEventCol];
|
||||
gdVTodoCol = [NSArray arrayWithObjects: [gdRT objectAtIndex: 1],
|
||||
XMLNS_GROUPDAV, nil];
|
||||
[colType addObject: gdVTodoCol];
|
||||
if ([nameInContainer isEqualToString: @"personal"])
|
||||
// WARNING
|
||||
// don't touch unless you're going to re-test caldav sync
|
||||
// with an iPhone AND lightning
|
||||
request = [context request];
|
||||
if (![request isIPhone])
|
||||
{
|
||||
login = [[context activeUser] login];
|
||||
if ([login isEqualToString: [self ownerInContext: self]])
|
||||
gdRT = [self groupDavResourceType];
|
||||
gdVEventCol = [NSArray arrayWithObjects: [gdRT objectAtIndex: 0],
|
||||
XMLNS_GROUPDAV, nil];
|
||||
[colType addObject: gdVEventCol];
|
||||
gdVTodoCol = [NSArray arrayWithObjects: [gdRT objectAtIndex: 1],
|
||||
XMLNS_GROUPDAV, nil];
|
||||
[colType addObject: gdVTodoCol];
|
||||
if ([nameInContainer isEqualToString: @"personal"])
|
||||
{
|
||||
// [colType addObject: [NSArray arrayWithObjects: @"schedule-calendar",
|
||||
// XMLNS_CALDAV, nil]];
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-inbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-outbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
login = [[context activeUser] login];
|
||||
if ([login isEqualToString: [self ownerInContext: self]])
|
||||
{
|
||||
// [colType addObject: [NSArray arrayWithObjects: @"schedule-calendar",
|
||||
// XMLNS_CALDAV, nil]];
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-inbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
[colType addObject: [NSArray arrayWithObjects: @"schedule-outbox",
|
||||
XMLNS_CALDAV, nil]];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,9 @@ static unsigned int freebusyRangeEnd = 0;
|
||||
um = [LDAPUserManager sharedUserManager];
|
||||
contactInfos = [um contactInfosForUserWithUIDorEmail: uid];
|
||||
|
||||
// WARNING
|
||||
// don't touch unless you're going to re-test caldav sync
|
||||
// with an iPhone AND lightning
|
||||
person = [iCalPerson new];
|
||||
[person autorelease];
|
||||
[person setEmail: [contactInfos objectForKey: @"c_email"]];
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
- (BOOL) handledByDefaultHandler;
|
||||
- (NSDictionary *) davPatchedPropertiesWithTopTag: (NSString *) topTag;
|
||||
- (BOOL) isIPhone;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
#import <NGObjWeb/SoObjectRequestHandler.h>
|
||||
#import <NGObjWeb/WOApplication.h>
|
||||
#import <NGObjWeb/WEClientCapabilities.h>
|
||||
|
||||
#import <DOM/DOMProtocols.h>
|
||||
|
||||
@@ -102,4 +103,22 @@
|
||||
return patchedProperties;
|
||||
}
|
||||
|
||||
- (BOOL) isIPhone
|
||||
{
|
||||
WEClientCapabilities *cc;
|
||||
BOOL rc;
|
||||
|
||||
rc = NO;
|
||||
cc = [self clientCapabilities];
|
||||
if ([[cc userAgentType] isEqualToString: @"AppleDAVAccess"])
|
||||
{
|
||||
NSRange r = [[cc userAgent] rangeOfString: @"iPhone"];
|
||||
if (r.location != NSNotFound)
|
||||
rc = YES;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user