diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml index c1e03ffe59..68d40cedff 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-freeze-context.xml @@ -53,4 +53,23 @@ + + + + + + HOLD + HOLD_CONTAINER_CHILD + + + + + + + + + + + \ No newline at end of file diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/capability-service.properties b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/capability-service.properties index 0900e8a80a..e56b72bcee 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/capability-service.properties +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/messages/capability-service.properties @@ -62,6 +62,7 @@ capability.group.holdControls.title=Hold Controls capability.ExtendRetentionPeriodOrFreeze.title=Extend Retention Period or Freeze capability.Unfreeze.title=Unfreeze capability.ViewUpdateReasonsForFreeze.title=View Update Reasons for Freeze +capability.CreateHold.title=Create Hold # Audit capability.group.audit.title=Audit diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml index 951abbd776..e87e5d81d2 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsModel.xml @@ -102,13 +102,18 @@ - Hold Container + Hold Container rma:recordsManagementContainer rma:countable - + + + Hold Container Child + rma:recordsManagementContainer + + Transfer Container rma:recordsManagementContainer @@ -738,7 +743,7 @@ Original Name d:text true - + @@ -751,7 +756,7 @@ - + @@ -1139,7 +1144,7 @@ - + Countable aspect diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsPermissionModel.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsPermissionModel.xml index d8837a25e7..92345a652e 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsPermissionModel.xml +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/model/recordsPermissionModel.xml @@ -89,6 +89,7 @@ + @@ -171,6 +172,7 @@ + @@ -448,6 +450,12 @@ + + + + + + \ No newline at end of file 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 657ef77e6f..ded4df5ea0 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 @@ -782,4 +782,15 @@ + + + + + HOLD + HOLD_CONTAINER_CHILD + + + + diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-default-roles-bootstrap.json b/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-default-roles-bootstrap.json index 63bdbfce25..276df24eec 100644 --- a/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-default-roles-bootstrap.json +++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/security/rm-default-roles-bootstrap.json @@ -138,7 +138,8 @@ "FileUnfiledRecords", "RejectRecords", "LinkToRecords", - "FileTransferReport" + "FileTransferReport", + "CreateHold" ] }, { @@ -205,8 +206,8 @@ "FileUnfiledRecords", "RejectRecords", "LinkToRecords", - "FileTransferReport" + "FileTransferReport", + "CreateHold" ] } -] - +] \ No newline at end of file diff --git a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/rm-filters.lib.js b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/rm-filters.lib.js index e43b5a60bc..20815fa64f 100644 --- a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/rm-filters.lib.js +++ b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary-v2/rm-filters.lib.js @@ -153,6 +153,7 @@ Filters.getFilterParams = function RecordsManagementFilter_getFilterParams(filte case "transfers": case "holds": + filterParams.variablePath = false; if (filterData == null) { filterParams.query = ""; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanComponentKind.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanComponentKind.java index 2edfad0d4b..acdf9a3136 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanComponentKind.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanComponentKind.java @@ -23,18 +23,19 @@ package org.alfresco.module.org_alfresco_module_rm.fileplan; *
* Helpful when trying to determine the characteristics of a kind * of file plan component. - * + * * @author Roy Wetherall */ public enum FilePlanComponentKind { - FILE_PLAN_COMPONENT, - FILE_PLAN, - RECORD_CATEGORY, - RECORD_FOLDER, - RECORD, - TRANSFER, - HOLD, + FILE_PLAN_COMPONENT, + FILE_PLAN, + RECORD_CATEGORY, + RECORD_FOLDER, + RECORD, + TRANSFER, + HOLD, + HOLD_CONTAINER_CHILD, DISPOSITION_SCHEDULE, UNFILED_RECORD_CONTAINER, UNFILED_RECORD_CONTAINER_CHILD; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java index f2a6a68e25..6d3b16d27b 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/fileplan/FilePlanServiceImpl.java @@ -218,6 +218,10 @@ public class FilePlanServiceImpl extends ServiceBaseImpl { result = FilePlanComponentKind.HOLD; } + else if (instanceOf(nodeRef, TYPE_HOLD_CONTAINER_CHILD)) + { + result = FilePlanComponentKind.HOLD_CONTAINER_CHILD; + } else if (getTransferService().isTransfer(nodeRef) == true) { result = FilePlanComponentKind.TRANSFER; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java index 9c0a295373..94ab8458c9 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/jscript/app/JSONConversionComponent.java @@ -260,6 +260,11 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JSONC result = "hold-container"; break; } + case HOLD_CONTAINER_CHILD: + { + result = "hold-container-child"; + break; + } case TRANSFER: { result = "transfer-container"; diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java index 2f161b12a3..296ee54637 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/RecordsManagementModel.java @@ -65,7 +65,8 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel // Hold container public static final QName TYPE_HOLD_CONTAINER = QName.createQName(RM_URI, "holdContainer"); - + public static final QName TYPE_HOLD_CONTAINER_CHILD = QName.createQName(RM_URI, "holdContainerChild"); + // Transfer container public static final QName TYPE_TRANSFER_CONTAINER = QName.createQName(RM_URI, "transferContainer"); @@ -255,9 +256,9 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel public static final QName PROP_RECORD_REJECTION_USER_ID = QName.createQName(RM_URI, "recordRejectionUserId"); public static final QName PROP_RECORD_REJECTION_DATE = QName.createQName(RM_URI, "recordRejectionDate"); public static final QName PROP_RECORD_REJECTION_REASON = QName.createQName(RM_URI, "recordRejectionReason"); - + // Countable aspect public static final QName ASPECT_COUNTABLE = QName.createQName(RM_URI, "countable"); public static final QName PROP_COUNT = QName.createQName(RM_URI, "count"); - + } diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java index 73199bcb9d..00f47a7865 100644 --- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java +++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/patch/v22/RMv22CapabilityPatch.java @@ -37,7 +37,7 @@ import org.alfresco.service.cmr.repository.NodeRef; */ public class RMv22CapabilityPatch extends AbstractModulePatch { - + /** File plan service */ private FilePlanService filePlanService; @@ -119,7 +119,7 @@ public class RMv22CapabilityPatch extends AbstractModulePatch } } } - + /** * @see org.alfresco.module.org_alfresco_module_rm.patch.AbstractModulePatch#applyInternal() */ @@ -145,6 +145,10 @@ public class RMv22CapabilityPatch extends AbstractModulePatch "FileDestructionReport", FilePlanRoleService.ROLE_ADMIN, FilePlanRoleService.ROLE_RECORDS_MANAGER); + addCapability(filePlan, + "CreateHold", + FilePlanRoleService.ROLE_ADMIN, + FilePlanRoleService.ROLE_RECORDS_MANAGER); } } }