APPS-322: [RM/AGS]User without permissions can create categories when Create full path option is checked in rule

This commit is contained in:
Raluca Munteanu
2020-11-06 11:21:26 +02:00
parent dc317b4265
commit e42a7fd9fb

View File

@@ -379,31 +379,19 @@ public abstract class CopyMoveLinkFileToBaseAction extends RMActionExecuterAbstr
* @return
*/
private NodeRef createChild(final Action action, final NodeRef parent, final String childName, final boolean targetisUnfiledRecords, final boolean lastAsFolder)
{
return AuthenticationUtil.runAsSystem(new RunAsWork<NodeRef>()
{
@Override
public NodeRef doWork()
{
// double check that the child hasn't been created by another thread
NodeRef child = getChild(parent, childName);
if (child == null)
{
if (targetisUnfiledRecords)
{
if (child == null) {
if (targetisUnfiledRecords) {
// create unfiled folder
child = fileFolderService.create(parent, childName, RecordsManagementModel.TYPE_UNFILED_RECORD_FOLDER).getNodeRef();
}
else if(lastAsFolder)
{
} else if (lastAsFolder) {
// create record folder
child = getRecordFolderService().createRecordFolder(parent, childName);
}
else
{
// ensure we are not trying to create a record categtory in a record folder
if(RecordsManagementModel.TYPE_RECORD_FOLDER.equals(getNodeService().getType(parent)))
{
} else {
// ensure we are not trying to create a record category in a record folder
if (RecordsManagementModel.TYPE_RECORD_FOLDER.equals(getNodeService().getType(parent))) {
throw new AlfrescoRuntimeException("Unable to execute " + action.getActionDefinitionName() + " action, because the destination path has a record category within a record folder.");
}
@@ -413,8 +401,6 @@ public abstract class CopyMoveLinkFileToBaseAction extends RMActionExecuterAbstr
}
return child;
}
});
}
/**
* Return the context. This will be the unfiled records container of the context if targetisUnfiledRecords is true