permissions dialog: add edit button to selected user group
This commit is contained in:
@@ -20,7 +20,9 @@
|
||||
mediaStartNode: "=?",
|
||||
permissions: "=?",
|
||||
allowRemove: "=?",
|
||||
onRemove: "&?"
|
||||
allowEdit: "=?",
|
||||
onRemove: "&?",
|
||||
onEdit: "&?"
|
||||
},
|
||||
link: link
|
||||
};
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
</div>
|
||||
|
||||
<div class="umb-user-group-preview__actions">
|
||||
<a class="umb-user-group-preview__action" title="Edit" href="" ng-if="allowRemove" ng-click="onEdit()">Edit</i></a>
|
||||
<a class="umb-user-group-preview__action umb-user-group-preview__action--red" title="Remove" href="" ng-if="allowRemove" ng-click="onRemove()">Remove</i></a>
|
||||
<div>
|
||||
|
||||
|
||||
@@ -22,6 +22,103 @@
|
||||
usersResource.getUserGroups().then(function (userGroups) {
|
||||
vm.availableUserGroups = userGroups;
|
||||
vm.loading = false;
|
||||
|
||||
// fake permissions
|
||||
angular.forEach(vm.availableUserGroups, function(userGroup){
|
||||
userGroup.permissions = [
|
||||
{
|
||||
"groupName": "Content",
|
||||
"permissions": [
|
||||
{
|
||||
"name": "Edit content (save)",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"name": "Browse content",
|
||||
"description": "Nullam egestas porta mi, quis finibus nisl commodo a",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Publish",
|
||||
"description": "Aliquam molestie consequat felis",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Send to publish",
|
||||
"description": "Sed pharetra sodales enim quis molestie",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Delete",
|
||||
"description": "Vitae porta mauris turpis sit amet ligula",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Create",
|
||||
"description": "Vestibulum pretium sapien id turpis elementum viverra",
|
||||
"checked": true
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"groupName": "Structure",
|
||||
"permissions": [
|
||||
{
|
||||
"name": "Move",
|
||||
"description": "Vestibulum pretium sapien id turpis elementum viverra",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Copy",
|
||||
"description": "Phasellus sagittis, dolor vel accumsan porttitor",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"name": "Sort",
|
||||
"description": "Aliquam erat volutpat",
|
||||
"checked": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"groupName": "Administration",
|
||||
"permissions": [
|
||||
{
|
||||
"name": "Culture and Hostnames",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Audit Trail",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Translate",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Change document type",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Public access",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Rollback",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -36,121 +133,28 @@
|
||||
function editPermissions(group) {
|
||||
vm.selectedUserGroup = group;
|
||||
setViewSate("managePermissions");
|
||||
|
||||
// fake permissions
|
||||
vm.selectedUserGroup.permissions = [
|
||||
{
|
||||
"groupName": "Content",
|
||||
"permissions": [
|
||||
{
|
||||
"name": "Edit content (save)",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"name": "Browse content",
|
||||
"description": "Nullam egestas porta mi, quis finibus nisl commodo a",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Publish",
|
||||
"description": "Aliquam molestie consequat felis",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Send to publish",
|
||||
"description": "Sed pharetra sodales enim quis molestie",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Delete",
|
||||
"description": "Vitae porta mauris turpis sit amet ligula",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Create",
|
||||
"description": "Vestibulum pretium sapien id turpis elementum viverra",
|
||||
"checked": true
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
"groupName": "Structure",
|
||||
"permissions": [
|
||||
{
|
||||
"name": "Move",
|
||||
"description": "Vestibulum pretium sapien id turpis elementum viverra",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Copy",
|
||||
"description": "Phasellus sagittis, dolor vel accumsan porttitor",
|
||||
"checked": false
|
||||
},
|
||||
{
|
||||
"name": "Sort",
|
||||
"description": "Aliquam erat volutpat",
|
||||
"checked": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"groupName": "Administration",
|
||||
"permissions": [
|
||||
{
|
||||
"name": "Culture and Hostnames",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Audit Trail",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Translate",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Change document type",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Public access",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
},
|
||||
{
|
||||
"name": "Rollback",
|
||||
"description": "Lorem ipsum dolor sit amet",
|
||||
"checked": true
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
function setPermissions(group) {
|
||||
// clear allowed permissions before we make the list
|
||||
// so we don't have deplicates
|
||||
group.allowedPermissions = [];
|
||||
|
||||
// get list of checked permissions
|
||||
angular.forEach(group.permissions, function(permissionGroup) {
|
||||
angular.forEach(permissionGroup.permissions, function(permission) {
|
||||
if(permission.checked) {
|
||||
if(!group.allowedPermissions) {
|
||||
group.allowedPermissions = [];
|
||||
}
|
||||
group.allowedPermissions.push(permission);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// set to selected so we can remove from the dropdown easily
|
||||
group.selected = true;
|
||||
|
||||
vm.selectedUserGroups.push(group);
|
||||
|
||||
if(!group.selected) {
|
||||
// set to selected so we can remove from the dropdown easily
|
||||
group.selected = true;
|
||||
vm.selectedUserGroups.push(group);
|
||||
}
|
||||
|
||||
setViewSate("manageGroups");
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,9 @@
|
||||
name="group.name"
|
||||
permissions="group.allowedPermissions"
|
||||
allow-remove="true"
|
||||
on-remove="vm.removePermissions($index, vm.selectedUserGroups)">
|
||||
allow-edit="true"
|
||||
on-remove="vm.removePermissions($index, vm.selectedUserGroups)"
|
||||
on-edit="vm.editPermissions(group)">
|
||||
</umb-user-group-preview>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user