diff --git a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java index 659b509aa9..cfbb51f0be 100644 --- a/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java +++ b/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/model/rma/type/RecordsManagementContainerType.java @@ -27,6 +27,7 @@ package org.alfresco.module.org_alfresco_module_rm.model.rma.type; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.model.ContentModel; import org.alfresco.module.org_alfresco_module_rm.identifier.IdentifierService; import org.alfresco.module.org_alfresco_module_rm.model.BaseBehaviourBean; @@ -147,6 +148,13 @@ public class RecordsManagementContainerType extends BaseBehaviourBean } else { + // Throw exception if the type is not cm:content + if (!ContentModel.TYPE_FOLDER.equals(childType) && + !dictionaryService.isSubClass(childType, ContentModel.TYPE_CONTENT)) + { + throw new AlfrescoRuntimeException("Record can't be created from this type."); + } + // We need to automatically cast the created folder to RM type if it is a plain folder // This occurs if the RM folder has been created via IMap, WebDav, etc if (!nodeService.hasAspect(child, ASPECT_FILE_PLAN_COMPONENT))