From ce73f63b14f084de9912ca392c87a9d78840e66a Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Wed, 5 Aug 2015 07:59:05 +0000 Subject: [PATCH] Merged 5.0.N (5.0.3) to HEAD (5.1) 109517: SHA-91: Recent sites should be listed in fixed order - Fixed incorrect order of the recent sites in "Move/Copy to" picker. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@109582 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repository/person/person.sites.get.js | 63 ++++++++++++------- 1 file changed, 40 insertions(+), 23 deletions(-) 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 17b88cb105..0bc652c46d 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 @@ -57,29 +57,46 @@ function main() } } - var i = 0; - while (i < sites.length) - { - for (var key in filterObj) - { - if (filterObj[key] == sites[i].shortName || key == sites[i].shortName) - { - if (filter != "favourites" || - filterObj[key] == true) - { - filteredSites.push(sites[i]); - - // If the caller of this webscript has requested a specific result size (non-zero) then do not return more than they asked for - if (size > 0 && filteredSites.length == size) - { - break; - } - - } - } - } - i++; - } + var i = 0; + while (i < sites.length) + { + var filterObjIndex = 0; + for (var key in filterObj) + { + if (filterObj[key] == sites[i].shortName || key == sites[i].shortName) + { + if (filter != "favourites" ) + { + // ACE-379 fix. Fill filteredSites array according to the position of elements in the array 'filterObj' + filteredSites[filterObjIndex] = sites[i]; + + // If the caller of this webscript has requested a specific result size (non-zero) then do not return + // more than they asked for + if (size > 0 && filteredSites.length == size) + { + break; + } + } + // if filter equals to "favourites" and site is favourite. + else + { + if (filterObj[key] == true) + { + filteredSites.push(sites[i]); + } + + // If the caller of this webscript has requested a specific result size (non-zero) then do not return + // more than they asked for + if (size > 0 && filteredSites.length == size) + { + break; + } + } + } + filterObjIndex++; + } + i++; + } model.sites = filteredSites; }