mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
RM-1343 (It's possible to copy/link to closed folder)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@74286 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -26,7 +26,7 @@ function runAction(p_params)
|
|||||||
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (file in files)
|
for (file in files)
|
||||||
{
|
{
|
||||||
nodeRef = files[file];
|
nodeRef = files[file];
|
||||||
@@ -36,7 +36,7 @@ function runAction(p_params)
|
|||||||
action: "copyFile",
|
action: "copyFile",
|
||||||
success: false
|
success: false
|
||||||
};
|
};
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fileNode = search.findNode(nodeRef);
|
fileNode = search.findNode(nodeRef);
|
||||||
@@ -47,15 +47,22 @@ function runAction(p_params)
|
|||||||
result.success = false;
|
result.success = false;
|
||||||
result.error = "Can't find source node.";
|
result.error = "Can't find source node.";
|
||||||
}
|
}
|
||||||
|
if (!rmService.getRecordsManagementNode(destNode).hasCapability("FillingPermissionOnly"))
|
||||||
|
{
|
||||||
|
result.name = fileNode.name;
|
||||||
|
result.error = "The destination is either frozen, closed or cut off!";
|
||||||
|
results.push(result);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result.id = fileNode.name;
|
result.id = fileNode.name;
|
||||||
result.name = fileNode.name;
|
result.name = fileNode.name;
|
||||||
result.type = fileNode.isContainer ? "folder" : "document"
|
result.type = fileNode.isContainer ? "folder" : "document"
|
||||||
|
|
||||||
// Retain the name of the site the node is currently in. Null if it's not in a site.
|
// Retain the name of the site the node is currently in. Null if it's not in a site.
|
||||||
fromSite = String(fileNode.siteShortName);
|
fromSite = String(fileNode.siteShortName);
|
||||||
|
|
||||||
// copy the node (deep copy for containers)
|
// copy the node (deep copy for containers)
|
||||||
if (fileNode.isContainer)
|
if (fileNode.isContainer)
|
||||||
{
|
{
|
||||||
@@ -68,7 +75,7 @@ function runAction(p_params)
|
|||||||
|
|
||||||
result.nodeRef = copiedNode.nodeRef.toString();
|
result.nodeRef = copiedNode.nodeRef.toString();
|
||||||
result.success = (result.nodeRef != null);
|
result.success = (result.nodeRef != null);
|
||||||
|
|
||||||
if (result.success)
|
if (result.success)
|
||||||
{
|
{
|
||||||
// If this was an inter-site copy, we'll need to clean up the permissions on the node
|
// If this was an inter-site copy, we'll need to clean up the permissions on the node
|
||||||
@@ -83,13 +90,13 @@ function runAction(p_params)
|
|||||||
{
|
{
|
||||||
result.id = file;
|
result.id = file;
|
||||||
result.nodeRef = nodeRef;
|
result.nodeRef = nodeRef;
|
||||||
result.success = false;
|
result.success = false;
|
||||||
result.error = e.message;
|
result.error = e.message;
|
||||||
|
|
||||||
// log the error
|
// log the error
|
||||||
logger.error(e.message);
|
logger.error(e.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
results.push(result);
|
results.push(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ function runAction(p_params)
|
|||||||
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (file in files)
|
for (file in files)
|
||||||
{
|
{
|
||||||
nodeRef = files[file];
|
nodeRef = files[file];
|
||||||
@@ -35,7 +35,7 @@ function runAction(p_params)
|
|||||||
action: "addChild",
|
action: "addChild",
|
||||||
success: false
|
success: false
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fileNode = search.findNode(nodeRef);
|
fileNode = search.findNode(nodeRef);
|
||||||
@@ -45,6 +45,13 @@ function runAction(p_params)
|
|||||||
result.nodeRef = nodeRef;
|
result.nodeRef = nodeRef;
|
||||||
result.success = false;
|
result.success = false;
|
||||||
}
|
}
|
||||||
|
if (!rmService.getRecordsManagementNode(destNode).hasCapability("FillingPermissionOnly"))
|
||||||
|
{
|
||||||
|
result.name = fileNode.name;
|
||||||
|
result.error = "The destination is either frozen, closed or cut off!";
|
||||||
|
results.push(result);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result.id = fileNode.name;
|
result.id = fileNode.name;
|
||||||
@@ -58,13 +65,13 @@ function runAction(p_params)
|
|||||||
{
|
{
|
||||||
result.id = file;
|
result.id = file;
|
||||||
result.nodeRef = nodeRef;
|
result.nodeRef = nodeRef;
|
||||||
result.success = false;
|
result.success = false;
|
||||||
result.error = e.message;
|
result.error = e.message;
|
||||||
|
|
||||||
// log the error
|
// log the error
|
||||||
logger.error(e.message);
|
logger.error(e.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
results.push(result);
|
results.push(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@ function runAction(p_params)
|
|||||||
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (file in files)
|
for (file in files)
|
||||||
{
|
{
|
||||||
nodeRef = files[file];
|
nodeRef = files[file];
|
||||||
@@ -37,7 +37,7 @@ function runAction(p_params)
|
|||||||
action: "moveFile",
|
action: "moveFile",
|
||||||
success: false
|
success: false
|
||||||
}
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
fileNode = search.findNode(nodeRef);
|
fileNode = search.findNode(nodeRef);
|
||||||
@@ -47,6 +47,13 @@ function runAction(p_params)
|
|||||||
result.nodeRef = nodeRef;
|
result.nodeRef = nodeRef;
|
||||||
result.success = false;
|
result.success = false;
|
||||||
}
|
}
|
||||||
|
if (!rmService.getRecordsManagementNode(destNode).hasCapability("FillingPermissionOnly"))
|
||||||
|
{
|
||||||
|
result.name = fileNode.name;
|
||||||
|
result.error = "The destination is either frozen, closed or cut off!";
|
||||||
|
results.push(result);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (p_params.parent && p_params.parent != null)
|
if (p_params.parent && p_params.parent != null)
|
||||||
@@ -56,13 +63,13 @@ function runAction(p_params)
|
|||||||
result.id = fileNode.name;
|
result.id = fileNode.name;
|
||||||
result.name = fileNode.name;
|
result.name = fileNode.name;
|
||||||
result.type = fileNode.isContainer ? "folder" : "document";
|
result.type = fileNode.isContainer ? "folder" : "document";
|
||||||
|
|
||||||
// Retain the name of the site the node is currently in. Null if it's not in a site.
|
// Retain the name of the site the node is currently in. Null if it's not in a site.
|
||||||
fromSite = fileNode.siteShortName;
|
fromSite = fileNode.siteShortName;
|
||||||
|
|
||||||
// move the node
|
// move the node
|
||||||
result.success = fileNode.move(parent, destNode);
|
result.success = fileNode.move(parent, destNode);
|
||||||
|
|
||||||
if (result.success)
|
if (result.success)
|
||||||
{
|
{
|
||||||
// If this was an inter-site move, we'll need to clean up the permissions on the node
|
// If this was an inter-site move, we'll need to clean up the permissions on the node
|
||||||
@@ -77,13 +84,13 @@ function runAction(p_params)
|
|||||||
{
|
{
|
||||||
result.id = file;
|
result.id = file;
|
||||||
result.nodeRef = nodeRef;
|
result.nodeRef = nodeRef;
|
||||||
result.success = false;
|
result.success = false;
|
||||||
result.error = e.message;
|
result.error = e.message;
|
||||||
|
|
||||||
// log the error
|
// log the error
|
||||||
logger.error(e.message);
|
logger.error(e.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
results.push(result);
|
results.push(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user