mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
Merge RM-3286
This commit is contained in:
@@ -36,4 +36,5 @@ rm.action.records_only_undeclared=Only records can be completed.
|
|||||||
rm.action.event-not-undone=The event {0} can't be undone, because it's not defined on the disposition lifecycle.
|
rm.action.event-not-undone=The event {0} can't be undone, because it's not defined on the disposition lifecycle.
|
||||||
rm.action.node-not-record-category=The disposition schedule could not be created, because the actioned upon node ({0}) was not a record category.
|
rm.action.node-not-record-category=The disposition schedule could not be created, because the actioned upon node ({0}) was not a record category.
|
||||||
rm.action.parameter-not-supplied=The parameter ''{0}'' has not been supplied.
|
rm.action.parameter-not-supplied=The parameter ''{0}'' has not been supplied.
|
||||||
rm.action.delete-not-hold-type=The hold couldn't be deleted, because the node isn't of type {0}. (actionedUponNodeRef={1})
|
rm.action.delete-not-hold-type=The hold couldn't be deleted, because the node isn't of type {0}. (actionedUponNodeRef={1})
|
||||||
|
rm.action.record-folder-create=Operation failed, because you can't place a record folder into another record folder.
|
||||||
|
@@ -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;
|
||||||
@@ -49,6 +50,7 @@ import org.alfresco.service.cmr.repository.ChildAssociationRef;
|
|||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.alfresco.service.namespace.QName;
|
import org.alfresco.service.namespace.QName;
|
||||||
import org.apache.commons.lang.ArrayUtils;
|
import org.apache.commons.lang.ArrayUtils;
|
||||||
|
import org.springframework.extensions.surf.util.I18NUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* rma:recordFolder behaviour bean
|
* rma:recordFolder behaviour bean
|
||||||
@@ -73,6 +75,9 @@ public class RecordFolderType extends AbstractDisposableItem
|
|||||||
/** vital record service */
|
/** vital record service */
|
||||||
protected VitalRecordService vitalRecordService;
|
protected VitalRecordService vitalRecordService;
|
||||||
|
|
||||||
|
/** I18N */
|
||||||
|
private static final String MSG_CANNOT_CREATE_RECORD_FOLDER = "rm.action.record-folder-create";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param recordService record service
|
* @param recordService record service
|
||||||
*/
|
*/
|
||||||
@@ -211,12 +216,13 @@ 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))
|
||||||
{
|
{
|
||||||
// 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.");
|
||||||
}
|
}
|
||||||
@@ -238,6 +244,12 @@ public class RecordFolderType extends AbstractDisposableItem
|
|||||||
{
|
{
|
||||||
final NodeRef recordFolder = childAssocRef.getChildRef();
|
final NodeRef recordFolder = childAssocRef.getChildRef();
|
||||||
|
|
||||||
|
// only records can be added in a record folder or hidden folders(is the case of e-mail attachments)
|
||||||
|
if (!instanceOf(recordFolder, ContentModel.TYPE_CONTENT) && !nodeService.hasAspect(recordFolder, ContentModel.ASPECT_HIDDEN))
|
||||||
|
{
|
||||||
|
throw new AlfrescoRuntimeException(I18NUtil.getMessage(MSG_CANNOT_CREATE_RECORD_FOLDER));
|
||||||
|
}
|
||||||
|
|
||||||
behaviourFilter.disableBehaviour();
|
behaviourFilter.disableBehaviour();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user