diff --git a/ChangeLog b/ChangeLog index 11999e6a8..c4bf5ef35 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-10-28 Ludovic Marcotte + + * UI/MailPartViewers/UIxMailPartICalActions.m + (_setupChosenEventAndEventObject:) - we now + correctly save the event contained in the mail + when clicking on Accept/Decline/Delegate into + the user's calendar if it's not in there already. + 2009-10-27 Ludovic Marcotte * SoObjects/SOGo/SOGoGCSFolder.m (create) diff --git a/SoObjects/Appointments/SOGoCalendarComponent.h b/SoObjects/Appointments/SOGoCalendarComponent.h index 7086cfdf2..df6b8d33b 100644 --- a/SoObjects/Appointments/SOGoCalendarComponent.h +++ b/SoObjects/Appointments/SOGoCalendarComponent.h @@ -55,9 +55,6 @@ - (BOOL) expandGroupsInEvent: (iCalEvent *) theEvent; -// - (NSException *) primarySaveContentString: (NSString *) _iCalString; -// - (NSException *) primaryDelete; - - (void) saveComponent: (iCalRepeatableEntityObject *) newObject; /* mail notifications */ @@ -76,8 +73,6 @@ forObject: (iCalRepeatableEntityObject *) object to: (NSArray *) recipients; -// - (BOOL) isOrganizerOrOwner: (SOGoUser *) user; - - (iCalPerson *) findParticipantWithUID: (NSString *) uid; - (iCalPerson *) iCalPersonWithUID: (NSString *) uid; diff --git a/UI/MailPartViewers/UIxMailPartICalActions.m b/UI/MailPartViewers/UIxMailPartICalActions.m index 1cd8a956e..fb9b9fa67 100644 --- a/UI/MailPartViewers/UIxMailPartICalActions.m +++ b/UI/MailPartViewers/UIxMailPartICalActions.m @@ -1,6 +1,6 @@ /* UIxMailPartICalActions.m - this file is part of SOGo * - * Copyright (C) 2007-2008 Inverse inc. + * Copyright (C) 2007-2009 Inverse inc. * * Author: Wolfgang Sourdeau * @@ -55,9 +55,9 @@ - (iCalEvent *) _emailEvent { - NSData *content; - NSString *eventString; iCalCalendar *emailCalendar; + NSString *eventString; + NSData *content; content = [[self clientObject] fetchBLOB]; eventString = [[NSString alloc] initWithData: content @@ -65,6 +65,7 @@ if (!eventString) eventString = [[NSString alloc] initWithData: content encoding: NSISOLatin1StringEncoding]; + emailCalendar = [iCalCalendar parseSingleFromSource: eventString]; [eventString release]; @@ -109,6 +110,7 @@ - (SOGoAppointmentObject *) _eventObjectWithUID: (NSString *) uid { +#warning this will not work if Bob reads emails of Alice and accepts events for her return [self _eventObjectWithUID: uid forUser: [context activeUser]]; } @@ -158,12 +160,15 @@ { *eventObject = [self _eventObjectWithUID: [emailEvent uid]]; if ([*eventObject isNew]) - chosenEvent = emailEvent; + { + chosenEvent = emailEvent; + [*eventObject saveContentString: [[emailEvent parent] versitString]]; + } else { if ([emailEvent recurrenceId]) { - // Event attached to email is not completed -- retrieve it + // Event attached to email is not complete -- retrieve it // from the database. NSString *recurrenceTime;