diff --git a/ChangeLog b/ChangeLog index b78109ce2..894b7f40c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-10-19 Ludovic Marcotte + + * SoObjects/Appointments/SOGoAppointmentObject.m + (saveComponent:) - in case of an update, we check + if no organizer was specified when handling + attendees addition to the event. + 2009-10-17 Ludovic Marcotte * UI/WebServerResources/UIxListEditor.js (endEditable): diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index 043264fb3..dbf11562f 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -546,6 +546,7 @@ } else { + BOOL hasOrganizer; // Event is modified -- sent update status to all attendees // and modify their calendars. recurrenceId = [newEvent recurrenceId]; @@ -562,12 +563,12 @@ oldEvent = (iCalEvent*)[self newOccurenceWithID: recurrenceTime]; } - oldMasterEvent - = (iCalEvent *) [[oldEvent parent] firstChildWithTag: [self componentTag]]; - if ([oldMasterEvent userIsOrganizer: ownerUser]) + oldMasterEvent = (iCalEvent *) [[oldEvent parent] firstChildWithTag: [self componentTag]]; + hasOrganizer = [[[oldMasterEvent organizer] email] length]; + + if (!hasOrganizer || [oldMasterEvent userIsOrganizer: ownerUser]) { // The owner is the organizer of the event; handle the modifications - [self _handleUpdatedEvent: newEvent fromOldEvent: oldEvent]; // The sequence has possibly been increased -- resave the event.