Fixed the completely broken code in memberships.get.js REST API and the equally challenged URL that's calling it in colleagues.get.js.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@14570 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-06-05 18:47:25 +00:00
parent 6f60cfc4e0
commit 8c84d09566

View File

@@ -4,63 +4,60 @@
function main() function main()
{ {
// Get the site id // Get the site id
var shortName = url.extension.split("/")[0]; var shortName = url.extension.split("/")[0];
var site = siteService.getSite(shortName); var site = siteService.getSite(shortName);
// get the filters // get the filters
var nameFilter = args["nf"]; var nameFilter = args["nf"];
var roleFilter = args["rf"]; var roleFilter = args["rf"];
var authorityType = args["authorityType"]; var authorityType = args["authorityType"];
var sizeString = args["size"]; var sizeString = args["size"];
if(authorityType != null ) if (authorityType != null)
{ {
authorityType.match("[USER|GROUP]" != null) if (authorityType.match("USER|GROUP") == null)
{ {
status.setCode(status.STATUS_BAD_REQUEST, "The authorityType must be either USER or GROUP."); status.setCode(status.STATUS_BAD_REQUEST, "The 'authorityType' argument must be either USER or GROUP.");
return; return;
} }
} }
// Get the filtered memberships // Get the filtered memberships
// Comes back as a Map<String, String> containing the full authority name // Comes back as a Map<String, String> containing the full authority name and role
// and role var memberships = site.listMembers(nameFilter, roleFilter, sizeString != null ? parseInt(sizeString) : 0);
var memberships = site.listMembers(nameFilter, roleFilter, sizeString != null ? parseInt(sizeString) : 0);
// Get a list of all the users resolved to person nodes
// Get a list of all the users resolved to person nodes var authorities = Array(memberships.length);
var authorities = Array(memberships.length); var roles = {};
var roles = {};
for (userName in memberships)
for (userName in memberships) {
{ var membershipRole = memberships[userName];
var membershipRole = memberships[userName]; if (userName.match("^GROUP_"))
if(userName.match("^GROUP_")) {
{ if (authorityType == null || authorityType == "GROUP")
if(authorityType == null || authorityType == "GROUP") {
{ // make sure the keys are strings - as usernames may be all numbers!
// make sure the keys are strings - as usernames may be all authorities['_' + userName] = groups.getGroupForFullAuthorityName(userName);
// numbers! roles['_' + userName] = membershipRole;
authorities['_' + userName] = groups.getGroupForFullAuthorityName(userName); }
roles['_' + userName] = membershipRole; }
} else
} {
else if (authorityType == null || authorityType == "USER")
{ {
if(authorityType == null || authorityType == "USER") // make sure the keys are strings - as usernames may be all numbers!
{ authorities['_' + userName] = people.getPerson(userName);
// make sure the keys are strings - as usernames may be all roles['_' + userName] = membershipRole;
// numbers! }
authorities['_' + userName] = people.getPerson(userName); }
roles['_' + userName] = membershipRole; }
}
} // Pass the information to the template
} model.site = site;
model.roles = roles;
// Pass the information to the template model.authorities = authorities;
model.site = site;
model.roles = roles;
model.authorities = authorities;
} }
main(); main();