diff --git a/UI/Contacts/UIxContactFoldersView.m b/UI/Contacts/UIxContactFoldersView.m index aaf35d6c2..5b0c80d64 100644 --- a/UI/Contacts/UIxContactFoldersView.m +++ b/UI/Contacts/UIxContactFoldersView.m @@ -251,6 +251,24 @@ Class SOGoContactSourceFolderK, SOGoGCSFolderK; ? @"available": @"unavailable"); } +- (NSDictionary *) currentContactFolderCardRights +{ + NSArray *roles; + NSString *userLogin, *owner; + BOOL objectEditor, objectEraser; + + userLogin = [[context activeUser] login]; + owner = [currentFolder ownerInContext: context]; + roles = [currentFolder aclsForUser: userLogin]; + objectEditor = ([owner isEqualToString: userLogin] || [roles containsObject: SOGoRole_ObjectEditor]); + objectEraser = ([owner isEqualToString: userLogin] || [roles containsObject: SOGoRole_ObjectEraser]); + + return [NSDictionary dictionaryWithObjectsAndKeys: + (objectEditor? @"available": @"unavailable"), @"editing", + (objectEraser? @"available": @"unavailable"), @"deleting", + nil]; +} + - (NSString *) verticalDragHandleStyle { NSString *vertical; diff --git a/UI/Templates/ContactsUI/UIxContactFoldersView.wox b/UI/Templates/ContactsUI/UIxContactFoldersView.wox index 323badb7d..44983ff1d 100644 --- a/UI/Templates/ContactsUI/UIxContactFoldersView.wox +++ b/UI/Templates/ContactsUI/UIxContactFoldersView.wox @@ -110,6 +110,8 @@ var:class="currentContactFolderClass" var:acl-editing="currentContactFolderAclEditing" var:list-editing="currentContactFolderListEditing" + var:card-editing="currentContactFolderCardRights.editing" + var:card-deleting="currentContactFolderCardRights.deleting" >