diff --git a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml
index 5a4e3964eb..bbd0ea6863 100644
--- a/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml
+++ b/rm-server/config/alfresco/module/org_alfresco_module_rm/capability/rm-capabilities-recordfolder-context.xml
@@ -33,6 +33,7 @@
RECORD_CATEGORY
RECORD_FOLDER
UNFILED_RECORD_CONTAINER
+ UNFILED_RECORD_CONTAINER_CHILD
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 21c6b126e4..cfac18e9db 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
@@ -95,7 +95,12 @@
Unfiled Record Container
rma:recordsManagementContainer
-
+
+
+ Unfiled Record Container Child
+ rma:recordsManagementContainer
+
+
Hold Container
rma:recordsManagementContainer
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 9f59ba76d3..657ef77e6f 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
@@ -217,6 +217,7 @@
RECORD_CATEGORY
RECORD_FOLDER
RECORD
+ UNFILED_RECORD_CONTAINER_CHILD
@@ -331,6 +332,7 @@
RECORD_CATEGORY
RECORD_FOLDER
RECORD
+ UNFILED_RECORD_CONTAINER_CHILD
@@ -345,6 +347,7 @@
RECORD_CATEGORY
RECORD_FOLDER
UNFILED_RECORD_CONTAINER
+ UNFILED_RECORD_CONTAINER_CHILD
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 76629e21ad..2edfad0d4b 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
@@ -36,5 +36,6 @@ public enum FilePlanComponentKind
TRANSFER,
HOLD,
DISPOSITION_SCHEDULE,
- UNFILED_RECORD_CONTAINER;
+ 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 0c39199086..134afccbea 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
@@ -230,6 +230,10 @@ public class FilePlanServiceImpl extends ServiceBaseImpl
{
result = FilePlanComponentKind.UNFILED_RECORD_CONTAINER;
}
+ else if (instanceOf(nodeRef, TYPE_UNFILED_RECORD_CONTAINER_CHILD) == true)
+ {
+ result = FilePlanComponentKind.UNFILED_RECORD_CONTAINER_CHILD;
+ }
}
return result;
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 c58f983423..9c0a295373 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
@@ -27,7 +27,6 @@ import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanComponentKind
import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
import org.alfresco.service.cmr.model.FileInfo;
-import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.security.AccessStatus;
import org.alfresco.service.namespace.QName;
@@ -156,9 +155,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JSONC
rmNodeValues.put("type", useShortQName ? type.toPrefixString(namespaceService) : type.toString());
}
- // Find out if it is an unfiled record container child
- rmNodeValues.put("isUnfileRecordContainerChild", isUnfileRecordContainerChild(nodeRef));
-
// Set the indicators array
setIndicators(rmNodeValues, nodeRef);
@@ -168,25 +164,6 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JSONC
return rmNodeValues;
}
- private boolean isUnfileRecordContainerChild(NodeRef nodeRef)
- {
- boolean isUnfileRecordContainerChild = false;
-
- List parentAssocs = nodeService.getParentAssocs(nodeRef);
- if (parentAssocs.size() == 1)
- {
- NodeRef parentNodeRef = parentAssocs.iterator().next().getParentRef();
- FilePlanComponentKind filePlanComponentKind = filePlanService.getFilePlanComponentKind(parentNodeRef);
-
- if (filePlanComponentKind != null && filePlanComponentKind.equals(FilePlanComponentKind.RECORD_CATEGORY) == false)
- {
- isUnfileRecordContainerChild = true;
- }
- }
-
- return isUnfileRecordContainerChild;
- }
-
@SuppressWarnings("unchecked")
private void setIndicators(JSONObject rmNodeValues, NodeRef nodeRef)
{
@@ -288,6 +265,11 @@ public class JSONConversionComponent extends org.alfresco.repo.jscript.app.JSONC
result = "transfer-container";
break;
}
+ case UNFILED_RECORD_CONTAINER_CHILD:
+ {
+ result = "unfiled-record-container-child";
+ break;
+ }
default:
{
break;
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 44e39bea27..2f161b12a3 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
@@ -59,7 +59,10 @@ public interface RecordsManagementModel extends RecordsManagementCustomModel
// Unfiled record container
public static final QName TYPE_UNFILED_RECORD_CONTAINER = QName.createQName(RM_URI, "unfiledRecordContainer");
-
+
+ // Unfiled record container child
+ public static final QName TYPE_UNFILED_RECORD_CONTAINER_CHILD = QName.createQName(RM_URI, "unfiledRecordContainerChild");
+
// Hold container
public static final QName TYPE_HOLD_CONTAINER = QName.createQName(RM_URI, "holdContainer");
diff --git a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java
index 49e4a4699d..4971eae6b7 100644
--- a/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java
+++ b/rm-server/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java
@@ -119,8 +119,8 @@ public class RecordsManagementContainerType extends BaseBehaviourBean
NodeRef parentRef = childAssocRef.getParentRef();
QName parentType = nodeService.getType(parentRef);
boolean isContentSubType = dictionaryService.isSubClass(childType, ContentModel.TYPE_CONTENT);
- boolean isUnfiledRecordContainerSubType = dictionaryService.isSubClass(parentType, RecordsManagementModel.TYPE_UNFILED_RECORD_CONTAINER);
- if (isContentSubType == true && isUnfiledRecordContainerSubType == true)
+ boolean isUnfiledRecordContainerChild = parentType.equals(RecordsManagementModel.TYPE_UNFILED_RECORD_CONTAINER_CHILD);
+ if (isContentSubType == true && isUnfiledRecordContainerChild == true)
{
if (nodeService.hasAspect(child, ASPECT_FILE_PLAN_COMPONENT) == false)
{