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 235489f4ec..33bd799ba9 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
@@ -10,6 +10,23 @@
+
+
+
+
+
+
+
+
+
+
@@ -54,27 +71,12 @@
-
-
-
-
-
-
-
-
-
+
@@ -253,5 +255,20 @@
+
+
+
+
+
+
+
+
\ 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 e70df7ade0..e95382a867 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
@@ -3,6 +3,7 @@ capability.group.records.title=Records
capability.DeclareRecords.title=Declare Records
capability.ViewRecords.title=View Records
capability.UndeclareRecords.title=Undeclare Records
+capability.CreateRecords.title=Create 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 e6f1383dce..9b48652471 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
@@ -13,102 +13,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -174,7 +78,9 @@
-
+
+
+
@@ -245,6 +151,12 @@
+
+
+
+
+
+
@@ -485,6 +397,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 20a64262aa..6ce7b8eb58 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
@@ -694,7 +694,7 @@
RECORD
-
+
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 65687c61d7..32d77a3f50 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
@@ -17,6 +17,7 @@
[
"DeclareRecords",
"ViewRecords",
+ "CreateRecords",
"CreateModifyDestroyFolders",
"EditRecordMetadata",
"EditNonRecordMetadata",
@@ -36,6 +37,7 @@
[
"DeclareRecords",
"ViewRecords",
+ "CreateRecords",
"CreateModifyDestroyFolders",
"EditRecordMetadata",
"EditNonRecordMetadata",
@@ -58,7 +60,8 @@
"capabilities" :
[
"DeclareRecords",
- "ViewRecords",
+ "ViewRecords",
+ "CreateRecords",
"CreateModifyDestroyFolders",
"EditRecordMetadata",
"EditNonRecordMetadata",
@@ -125,6 +128,7 @@
[
"DeclareRecords",
"ViewRecords",
+ "CreateRecords",
"CreateModifyDestroyFolders",
"EditRecordMetadata",
"EditNonRecordMetadata",
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java
index 317fd866cc..01a251f7ec 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/AbstractCapability.java
@@ -63,12 +63,6 @@ public abstract class AbstractCapability extends RMSecurityCommon
/** Indicates whether this is a private capability or not */
protected boolean isPrivate = false;
- /** List of actions */
-// protected List actions = new ArrayList(1);
-
- /** Action names */
-// protected List actionNames = new ArrayList(1);
-
/**
* @param voter RM entry voter
*/
@@ -128,6 +122,11 @@ public abstract class AbstractCapability extends RMSecurityCommon
if (StringUtils.isBlank(title))
{
title = I18NUtil.getMessage("capability." + getName() + ".title");
+ if (StringUtils.isBlank(title) == true)
+ {
+ title = getName();
+ }
+
}
return title;
}
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java
index 5dafa88c16..3b2c329dfa 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/capability/RMPermissionModel.java
@@ -39,18 +39,18 @@ public interface RMPermissionModel
// Roles
public static final String ROLE_NAME_USER = "User";
- public static final String ROLE_USER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_USER).toString();
+ //public static final String ROLE_USER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_USER).toString();
public static final String ROLE_NAME_POWER_USER = "PowerUser";
- public static final String ROLE_POWER_USER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_POWER_USER).toString();
+ // public static final String ROLE_POWER_USER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_POWER_USER).toString();
public static final String ROLE_NAME_SECURITY_OFFICER = "SecurityOfficer";
- public static final String ROLE_SECURITY_OFFICER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_SECURITY_OFFICER)
- .toString();
+ // public static final String ROLE_SECURITY_OFFICER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_SECURITY_OFFICER)
+ // .toString();
public static final String ROLE_NAME_RECORDS_MANAGER = "RecordsManager";
- public static final String ROLE_RECORDS_MANAGER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_RECORDS_MANAGER)
- .toString();
+ // public static final String ROLE_RECORDS_MANAGER = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_RECORDS_MANAGER)
+ // .toString();
public static final String ROLE_NAME_ADMINISTRATOR = "Administrator";
public static final String ROLE_ADMINISTRATOR = SimplePermissionReference.getPermissionReference(RecordsManagementModel.ASPECT_FILE_PLAN_COMPONENT, ROLE_NAME_ADMINISTRATOR).toString();
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/role/FilePlanRoleServiceImpl.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/role/FilePlanRoleServiceImpl.java
index 5f793a7566..0336be3606 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/role/FilePlanRoleServiceImpl.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/role/FilePlanRoleServiceImpl.java
@@ -591,6 +591,9 @@ public class FilePlanRoleServiceImpl implements FilePlanRoleService,
String allRoleGroup = authorityService.getName(AuthorityType.GROUP, getAllRolesGroupShortName(rmRootNode));
authorityService.addAuthority(allRoleGroup, roleGroup);
+ // TODO .. we should be creating a permission set containing all the capabilities and then assigning that
+ // single permission group to the file plan .. would be tidier
+
// Assign the various capabilities to the group on the root records management node
if (capabilities != null)
{
diff --git a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java
index 897c31a339..ff38a61ee1 100644
--- a/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java
+++ b/rm-server/test/java/org/alfresco/module/org_alfresco_module_rm/test/capabilities/CapabilitiesTest.java
@@ -87,201 +87,6 @@ public class CapabilitiesTest extends BaseRMTestCase implements
assertEquals(accessStatus, access.get(capability));
}
- /**
- * Check the RM permission model
- */
- public void testPermissionsModel()
- {
- retryingTransactionHelper.doInTransaction(
- new RetryingTransactionCallback