diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/person/person.sites.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/person/person.sites.get.js index a14b313ea9..9e04c609c4 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/person/person.sites.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/person/person.sites.get.js @@ -1,42 +1,40 @@ function main() { - // Get the user name of the person to get - var userName = url.templateArgs.userid; - - // Get the person who has that user name - var person = people.getPerson(userName); - - if (person === null) - { - // Return 404 - Not Found - status.setCode(status.STATUS_NOT_FOUND, "Person " + userName + " does not exist"); - return; - } - - // Get the list of sites - var sites = siteService.listUserSites(userName); - - var sizeString = args["size"]; - if (sizeString != null) - { - var size = parseInt(sizeString); - - if (size != NaN && size < sites.length) - { - // TODO this is a tempory implementaion to support preview client - // Only return the first n sites based on the passed page size - var pagedSites = Array(); - for (var index = 0; index < size; index++) - { - pagedSites[index] = sites[index]; - } - - sites = pagedSites; - } - } - - // Pass the queried sites to the template - model.sites = sites; + // Get the user name of the person to get + var userName = url.templateArgs.userid; + + // Get the person who has that user name + var person = people.getPerson(userName); + + if (person === null) + { + // Return 404 - Not Found + status.setCode(status.STATUS_NOT_FOUND, "Person " + userName + " does not exist"); + return; + } + + // Get the list of sites + var sites = siteService.listUserSites(userName); + + var sizeString = args["size"]; + if (sizeString != null) + { + var size = parseInt(sizeString); + + if (size < sites.length) + { + // Only return the first n sites based on the passed page size + var pagedSites = new Array(size); + for (var index = 0; index < size; index++) + { + pagedSites[index] = sites[index]; + } + + sites = pagedSites; + } + } + + model.sites = sites; } main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.get.js b/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.get.js index 83555c961e..3abe302e14 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/repository/site/sites.get.js @@ -1,33 +1,31 @@ function main() { - // Get the filter parameters - var nameFilter = args["nf"]; - var sitePreset = args["spf"]; - var sizeString = args["size"]; - - // Get the list of sites - var sites = siteService.listSites(nameFilter, sitePreset); - - if (sizeString != null) - { - var size = parseInt(sizeString); - - if (size != NaN && size < sites.length) - { - // TODO this is a tempory implementaion to support preview client - // Only return the first n sites based on the passed page size - var pagedSites = Array(); - for (var index = 0; index < size; index++) - { - pagedSites[index] = sites[index]; - } - - sites = pagedSites; - } - } - - // Add the sites to the model - model.sites = sites; + // Get the filter parameters + var nameFilter = args["nf"]; + var sitePreset = args["spf"]; + var sizeString = args["size"]; + + // Get the list of sites + var sites = siteService.listSites(nameFilter, sitePreset); + + if (sizeString != null) + { + var size = parseInt(sizeString); + + if (size < sites.length) + { + // Only return the first n sites based on the passed page size + var pagedSites = new Array(size); + for (var index = 0; index < size; index++) + { + pagedSites[index] = sites[index]; + } + + sites = pagedSites; + } + } + + model.sites = sites; } -main(); +main(); \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.js b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.js index f892508382..b419860b4b 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.js +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.js @@ -11,50 +11,35 @@ var range = {}; var dateFilter = args.from; if (dateFilter) { - range["fromdate"] = dateFilter; + range["fromdate"] = dateFilter; } model.events = getUserEvents(username, range); function getUserEvents(user, range) { - if (!user) - { - return []; - } - - var paths = []; - /** - * This part is inefficient as it looks through all of the sites - * and tries to determine if the user is a member or not; however, until something like - * /people/{userid}/sites is exposed through the JavaScript API, it will have to do. - * - */ - var availableSites = siteService.listSites(null, null); - for (var j=0; j < availableSites.length; j++) - { - var site = availableSites[j]; - if (site.isMember(user)) - { - paths.push("PATH:\"/app:company_home/st:sites/cm:" + search.ISO9075Encode(site.shortName) + "/cm:calendar/*\""); - } - } - - var results = []; - - if (paths.length > 0) - { - var luceneQuery = "+(" + paths.join(" OR ") + ") +TYPE:\"{http\://www.alfresco.org/model/calendar}calendarEvent\""; - if (range.fromdate) - { - // Expects the date in the format yyyy/mm/dd - var from = range.fromdate.split("/").join("\\-"); - var dateClause = " +@ia\\:fromDate:[" + from + "T00:00:00 TO 2099\\-1\\-1T00:00:00]"; - luceneQuery += dateClause; - } - results = search.luceneSearch(luceneQuery, "ia:fromDate", true); - } - - return results; -} - + var paths = []; + + var sites = siteService.listUserSites(user); + for (var j=0; j < sites.length; j++) + { + paths.push("PATH:\"/app:company_home/st:sites/cm:" + search.ISO9075Encode(sites[j].shortName) + "/cm:calendar/*\""); + } + + var results = []; + + if (paths.length != 0) + { + var luceneQuery = "+(" + paths.join(" OR ") + ") +TYPE:\"{http\://www.alfresco.org/model/calendar}calendarEvent\""; + if (range.fromdate) + { + // Expects the date in the format yyyy/mm/dd + var from = range.fromdate.split("/").join("\\-"); + var dateClause = " +@ia\\:fromDate:[" + from + "T00:00:00 TO 2099\\-1\\-1T00:00:00]"; + luceneQuery += dateClause; + } + results = search.luceneSearch(luceneQuery, "ia:fromDate", true); + } + + return results; +} \ No newline at end of file diff --git a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.json.ftl b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.json.ftl index a855441f36..87784ccbbb 100644 --- a/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.json.ftl +++ b/config/alfresco/templates/webscripts/org/alfresco/slingshot/calendar/userevents.get.json.ftl @@ -4,17 +4,17 @@ <#if events?exists> "events": [ <#list events?sort_by(["properties", "ia:fromDate"]) as event> - <#if event_index?string == limit?string><#break> - { - "name" : "${event.name}", - "title" : "${event.properties["ia:whatEvent"]}", - "where" : "${event.properties["ia:whereEvent"]}", - "when" : "${event.properties["ia:fromDate"]?string("dd MMM yyyy")}", - "url" : "page/site/${event.parent.parent.name}/calendar?date=${event.properties["ia:fromDate"]?string("yyyy-MM-dd")}", - "start" : "${event.properties["ia:fromDate"]?string("HH:mm")}", - "end" : "${event.properties["ia:toDate"]?string("HH:mm")}", - "site" : "${event.parent.parent.name}" - }<#if event_has_next>, + <#if event_index?string == limit?string><#break> + { + "name" : "${event.name}", + "title" : "${event.properties["ia:whatEvent"]}", + "where" : "${event.properties["ia:whereEvent"]}", + "when" : "${event.properties["ia:fromDate"]?string("dd MMM yyyy")}", + "url" : "page/site/${event.parent.parent.name}/calendar?date=${event.properties["ia:fromDate"]?string("yyyy-MM-dd")}", + "start" : "${event.properties["ia:fromDate"]?string("HH:mm")}", + "end" : "${event.properties["ia:toDate"]?string("HH:mm")}", + "site" : "${event.parent.parent.name}" + }<#if event_has_next>, ]