mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +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