From 1fdede5a451f48f5681d4308e41464ed3844ed97 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Wed, 13 Aug 2008 22:30:55 +0000 Subject: [PATCH] Monotone-Parent: 75fcb06d679aeaa2164c930b62aab2d44c31ff16 Monotone-Revision: 563fcb93a27e1179ab8c69db8761cb2ff3033025 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2008-08-13T22:30:55 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 4 ++++ .../Appointments/SOGoAppointmentObject.m | 19 +++++++++---------- .../Appointments/iCalEventChanges+SOGo.m | 3 ++- SoObjects/Appointments/product.plist | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index de4830570..c2dec5f4a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2008-08-13 Wolfgang Sourdeau + * SoObjects/Appointments/iCalEventChanges+SOGo.m + ([iCalEventChanges -sequenceShouldBeIncreased]): added summary and + comment. + * SoObjects/SOGo/LDAPUserManager.m ([LDAPUserManager -contactInfosForUserWithUIDorEmail:uid]): only use the authentication sources. diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index 86e882f34..ea691fc36 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -337,11 +337,11 @@ { iCalEvent *oldEvent; NSArray *attendees; - SOGoUser *currentUser; + SOGoUser *ownerUser; [[newEvent parent] setMethod: @""]; - currentUser = [context activeUser]; - if ([newEvent userIsOrganizer: currentUser]) + ownerUser = [SOGoUser userWithLogin: owner roles: nil]; + if ([newEvent userIsOrganizer: ownerUser]) { oldEvent = [self component: NO secure: NO]; if (oldEvent) @@ -358,9 +358,7 @@ toAttendees: attendees]; } - if (![[newEvent attendees] count] - && [[self ownerInContext: context] - isEqualToString: [currentUser login]]) + if (![[newEvent attendees] count]) [[newEvent uniqueChildWithTag: @"organizer"] setValue: 0 to: @""]; } @@ -604,17 +602,18 @@ - (void) prepareDeleteOccurence: (iCalEvent *) occurence { iCalEvent *event; - SOGoUser *currentUser; + SOGoUser *ownerUser, *currentUser; NSArray *attendees; if ([[context request] handledByDefaultHandler]) { - currentUser = [context activeUser]; + ownerUser = [SOGoUser userWithLogin: owner roles: nil]; event = [self component: NO secure: NO]; if (!occurence) occurence = event; - if ([event userIsOrganizer: currentUser]) + if ([event userIsOrganizer: ownerUser]) { + currentUser = [context activeUser]; attendees = [occurence attendeesWithoutUser: currentUser]; if (![attendees count] && event != occurence) attendees = [event attendeesWithoutUser: currentUser]; @@ -627,7 +626,7 @@ toAttendees: attendees]; } } - else if ([occurence userIsParticipant: currentUser]) + else if ([occurence userIsParticipant: ownerUser]) [self changeParticipationStatus: @"DECLINED"]; } } diff --git a/SoObjects/Appointments/iCalEventChanges+SOGo.m b/SoObjects/Appointments/iCalEventChanges+SOGo.m index b1e25c605..7096c6ae0 100644 --- a/SoObjects/Appointments/iCalEventChanges+SOGo.m +++ b/SoObjects/Appointments/iCalEventChanges+SOGo.m @@ -33,7 +33,8 @@ NSString *properties[] = {@"organizer", @"startDate", @"endDate", /* vtask: @"due" */ @"rdate", @"rrule", @"exdate", @"exrule", - @"status", @"location", nil}; + @"status", @"summary", @"comment", @"location", + nil}; NSString **currentProperty; BOOL updateRequired; diff --git a/SoObjects/Appointments/product.plist b/SoObjects/Appointments/product.plist index 2ed6fc88f..4ea17991f 100644 --- a/SoObjects/Appointments/product.plist +++ b/SoObjects/Appointments/product.plist @@ -39,7 +39,7 @@ "ViewAllComponent" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer" ); "ViewDAndT" = ( "Organizer", "Participant", "ComponentDAndTViewer" ); "ModifyComponent" = ( "Owner", "ComponentModifier" ); - "RespondToComponent" = ( "Participant", "ComponentModifier", "ComponentResponder" ); + "RespondToComponent" = ( "Owner", "ComponentModifier", "ComponentResponder" ); "Access Object" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" ); "Change Images and Files" = ( "Owner", "Organizer", "ComponentModifier" ); "Access Contents Information" = ( "Owner", "Organizer", "Participant", "ComponentModifier", "ComponentResponder", "ComponentViewer", "ComponentDAndTViewer" );