diff --git a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-copy-to.post.json.js b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-copy-to.post.json.js index b9fde1e96d..d30977c673 100644 --- a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-copy-to.post.json.js +++ b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-copy-to.post.json.js @@ -26,7 +26,7 @@ function runAction(p_params) status.setCode(status.STATUS_BAD_REQUEST, "No files."); return; } - + for (file in files) { nodeRef = files[file]; @@ -36,7 +36,7 @@ function runAction(p_params) action: "copyFile", success: false }; - + try { fileNode = search.findNode(nodeRef); @@ -47,15 +47,22 @@ function runAction(p_params) result.success = false; 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 { result.id = fileNode.name; result.name = fileNode.name; 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. fromSite = String(fileNode.siteShortName); - + // copy the node (deep copy for containers) if (fileNode.isContainer) { @@ -68,7 +75,7 @@ function runAction(p_params) result.nodeRef = copiedNode.nodeRef.toString(); result.success = (result.nodeRef != null); - + if (result.success) { // 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.nodeRef = nodeRef; - result.success = false; + result.success = false; result.error = e.message; - + // log the error logger.error(e.message); } - + results.push(result); } diff --git a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-link.post.json.js b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-link.post.json.js index c2227adc8e..cd59632202 100644 --- a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-link.post.json.js +++ b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-link.post.json.js @@ -25,7 +25,7 @@ function runAction(p_params) status.setCode(status.STATUS_BAD_REQUEST, "No files."); return; } - + for (file in files) { nodeRef = files[file]; @@ -35,7 +35,7 @@ function runAction(p_params) action: "addChild", success: false } - + try { fileNode = search.findNode(nodeRef); @@ -45,6 +45,13 @@ function runAction(p_params) result.nodeRef = nodeRef; 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 { result.id = fileNode.name; @@ -58,13 +65,13 @@ function runAction(p_params) { result.id = file; result.nodeRef = nodeRef; - result.success = false; + result.success = false; result.error = e.message; - + // log the error logger.error(e.message); } - + results.push(result); } diff --git a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-move-to.post.json.js b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-move-to.post.json.js index 8b36d54881..e15afd8aa8 100644 --- a/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-move-to.post.json.js +++ b/rm-server/config/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/rm-move-to.post.json.js @@ -27,7 +27,7 @@ function runAction(p_params) status.setCode(status.STATUS_BAD_REQUEST, "No files."); return; } - + for (file in files) { nodeRef = files[file]; @@ -37,7 +37,7 @@ function runAction(p_params) action: "moveFile", success: false } - + try { fileNode = search.findNode(nodeRef); @@ -47,6 +47,13 @@ function runAction(p_params) result.nodeRef = nodeRef; 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 { if (p_params.parent && p_params.parent != null) @@ -56,13 +63,13 @@ function runAction(p_params) result.id = fileNode.name; result.name = fileNode.name; 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. fromSite = fileNode.siteShortName; - + // move the node result.success = fileNode.move(parent, destNode); - + if (result.success) { // 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.nodeRef = nodeRef; - result.success = false; + result.success = false; result.error = e.message; - + // log the error logger.error(e.message); } - + results.push(result); }