diff --git a/ChangeLog b/ChangeLog index 02697252e..d20b0a6d1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2007-06-01 Wolfgang Sourdeau + * UI/Contacts/UIxContactsUserRightsEditor.m + ([UIxContactsUserRightsEditor + -setUserCanReadObjects:userCanReadObjects]): new method. + * SoObjects/SOGo/SOGoPermissions.m: added roles "FolderViewer" and "FolderEraser" and special permission "Access Object". Removed role "SOGoMailRole_MessageEraser" since "SOGoRole_ObjectEraser" diff --git a/UI/Contacts/UIxContactsUserRightsEditor.m b/UI/Contacts/UIxContactsUserRightsEditor.m index a6d43ee01..65cb1d118 100644 --- a/UI/Contacts/UIxContactsUserRightsEditor.m +++ b/UI/Contacts/UIxContactsUserRightsEditor.m @@ -81,6 +81,19 @@ return [userRights containsObject: SOGoRole_ObjectViewer]; } +- (void) setUserCanReadObjects: (BOOL) userCanReadObjects +{ + if (userCanReadObjects) + [self appendRight: SOGoRole_ObjectReader]; + else + [self removeRight: SOGoRole_ObjectReader]; +} + +- (BOOL) userCanReadObjects +{ + return [userRights containsObject: SOGoRole_ObjectReader]; +} + - (void) updateRights { WORequest *request; @@ -102,6 +115,11 @@ else [self removeRight: SOGoRole_ObjectViewer]; + if ([[request formValueForKey: @"ObjectReader"] length] > 0) + [self appendRight: SOGoRole_ObjectReader]; + else + [self removeRight: SOGoRole_ObjectReader]; + if ([[request formValueForKey: @"ObjectEraser"] length] > 0) [self appendRight: SOGoRole_ObjectEraser]; else