diff --git a/ChangeLog b/ChangeLog index 2b4ce4d1c..ac07e75b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-04-24 Wolfgang Sourdeau + * UI/Common/UIxAclEditor.m ([UIxAclEditor -_prepareUsers]): we + check if the uid is already listed before adding it to our array. + This is because the acl table can contain more than one record per + user/object relationship. + * SoObjects/SOGo/SOGoFolder.m ([SOGoFolder -setRoles:rolesforUser:uidforObjectAtPath:objectPathArray]): the "roles" parameter is now an NSArray instead of a string. Therefore diff --git a/UI/Common/UIxAclEditor.m b/UI/Common/UIxAclEditor.m index 73cd49bcf..8c0e9df99 100644 --- a/UI/Common/UIxAclEditor.m +++ b/UI/Common/UIxAclEditor.m @@ -98,8 +98,9 @@ while (currentAcl) { currentUID = [currentAcl objectForKey: @"c_uid"]; - if (![currentUID isEqualToString: ownerLogin]) - [users addObject: currentUID]; + if (!([currentUID isEqualToString: ownerLogin] + || [users containsObject: currentUID])) + [users addObject: currentUID]; currentAcl = [aclsEnum nextObject]; prepared = YES;