mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
RM-1634 (View Version History Containing Recorded Versions)
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/HEAD@84235 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
<webscript>
|
||||||
|
<shortname>Node Version Info</shortname>
|
||||||
|
<description>Node Version Info including some RM related information</description>
|
||||||
|
<url>/api/rm/rm-version</url>
|
||||||
|
<format default="json" />
|
||||||
|
<authentication>user</authentication>
|
||||||
|
<transaction allow="readonly">required</transaction>
|
||||||
|
</webscript>
|
@@ -0,0 +1,120 @@
|
|||||||
|
var PeopleCache = {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets / caches a person object
|
||||||
|
* @method getPerson
|
||||||
|
* @param username {string} User name
|
||||||
|
*/
|
||||||
|
function getPerson(username)
|
||||||
|
{
|
||||||
|
if (typeof PeopleCache[username] == "undefined")
|
||||||
|
{
|
||||||
|
var person = people.getPerson(username);
|
||||||
|
if (person == null)
|
||||||
|
{
|
||||||
|
if (username == "System" || username.match("^System@") == "System@")
|
||||||
|
{
|
||||||
|
// special case for the System users
|
||||||
|
person =
|
||||||
|
{
|
||||||
|
properties:
|
||||||
|
{
|
||||||
|
userName: "System",
|
||||||
|
firstName: "System",
|
||||||
|
lastName: "User"
|
||||||
|
},
|
||||||
|
assocs: {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// missing person - may have been deleted from the database
|
||||||
|
person =
|
||||||
|
{
|
||||||
|
properties:
|
||||||
|
{
|
||||||
|
userName: username,
|
||||||
|
firstName: "",
|
||||||
|
lastName: ""
|
||||||
|
},
|
||||||
|
assocs: {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PeopleCache[username] =
|
||||||
|
{
|
||||||
|
userName: person.properties.userName,
|
||||||
|
firstName: person.properties.firstName,
|
||||||
|
lastName: person.properties.lastName,
|
||||||
|
displayName: (person.properties.firstName + " " + person.properties.lastName).replace(/^\s+|\s+$/g, "")
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return PeopleCache[username];
|
||||||
|
}
|
||||||
|
|
||||||
|
function main()
|
||||||
|
{
|
||||||
|
var json = "",
|
||||||
|
versions = [];
|
||||||
|
|
||||||
|
// allow for content to be loaded from id
|
||||||
|
if (args["nodeRef"] != null)
|
||||||
|
{
|
||||||
|
var nodeRef = args["nodeRef"],
|
||||||
|
node = search.findNode(nodeRef),
|
||||||
|
versionHistory, version, p, recordNodeRef;
|
||||||
|
|
||||||
|
if (node != null)
|
||||||
|
{
|
||||||
|
var versionHistory = node.versionHistory;
|
||||||
|
if (versionHistory != null)
|
||||||
|
{
|
||||||
|
for (i = 0; i < versionHistory.length; i++)
|
||||||
|
{
|
||||||
|
version = versionHistory[i];
|
||||||
|
p = getPerson(version.creator);
|
||||||
|
recordNodeRef = version.getVersionProperty("recordNodeRef");
|
||||||
|
versions[versions.length] =
|
||||||
|
{
|
||||||
|
nodeRef: version.node.nodeRef.toString(),
|
||||||
|
name: version.node.name,
|
||||||
|
label: version.label,
|
||||||
|
description: version.description,
|
||||||
|
createdDate: version.createdDate,
|
||||||
|
creator:
|
||||||
|
{
|
||||||
|
userName: p.userName,
|
||||||
|
firstName: p.firstName,
|
||||||
|
lastName: p.lastName
|
||||||
|
},
|
||||||
|
recordNodeRef: recordNodeRef ? recordNodeRef.toString() : ""
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
p = getPerson(node.properties.creator);
|
||||||
|
versions[0] =
|
||||||
|
{
|
||||||
|
nodeRef: node.nodeRef.toString(),
|
||||||
|
name: node.name,
|
||||||
|
label: "1.0",
|
||||||
|
description: "",
|
||||||
|
createdDate: node.properties.created,
|
||||||
|
creator:
|
||||||
|
{
|
||||||
|
userName: p.userName,
|
||||||
|
firstName: p.firstName,
|
||||||
|
lastName: p.lastName
|
||||||
|
},
|
||||||
|
recordNodeRef: ""
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// store node onto model
|
||||||
|
model.versions = versions;
|
||||||
|
}
|
||||||
|
|
||||||
|
main();
|
@@ -0,0 +1,21 @@
|
|||||||
|
<#escape x as jsonUtils.encodeJSONString(x)>
|
||||||
|
[
|
||||||
|
<#list versions as v>
|
||||||
|
{
|
||||||
|
"nodeRef": "${v.nodeRef}",
|
||||||
|
"name": "${v.name}",
|
||||||
|
"label": "${v.label}",
|
||||||
|
"description": "${v.description}",
|
||||||
|
"createdDate": "${v.createdDate?string("dd MMM yyyy HH:mm:ss 'GMT'Z '('zzz')'")}",
|
||||||
|
"createdDateISO": "${xmldate(v.createdDate)}",
|
||||||
|
"creator":
|
||||||
|
{
|
||||||
|
"userName": "${v.creator.userName}",
|
||||||
|
"firstName": "${v.creator.firstName!""}",
|
||||||
|
"lastName": "${v.creator.lastName!""}"
|
||||||
|
},
|
||||||
|
"recordNodeRef": "${v.recordNodeRef}"
|
||||||
|
}<#if (v_has_next)>,</#if>
|
||||||
|
</#list>
|
||||||
|
]
|
||||||
|
</#escape>
|
Reference in New Issue
Block a user