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 032486de79..9b9f1d3725 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
@@ -107,14 +107,17 @@
-
+
-
-
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -242,13 +259,14 @@
-
+
+
-
+
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 516802817e..38f3346254 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
@@ -5,8 +5,9 @@ capability.ViewRecords.title=View Records
capability.UndeclareRecords.title=Reopen Records
capability.CreateRecords.title=Create Records
capability.RequestRecordInformation.title=Request Record Information
-capability.RejectRecords=Reject Records
-capability.FileUnfiledRecords=File Unfiled Records
+capability.RejectRecords.title=Reject Records
+capability.FileUnfiledRecords.title=File Unfiled Records
+capability.LinkToRecords.title=Link Records
# Metadata Control
capability.group.metadataControl.title=Metadata Control
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 4a6c1d9625..1f8807b4ce 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
@@ -86,6 +86,7 @@
+
@@ -164,6 +165,7 @@
+
@@ -433,6 +435,10 @@
+
+
+
+
\ No newline at end of file
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 3ee7b4a81b..1b35b40b58 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
@@ -48,7 +48,8 @@
"PlanningReviewCycles",
"RequestRecordInformation",
"FileUnfiledRecords",
- "RejectRecords"
+ "RejectRecords",
+ "LinkToRecords"
]
},
{
@@ -71,7 +72,8 @@
"PlanningReviewCycles",
"RequestRecordInformation",
"FileUnfiledRecords",
- "RejectRecords"
+ "RejectRecords",
+ "LinkToRecords"
]
},
{
@@ -134,7 +136,8 @@
"RequestRecordInformation",
"FileDestructionReport",
"FileUnfiledRecords",
- "RejectRecords"
+ "RejectRecords",
+ "LinkToRecords"
]
},
{
@@ -199,7 +202,8 @@
"RequestRecordInformation",
"FileDestructionReport",
"FileUnfiledRecords",
- "RejectRecords"
+ "RejectRecords",
+ "LinkToRecords"
]
}
]
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/behaviour/RecordCopyBehaviours.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/behaviour/RecordCopyBehaviours.java
index e5225e5011..359871e21d 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/behaviour/RecordCopyBehaviours.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/behaviour/RecordCopyBehaviours.java
@@ -370,12 +370,20 @@ public class RecordCopyBehaviours implements RecordsManagementModel
final NodeService nodeService = rmServiceRegistry.getNodeService();
//Generate the id for the copy
- String id = rmIdentifierService.generateIdentifier(nodeService.getType(nodeService.getPrimaryParent(targetNodeRef).getParentRef()), (nodeService.getPrimaryParent(targetNodeRef).getParentRef()));
+ String id = rmIdentifierService.generateIdentifier(
+ nodeService.getType(nodeService.getPrimaryParent(targetNodeRef).getParentRef()),
+ (nodeService.getPrimaryParent(targetNodeRef).getParentRef()));
//We need to allow the id to be overwritten disable the policy protecting changes to the id
- behaviourFilter.disableBehaviour(targetNodeRef, ASPECT_RECORD_COMPONENT_ID);
- nodeService.setProperty(targetNodeRef, PROP_IDENTIFIER, id);
- behaviourFilter.enableBehaviour(targetNodeRef, ASPECT_RECORD_COMPONENT_ID);
+ behaviourFilter.disableBehaviour();
+ try
+ {
+ nodeService.setProperty(targetNodeRef, PROP_IDENTIFIER, id);
+ }
+ finally
+ {
+ behaviourFilter.enableBehaviour();
+ }
}
/**
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 b6623e798d..100a458ffe 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
@@ -129,8 +129,14 @@ public class RMv21CapabilityPatch extends ModulePatchComponent
FilePlanRoleService.ROLE_ADMIN,
FilePlanRoleService.ROLE_POWER_USER,
FilePlanRoleService.ROLE_RECORDS_MANAGER,
- FilePlanRoleService.ROLE_SECURITY_OFFICER);
- }
+ FilePlanRoleService.ROLE_SECURITY_OFFICER);
+ addCapability(filePlan,
+ "LinkToRecords",
+ FilePlanRoleService.ROLE_ADMIN,
+ FilePlanRoleService.ROLE_POWER_USER,
+ FilePlanRoleService.ROLE_RECORDS_MANAGER,
+ FilePlanRoleService.ROLE_SECURITY_OFFICER);
+}
}
/**