From 3046dc949039a847a41f838d887afc63a72c2b78 Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 2 Mar 2018 10:01:17 +0000 Subject: [PATCH] CCM NG: Improvments for permissions management including an authoring step for managing the permissions for a single item git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5322 8810af33-2d31-482b-a856-94f89814c4df --- .../ui/permissions/CMSPermissionsPane.java | 36 ++- .../permissions/CMSPermissionsTableModel.java | 35 +- .../ui/permissions/ItemPermissionsStep.java | 303 +++++++++--------- .../contentsection/ContentSectionConfig.java | 2 +- .../com/arsdigita/ui/admin/AdminServlet.java | 8 +- .../arsdigita/ui/admin/WorkflowAdminTab.java | 38 --- .../usersgroupsroles/groups/GroupsTable.java | 4 +- 7 files changed, 215 insertions(+), 211 deletions(-) delete mode 100644 ccm-core/src/main/java/com/arsdigita/ui/admin/WorkflowAdminTab.java diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/permissions/CMSPermissionsPane.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/permissions/CMSPermissionsPane.java index f239d797c..b140a2a6d 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/permissions/CMSPermissionsPane.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/permissions/CMSPermissionsPane.java @@ -143,6 +143,26 @@ public class CMSPermissionsPane extends SimpleContainer implements Resettable, this.selectionModel = selectionModel; this.privilegeNameMap = privilegeNameMap; } + + public CMSPermissionsPane( + final Class privilegesClass, + final CcmObjectSelectionModel selectionModel) { + + final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); + final PermissionManager permissionManager = cdiUtil.findBean( + PermissionManager.class); + final List privilegesFromClass = permissionManager + .listDefiniedPrivileges(privilegesClass); + + final Map nameMap = new HashMap<>(); + for(final String privilege: privilegesFromClass) { + nameMap.put(privilege, privilege); + } + + this.privileges = privilegesFromClass.toArray(new String[]{}); + this.selectionModel = selectionModel; + this.privilegeNameMap = nameMap; + } /** * Overwrite this method to construct your default Permissions Pane with the @@ -253,9 +273,10 @@ public class CMSPermissionsPane extends SimpleContainer implements Resettable, final CdiUtil cdiUtil = CdiUtil.createCdiUtil(); final PermissionManager permissionManager = cdiUtil.findBean( PermissionManager.class); - final List privileges = permissionManager - .listDefiniedPrivileges(ItemPrivileges.class); - final List