diff --git a/ChangeLog b/ChangeLog index b74ff0799..f4d2d5a0c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2009-06-17 Wolfgang Sourdeau + * SoObjects/SOGo/SOGoUser.m (-rolesForObject:inContext:): do not + query the acls for the object if the current user is its owner. + * SoObjects/SOGo/SOGoParentFolder.m (-initSubFoldersMatching:): renamed from "initSubFolders". Take a string argument that, if specified, will stop the search of folders when the name can be diff --git a/SoObjects/SOGo/SOGoUser.m b/SoObjects/SOGo/SOGoUser.m index 3a5587ed1..2a2646cf9 100644 --- a/SoObjects/SOGo/SOGoUser.m +++ b/SoObjects/SOGo/SOGoUser.m @@ -972,7 +972,7 @@ _timeValue (NSString *key) if ((superUsernames && [superUsernames containsObject: login]) || [[object ownerInContext: context] isEqualToString: login]) [rolesForObject addObject: SoRole_Owner]; - if ([object isKindOfClass: [SOGoObject class]]) + else if ([object isKindOfClass: [SOGoObject class]]) { sogoRoles = [(SOGoObject *) object aclsForUser: login]; if ([sogoRoles count])