diff --git a/ChangeLog b/ChangeLog index 413fc320f..2ca4d37de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-01-22 Wolfgang Sourdeau + + * SoObjects/Appointments/SOGoAppointmentFolder.m + ([SOGoAppointmentFolder + -fetchFields:_fieldsfromFolder:_folderfrom:_startDateto:_endDatetitle:titlecomponent:_component]): + change the algorithm a little bit to compare the roles of the + current users to see if he is an "owner" instead of solely + checking its login name. This enables the users listed as + "SuperUsers" to be considered as owners and see everything as + expected. + 2008-01-18 Wolfgang Sourdeau * SoObjects/Contacts/SOGoFolder+CardDAV.m ([SOGoFolder diff --git a/SoObjects/Appointments/SOGoAppointmentFolder.m b/SoObjects/Appointments/SOGoAppointmentFolder.m index da40ac840..190982a9d 100644 --- a/SoObjects/Appointments/SOGoAppointmentFolder.m +++ b/SoObjects/Appointments/SOGoAppointmentFolder.m @@ -752,21 +752,22 @@ static NSNumber *sharedYes = nil; - (NSString *) _privacySqlString { - NSString *privacySqlString, *login, *email; + NSString *privacySqlString, *email, *login; SOGoUser *activeUser; activeUser = [context activeUser]; - login = [activeUser login]; - if ([login isEqualToString: owner]) + if ([[activeUser rolesForObject: self inContext: context] + containsObject: SoRole_Owner]) privacySqlString = @""; - else if ([login isEqualToString: @"freebusy"]) + else if ([[activeUser login] isEqualToString: @"freebusy"]) privacySqlString = @"and (c_isopaque = 1)"; else { #warning we do not manage all the possible user emails email = [[activeUser primaryIdentity] objectForKey: @"email"]; - + login = [activeUser login]; + privacySqlString = [NSString stringWithFormat: @"(%@(c_orgmail = '%@')"