mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-03-11 09:51:23 +00:00
Monotone-Parent: 0e24f707625b8e960d18430aa904f3ec40c5dd2a
Monotone-Revision: d75ed56bb85ad0c1c37621595267a590aa9b60db Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-10-12T20:00:46 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -77,12 +77,14 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
|
||||
+ (id) wrapperWithICalEvent: (iCalEvent *) newEvent
|
||||
andUser: (SOGoUser *) newUser
|
||||
andSenderEmail: (NSString *) newSenderEmail
|
||||
inTimeZone: (NSTimeZone *) newTimeZone
|
||||
{
|
||||
MAPIStoreAppointmentWrapper *wrapper;
|
||||
|
||||
wrapper = [[self alloc] initWithICalEvent: newEvent
|
||||
andUser: newUser
|
||||
andSenderEmail: newSenderEmail
|
||||
inTimeZone: newTimeZone];
|
||||
[wrapper autorelease];
|
||||
|
||||
@@ -96,6 +98,7 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
calendar = nil;
|
||||
event = nil;
|
||||
timeZone = nil;
|
||||
senderEmail = nil;
|
||||
globalObjectId = nil;
|
||||
cleanGlobalObjectId = nil;
|
||||
user = nil;
|
||||
@@ -110,16 +113,33 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
|
||||
- (void) _setupITIPContextFromAttendees
|
||||
{
|
||||
iCalPerson *attendee;
|
||||
iCalPerson *attendee = nil;
|
||||
NSArray *attendees;
|
||||
|
||||
attendee = [event userAsAttendee: user];
|
||||
if (attendee)
|
||||
{
|
||||
method = @"REPLY";
|
||||
partstat = [attendee participationStatus];
|
||||
}
|
||||
else if ([event userIsOrganizer: user])
|
||||
method = @"REQUEST";
|
||||
else if ([event userIsOrganizer: user])
|
||||
{
|
||||
if (senderEmail)
|
||||
attendee = [event findAttendeeWithEmail: senderEmail];
|
||||
if (!attendee)
|
||||
{
|
||||
attendees = [event attendees];
|
||||
if ([attendees count] == 1)
|
||||
attendee = [attendees objectAtIndex: 0];
|
||||
}
|
||||
if (attendee)
|
||||
{
|
||||
method = @"REPLY";
|
||||
partstat = [attendee participationStatus];
|
||||
}
|
||||
else
|
||||
{
|
||||
[self logWithFormat: @"no attendee matching sender found"];
|
||||
method = nil;
|
||||
}
|
||||
}
|
||||
else
|
||||
method = nil;
|
||||
|
||||
@@ -155,6 +175,7 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
|
||||
- (id) initWithICalEvent: (iCalEvent *) newEvent
|
||||
andUser: (SOGoUser *) newUser
|
||||
andSenderEmail: (NSString *) newSenderEmail
|
||||
inTimeZone: (NSTimeZone *) newTimeZone
|
||||
{
|
||||
if ((self = [self init]))
|
||||
@@ -163,6 +184,7 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
ASSIGN (calendar, [event parent]);
|
||||
ASSIGN (timeZone, newTimeZone);
|
||||
ASSIGN (user, newUser);
|
||||
ASSIGN (senderEmail, newSenderEmail);
|
||||
[self _setupITIPContext];
|
||||
}
|
||||
|
||||
@@ -174,9 +196,10 @@ static NSCharacterSet *hexCharacterSet = nil;
|
||||
[calendar release];
|
||||
[event release];
|
||||
[timeZone release];
|
||||
[user release];
|
||||
[senderEmail release];
|
||||
[globalObjectId release];
|
||||
[cleanGlobalObjectId release];
|
||||
[user release];
|
||||
[alarm release];
|
||||
[method release];
|
||||
[super dealloc];
|
||||
|
||||
Reference in New Issue
Block a user