mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
RM-306: Move to action works incorrectly
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@36224 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -216,6 +216,54 @@
|
|||||||
<property name="capability" value ="UpdateProperties"/>
|
<property name="capability" value ="UpdateProperties"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
|
||||||
|
<bean id="jsonConversionComponent.CopyAction"
|
||||||
|
parent="jsonConversionComponent.baseAction">
|
||||||
|
<property name="name" value="copy"/>
|
||||||
|
<property name="kinds">
|
||||||
|
<set>
|
||||||
|
<value>RECORD_CATEGORY</value>
|
||||||
|
<value>RECORD_FOLDER</value>
|
||||||
|
<value>RECORD</value>
|
||||||
|
</set>
|
||||||
|
</property>
|
||||||
|
<!-- <property name="capability" value="Delete"/> -->
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="jsonConversionComponent.moveAction"
|
||||||
|
parent="jsonConversionComponent.baseAction">
|
||||||
|
<property name="name" value="move"/>
|
||||||
|
<property name="kinds">
|
||||||
|
<set>
|
||||||
|
<value>RECORD_CATEGORY</value>
|
||||||
|
<value>RECORD_FOLDER</value>
|
||||||
|
<value>RECORD</value>
|
||||||
|
</set>
|
||||||
|
</property>
|
||||||
|
<!-- <property name="capability" value="Delete"/> -->
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="jsonConversionComponent.fileToAction"
|
||||||
|
parent="jsonConversionComponent.baseAction">
|
||||||
|
<property name="name" value="fileTo"/>
|
||||||
|
<property name="kinds">
|
||||||
|
<set>
|
||||||
|
<value>RECORD</value>
|
||||||
|
</set>
|
||||||
|
</property>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="jsonConversionComponent.file"
|
||||||
|
parent="jsonConversionComponent.baseAction">
|
||||||
|
<property name="name" value="file"/>
|
||||||
|
<property name="kinds">
|
||||||
|
<set>
|
||||||
|
<value>RECORD_FOLDER</value>
|
||||||
|
</set>
|
||||||
|
</property>
|
||||||
|
<property name="capability" value ="FileRecords"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
<bean id="jsonConversionComponent.deleteAction"
|
<bean id="jsonConversionComponent.deleteAction"
|
||||||
parent="jsonConversionComponent.baseAction">
|
parent="jsonConversionComponent.baseAction">
|
||||||
<property name="name" value="delete"/>
|
<property name="name" value="delete"/>
|
||||||
@@ -388,28 +436,6 @@
|
|||||||
<property name="capability" value ="Unfreeze"/>
|
<property name="capability" value ="Unfreeze"/>
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="jsonConversionComponent.fileToAction"
|
|
||||||
parent="jsonConversionComponent.baseAction">
|
|
||||||
<property name="name" value="fileTo"/>
|
|
||||||
<property name="kinds">
|
|
||||||
<set>
|
|
||||||
<value>RECORD_FOLDER</value>
|
|
||||||
<value>RECORD</value>
|
|
||||||
</set>
|
|
||||||
</property>
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
<bean id="jsonConversionComponent.file"
|
|
||||||
parent="jsonConversionComponent.baseAction">
|
|
||||||
<property name="name" value="file"/>
|
|
||||||
<property name="kinds">
|
|
||||||
<set>
|
|
||||||
<value>RECORD_FOLDER</value>
|
|
||||||
</set>
|
|
||||||
</property>
|
|
||||||
<property name="capability" value ="FileRecords"/>
|
|
||||||
</bean>
|
|
||||||
|
|
||||||
<bean id="jsonConversionComponent.reviewedAction"
|
<bean id="jsonConversionComponent.reviewedAction"
|
||||||
parent="jsonConversionComponent.baseAction">
|
parent="jsonConversionComponent.baseAction">
|
||||||
<property name="name" value="reviewed"/>
|
<property name="name" value="reviewed"/>
|
||||||
|
@@ -0,0 +1,89 @@
|
|||||||
|
<import resource="classpath:/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/action/action.lib.js">
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Move multiple files action
|
||||||
|
* @method POST
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Entrypoint required by action.lib.js
|
||||||
|
*
|
||||||
|
* @method runAction
|
||||||
|
* @param p_params {object} Object literal containing files array
|
||||||
|
* @return {object|null} object representation of action results
|
||||||
|
*/
|
||||||
|
function runAction(p_params)
|
||||||
|
{
|
||||||
|
var results = [],
|
||||||
|
destNode = p_params.destNode,
|
||||||
|
files = p_params.files,
|
||||||
|
parent = null,
|
||||||
|
file, fileNode, result, nodeRef,
|
||||||
|
fromSite;
|
||||||
|
|
||||||
|
// Must have array of files
|
||||||
|
if (!files || files.length == 0)
|
||||||
|
{
|
||||||
|
status.setCode(status.STATUS_BAD_REQUEST, "No files.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (file in files)
|
||||||
|
{
|
||||||
|
nodeRef = files[file];
|
||||||
|
result =
|
||||||
|
{
|
||||||
|
nodeRef: nodeRef,
|
||||||
|
action: "moveFile",
|
||||||
|
success: false
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
fileNode = search.findNode(nodeRef);
|
||||||
|
if (fileNode == null)
|
||||||
|
{
|
||||||
|
result.id = file;
|
||||||
|
result.nodeRef = nodeRef;
|
||||||
|
result.success = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (p_params.parent && p_params.parent != null)
|
||||||
|
{
|
||||||
|
parent = search.findNode(p_params.parent);
|
||||||
|
}
|
||||||
|
result.id = 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
|
||||||
|
if (!fromSite.equals(fileNode.siteShortName))
|
||||||
|
{
|
||||||
|
siteService.cleanSitePermissions(fileNode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (e)
|
||||||
|
{
|
||||||
|
result.id = file;
|
||||||
|
result.nodeRef = nodeRef;
|
||||||
|
result.success = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
results.push(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return results;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Bootstrap action script */
|
||||||
|
main();
|
Reference in New Issue
Block a user