diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml index 2cb51697b7..3c774e5435 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-group-context.xml @@ -101,7 +101,7 @@ - + diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml index 953c6d2dbc..7c45f5ce8c 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-record-context.xml @@ -117,10 +117,10 @@ - - - + + @@ -128,7 +128,9 @@ - + + + - + @@ -265,6 +267,8 @@ + + + + @@ -160,6 +162,8 @@ + + @@ -421,6 +425,14 @@ + + + + + + + + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-action-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-action-context.xml index 5a003d13f7..f19f7d319e 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-action-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-action-context.xml @@ -807,10 +807,20 @@ - + + + + + + org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_CAP.0.rma:filePlanComponent.RejectRecords + org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.*=RM_ALLOW + org.alfresco.repo.action.executer.ActionExecuter.*=RM_ALLOW + + + @@ -822,10 +832,20 @@ - + + + + + + org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.execute=RM_CAP.0.rma:filePlanComponent.FileUnfiledRecords + org.alfresco.module.org_alfresco_module_rm.action.RecordsManagementAction.*=RM_ALLOW + org.alfresco.repo.action.executer.ActionExecuter.*=RM_ALLOW + + + diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml index 1882213abc..e7cf19c2dd 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/rm-ui-evaluators-context.xml @@ -308,7 +308,7 @@ RECORD - + - /api/rma/admin/rmroles?user={user?}&auths={auths?} - /api/rma/admin/{store_type}/{store_id}/{id}/rmroles?user={user?}&auths={auths?} - /api/rma/admin/{siteid}/rmroles?user={user?}&auths={auths?} + /api/rma/admin/rmroles?user={user?}&auths={auths?}&is={is?} + /api/rma/admin/{store_type}/{store_id}/{id}/rmroles?user={user?}&auths={auths?}&is={is?} + /api/rma/admin/{siteid}/rmroles?user={user?}&auths={auths?}&is={is?} argument user required diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java index abd78bbc19..9201380e42 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/RMv21CapabilityPatch.java @@ -122,7 +122,19 @@ public class RMv21CapabilityPatch extends ModulePatchComponent addCapability(filePlan, "FileDestructionReport", FilePlanRoleService.ROLE_ADMIN, - FilePlanRoleService.ROLE_RECORDS_MANAGER); + FilePlanRoleService.ROLE_RECORDS_MANAGER); + addCapability(filePlan, + "RejectRecords", + FilePlanRoleService.ROLE_ADMIN, + FilePlanRoleService.ROLE_POWER_USER, + FilePlanRoleService.ROLE_RECORDS_MANAGER, + FilePlanRoleService.ROLE_SECURITY_OFFICER); + addCapability(filePlan, + "FileUnfiledRecords", + FilePlanRoleService.ROLE_ADMIN, + FilePlanRoleService.ROLE_POWER_USER, + FilePlanRoleService.ROLE_RECORDS_MANAGER, + FilePlanRoleService.ROLE_SECURITY_OFFICER); } if (logger.isDebugEnabled() == true) diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/admin/RmRolesGet.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/admin/RmRolesGet.java index 1baeadc026..188260c52a 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/admin/RmRolesGet.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/script/admin/RmRolesGet.java @@ -57,16 +57,24 @@ public class RmRolesGet extends RoleDeclarativeWebScript { throw new WebScriptException(Status.STATUS_FOUND, "File plan does not exist."); } + + // get the includesystem parameter + boolean includeSystem = false; + String includeSystemValue = req.getParameter("is"); + if (includeSystemValue != null && includeSystemValue.length() != 0) + { + includeSystem = Boolean.parseBoolean(includeSystemValue); + } // get the user filter String user = req.getParameter("user"); if (user != null && user.length() != 0) { - roles = filePlanRoleService.getRolesByUser(filePlan, user, false); + roles = filePlanRoleService.getRolesByUser(filePlan, user, includeSystem); } else { - roles = filePlanRoleService.getRoles(filePlan, false); + roles = filePlanRoleService.getRoles(filePlan, includeSystem); } // get the auths parameter diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/action/FileToActionTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/action/FileToActionTest.java index 344d9b27bb..c30504fe63 100644 --- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/action/FileToActionTest.java +++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/action/FileToActionTest.java @@ -83,7 +83,7 @@ public class FileToActionTest extends BaseRMTestCase assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(unfiledContainer, RMPermissionModel.FILING)); assertEquals(AccessStatus.ALLOWED, permissionService.hasPermission(rmFolder, RMPermissionModel.FILING)); - Capability capability = capabilityService.getCapability("FileToRecords"); + Capability capability = capabilityService.getCapability("FileUnfiledRecords"); assertNotNull(capability); assertEquals(AccessStatus.ALLOWED, capability.hasPermission(dmDocument));