mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Added check to allow creating only records inside a record folder.
This commit is contained in:
committed by
Roy Wetherall
parent
425e1d8d4c
commit
649cb7fc3f
@@ -31,6 +31,7 @@ import java.io.Serializable;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.alfresco.error.AlfrescoRuntimeException;
|
import org.alfresco.error.AlfrescoRuntimeException;
|
||||||
|
import org.alfresco.model.ContentModel;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.model.behaviour.AbstractDisposableItem;
|
import org.alfresco.module.org_alfresco_module_rm.model.behaviour.AbstractDisposableItem;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
import org.alfresco.module.org_alfresco_module_rm.record.RecordService;
|
||||||
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
import org.alfresco.module.org_alfresco_module_rm.recordfolder.RecordFolderService;
|
||||||
@@ -211,12 +212,18 @@ public class RecordFolderType extends AbstractDisposableItem
|
|||||||
public void onCreateChildAssociation(ChildAssociationRef childAssocRef, boolean bNew)
|
public void onCreateChildAssociation(ChildAssociationRef childAssocRef, boolean bNew)
|
||||||
{
|
{
|
||||||
NodeRef nodeRef = childAssocRef.getChildRef();
|
NodeRef nodeRef = childAssocRef.getChildRef();
|
||||||
if (nodeService.exists(nodeRef) && instanceOf(nodeRef, TYPE_RECORD_FOLDER))
|
|
||||||
|
if (nodeService.exists(nodeRef))
|
||||||
{
|
{
|
||||||
|
// only records can be added in a record folder
|
||||||
|
if (!instanceOf(nodeRef, ContentModel.TYPE_CONTENT))
|
||||||
|
{
|
||||||
|
throw new AlfrescoRuntimeException("Operation failed, because you can only place content into a record folder.");
|
||||||
|
}
|
||||||
// ensure nothing is being added to a closed record folder
|
// ensure nothing is being added to a closed record folder
|
||||||
NodeRef recordFolder = childAssocRef.getParentRef();
|
NodeRef recordFolder = childAssocRef.getParentRef();
|
||||||
Boolean isClosed = (Boolean) nodeService.getProperty(recordFolder, PROP_IS_CLOSED);
|
Boolean isClosed = (Boolean) nodeService.getProperty(recordFolder, PROP_IS_CLOSED);
|
||||||
if (isClosed != null && Boolean.TRUE.equals(isClosed))
|
if (isClosed != null && isClosed)
|
||||||
{
|
{
|
||||||
throw new AlfrescoRuntimeException("You can't add new items to a closed record folder.");
|
throw new AlfrescoRuntimeException("You can't add new items to a closed record folder.");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user