diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index acd7b61a2..7ea436021 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -348,18 +348,16 @@ if ([newEvent userIsOrganizer: ownerUser]) { - oldEvent = [self component: NO secure: NO]; - if (oldEvent) - [self _handleUpdatedEvent: newEvent fromOldEvent: oldEvent]; - else + if ([self isNew]) { + // New event -- send invitation to all attendees attendees = [newEvent attendeesWithoutUser: ownerUser]; if ([attendees count]) { [self _handleAddedUsers: attendees fromEvent: newEvent]; [self sendEMailUsingTemplateNamed: @"Invitation" forObject: [newEvent itipEntryWithMethod: @"request"] - previousObject: oldEvent + previousObject: nil toAttendees: attendees]; } @@ -367,6 +365,12 @@ [[newEvent uniqueChildWithTag: @"organizer"] setValue: 0 to: @""]; } + else + { + // Event is modified -- sent update status to all attendees + oldEvent = [self component: NO secure: NO]; + [self _handleUpdatedEvent: newEvent fromOldEvent: oldEvent]; + } } [super saveComponent: newEvent];