From e9f52670f959c1f21d18efb06123e287ebcbdf07 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 24 Apr 2007 22:46:52 +0000 Subject: [PATCH] Monotone-Parent: 0e9d9502166e884d7b3afd467ac697d197c45c44 Monotone-Revision: d3ba36ba8bfc76739a9e1820c3fe106f3e68d71a Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-04-24T22:46:52 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 5 +++++ UI/Common/UIxAclEditor.m | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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;