From a51412515eecd21c281c32d49adc249ea39f65b1 Mon Sep 17 00:00:00 2001 From: Mike Hatfield Date: Sat, 23 Aug 2008 09:49:01 +0000 Subject: [PATCH] Site roles data webscript git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@10509 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repository/site/roles/roles.get.desc.xml | 8 +++++++ .../repository/site/roles/roles.get.html.ftl | 1 + .../repository/site/roles/roles.get.js | 24 +++++++++++++++++++ .../repository/site/roles/roles.get.json.ftl | 12 ++++++++++ 4 files changed, 45 insertions(+) create mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.desc.xml create mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.html.ftl create mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js create mode 100644 config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.json.ftl diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.desc.xml b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.desc.xml new file mode 100644 index 0000000000..dc35a8c9ae --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.desc.xml @@ -0,0 +1,8 @@ + + Roles + Get the authority roles of a site. + /api/sites/{shortname}/roles + + user + required + \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.html.ftl new file mode 100644 index 0000000000..18533877f0 --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.html.ftl @@ -0,0 +1 @@ +<#include "roles.get.json.ftl"> \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js new file mode 100644 index 0000000000..e2a40acffe --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.js @@ -0,0 +1,24 @@ +function main() +{ + // Get the shortname + var shortName = url.templateArgs.shortname; + + // Get the site + var site = siteService.getSite(shortName); + + if (site == null) + { + // Return 404 + status.setCode(404, "Site " + shortName + " does not exist"); + return; + } + + var siteRoles = siteService.listSiteRoles().concat(["None"]); + var sitePermissionGroups = site.sitePermissionGroups; + sitePermissionGroups["everyone"] = "GROUP_EVERYONE"; + + model.siteRoles = siteRoles; + model.sitePermissionGroups = sitePermissionGroups; +} + +main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.json.ftl new file mode 100644 index 0000000000..88ea51ad6f --- /dev/null +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/roles/roles.get.json.ftl @@ -0,0 +1,12 @@ +<#escape x as jsonUtils.encodeJSONString(x)> +{ + "siteRoles": + [ + <#list siteRoles as siteRole>"${siteRole}"<#if siteRole_has_next>, + ], + "permissionGroups": + [ + <#list sitePermissionGroups?keys?sort?reverse as role>"${sitePermissionGroups[role]}"<#if role_has_next>, + ] +} +