From c18e14a106a58f9cdc363db4bcdc24710ee3f298 Mon Sep 17 00:00:00 2001 From: j2blake Date: Fri, 23 Dec 2011 17:38:31 +0000 Subject: [PATCH] Fix UserAccounts list page so it encodes the role URIs properly when filtering. Only show non-public roles for selections. --- .../webapp/controller/accounts/UserAccountsPage.java | 12 ++++++++---- .../accounts/admin/UserAccountsAddPage.java | 2 +- .../accounts/admin/UserAccountsEditPage.java | 2 +- .../accounts/admin/UserAccountsListPage.java | 2 +- .../freemarker/body/accounts/userAccounts-list.ftl | 2 +- .../freemarker/body/admin/admin-showAuth.ftl | 4 ++-- 6 files changed, 14 insertions(+), 10 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java index b6f837279..092e9c7e9 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/UserAccountsPage.java @@ -3,7 +3,6 @@ package edu.cornell.mannlib.vitro.webapp.controller.accounts; import java.util.ArrayList; -import java.util.Arrays; import java.util.Calendar; import java.util.Collections; import java.util.Comparator; @@ -54,11 +53,16 @@ public abstract class UserAccountsPage extends AbstractPageHandler { } /** - * Create a list of all known PermissionSets. + * Create a list of all known non-public PermissionSets. */ - protected List buildRolesList() { + protected List buildListOfSelectableRoles() { List list = new ArrayList(); - list.addAll(userAccountsDao.getAllPermissionSets()); + for (PermissionSet ps: userAccountsDao.getAllPermissionSets()) { + if (!ps.isForPublic()) { + list.add(ps); + } + } + Collections.sort(list, new Comparator() { @Override public int compare(PermissionSet ps1, PermissionSet ps2) { diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java index 6e5c53e20..ac4c450e7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsAddPage.java @@ -194,7 +194,7 @@ public class UserAccountsAddPage extends UserAccountsPage { body.put(PARAMETER_FIRST_NAME, firstName); body.put(PARAMETER_LAST_NAME, lastName); body.put("selectedRole", selectedRoleUri); - body.put("roles", buildRolesList()); + body.put("roles", buildListOfSelectableRoles()); body.put("profileTypes", buildProfileTypesList()); body.put(PARAMETER_NEW_PROFILE_CLASS_URI, newProfileClassUri); body.put("formUrls", buildUrlsMap()); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java index 9640182dc..e81be8bf7 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsEditPage.java @@ -235,7 +235,7 @@ public class UserAccountsEditPage extends UserAccountsPage { } if (!isRootUser()) { - body.put("roles", buildRolesList()); + body.put("roles", buildListOfSelectableRoles()); } body.put("profileTypes", buildProfileTypesList()); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java index 7615c9369..97f2365ab 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/accounts/admin/UserAccountsListPage.java @@ -115,7 +115,7 @@ public class UserAccountsListPage extends UserAccountsPage { body.put("page", buildPageMap(selection)); body.put("formUrls", buildUrlsMap()); - body.put("roles", buildRolesList()); + body.put("roles", buildListOfSelectableRoles()); body.put("messages", buildMessagesMap()); diff --git a/webapp/web/templates/freemarker/body/accounts/userAccounts-list.ftl b/webapp/web/templates/freemarker/body/accounts/userAccounts-list.ftl index 2194c0650..2a5a638c2 100644 --- a/webapp/web/templates/freemarker/body/accounts/userAccounts-list.ftl +++ b/webapp/web/templates/freemarker/body/accounts/userAccounts-list.ftl @@ -50,7 +50,7 @@