Fix options availability in Contacts module
A user can edit/delete a card from a system addressbook if included in the "modifiers". Enable the delete/move options of the contextual menu in this case. Fixes #3342
This commit is contained in:
parent
b910501afa
commit
861057f22f
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
><span><var:string value="currentContactFolderName"/></span></li
|
||||
></var:foreach
|
||||
>
|
||||
|
|
Loading…
Reference in a new issue