mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
RM-4326: allow creation in transfer only from TransferServiceImpl
This commit is contained in:
@@ -42,6 +42,7 @@ import org.alfresco.module.org_alfresco_module_rm.fileplan.FilePlanService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.freeze.FreezeService;
|
||||
import org.alfresco.module.org_alfresco_module_rm.model.RecordsManagementModel;
|
||||
import org.alfresco.module.org_alfresco_module_rm.model.rma.type.TransferContainerType;
|
||||
import org.alfresco.module.org_alfresco_module_rm.model.rma.type.TransferType;
|
||||
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.util.ServiceBaseImpl;
|
||||
@@ -90,6 +91,8 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
||||
|
||||
protected TransferContainerType transferContainerType;
|
||||
|
||||
protected TransferType transferType;
|
||||
|
||||
/**
|
||||
* @param filePlanService file plan service
|
||||
*/
|
||||
@@ -135,6 +138,11 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
||||
this.transferContainerType = transferContainerType;
|
||||
}
|
||||
|
||||
public void setTransferType(TransferType transferType)
|
||||
{
|
||||
this.transferType = transferType;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see org.alfresco.module.org_alfresco_module_rm.transfer.TransferService#transfer(NodeRef, boolean)
|
||||
*/
|
||||
@@ -205,10 +213,18 @@ public class TransferServiceImpl extends ServiceBaseImpl
|
||||
}
|
||||
|
||||
// Link the record to the trasnfer object
|
||||
nodeService.addChild(transferNodeRef,
|
||||
nodeRef,
|
||||
ASSOC_TRANSFERRED,
|
||||
ASSOC_TRANSFERRED);
|
||||
transferType.disable();
|
||||
try
|
||||
{
|
||||
nodeService.addChild(transferNodeRef,
|
||||
nodeRef,
|
||||
ASSOC_TRANSFERRED,
|
||||
ASSOC_TRANSFERRED);
|
||||
}
|
||||
finally
|
||||
{
|
||||
transferType.enable();
|
||||
}
|
||||
|
||||
// Set PDF indicator flag
|
||||
setPDFIndicationFlag(transferNodeRef, nodeRef);
|
||||
|
@@ -409,11 +409,7 @@ public class RMNodesImpl extends NodesImpl implements RMNodes
|
||||
NodeRef parentNodeRef = validateOrLookupNode(nodeId, null);
|
||||
QName parentNodeRefType = nodeService.getType(parentNodeRef);
|
||||
|
||||
if(RecordsManagementModel.TYPE_TRANSFER.equals(parentNodeRefType))
|
||||
{
|
||||
throw new PermissionDeniedException("POST request not allowed in Transfer Folder.");
|
||||
}
|
||||
else if(RecordsManagementModel.TYPE_HOLD.equals(parentNodeRefType))
|
||||
if(RecordsManagementModel.TYPE_HOLD.equals(parentNodeRefType))
|
||||
{
|
||||
throw new PermissionDeniedException("POST request not allowed in Hold Folder.");
|
||||
}
|
||||
|
Reference in New Issue
Block a user