From a423c38e42c171806e5e94fbb9487ed4cd19af4c Mon Sep 17 00:00:00 2001 From: Stian Thorgersen Date: Fri, 6 Dec 2013 19:08:50 +0000 Subject: [PATCH 1/3] KEYCLOAK-214 view all users in a realm through admin console --- .../resources/admin/js/controllers/users.js | 15 ++++++++------- .../resources/admin/partials/user-list.html | 4 ++-- .../java/org/keycloak/models/RealmModel.java | 2 ++ .../org/keycloak/models/jpa/RealmAdapter.java | 9 +++++++++ .../models/picketlink/RealmAdapter.java | 19 ++++++++++++------- .../resources/admin/UsersResource.java | 19 +++++++++++-------- 6 files changed, 44 insertions(+), 24 deletions(-) diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js index de73f6333a7..f2c6b7c1fc4 100755 --- a/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js +++ b/admin-ui/src/main/resources/META-INF/resources/admin/js/controllers/users.js @@ -120,15 +120,16 @@ module.controller('UserListCtrl', function($scope, realm, User) { $scope.realm = realm; $scope.searchQuery = function() { $scope.searchLoaded = false; + $scope.currentSearch = $scope.search; + + var params = { realm: realm.id }; if ($scope.search) { - $scope.currentSearch = $scope.search; - $scope.users = User.query({ realm: realm.id, search : $scope.search }, function() { - $scope.searchLoaded = true; - }); - } else { - $scope.currentSearch = null; - $scope.users = null; + params.search = $scope.search; } + + $scope.users = User.query(params, function() { + $scope.searchLoaded = true; + }); }; }); diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html index c79b243125e..b29f3ebcc3a 100755 --- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html +++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/user-list.html @@ -14,7 +14,7 @@

{{realm.realm}} Users

- + diff --git a/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java b/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java index 0e8f8797393..201f286dcaa 100755 --- a/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java +++ b/model/jpa/src/main/java/org/keycloak/models/jpa/RealmAdapter.java @@ -672,7 +672,8 @@ public class RealmAdapter implements RealmModel { @Override public List getUsers() { - TypedQuery query = em.createQuery("select u from UserEntity u", UserEntity.class); + TypedQuery query = em.createQuery("select u from UserEntity u where u.realm = :realm", UserEntity.class); + query.setParameter("realm", realm); List results = query.getResultList(); List users = new ArrayList(); for (UserEntity entity : results) users.add(new UserAdapter(entity)); @@ -681,7 +682,7 @@ public class RealmAdapter implements RealmModel { @Override public List searchForUser(String search) { - TypedQuery query = em.createQuery("select u from UserEntity u where u.realm = :realm and lower(u.loginName) like :search or lower(concat(u.firstName, ' ', u.lastName)) like :search or u.email like :search", UserEntity.class); + TypedQuery query = em.createQuery("select u from UserEntity u where u.realm = :realm and ( lower(u.loginName) like :search or lower(concat(u.firstName, ' ', u.lastName)) like :search or u.email like :search )", UserEntity.class); query.setParameter("realm", realm); query.setParameter("search", "%" + search.toLowerCase() + "%"); List results = query.getResultList(); diff --git a/services/src/test/java/org/keycloak/test/AdapterTest.java b/services/src/test/java/org/keycloak/test/AdapterTest.java index a600f6f67e2..0bcfbc5bdb3 100755 --- a/services/src/test/java/org/keycloak/test/AdapterTest.java +++ b/services/src/test/java/org/keycloak/test/AdapterTest.java @@ -303,7 +303,6 @@ public class AdapterTest extends AbstractKeycloakTest { } RealmManager adapter = getRealmManager(); - adapter.createRealm("other").addUser("bburke"); { List userModels = adapter.searchUsers("total junk query", realmModel); @@ -438,8 +437,11 @@ public class AdapterTest extends AbstractKeycloakTest { } } + RealmModel otherRealm = adapter.createRealm("other"); + otherRealm.addUser("bburke"); - + Assert.assertEquals(1, otherRealm.getUsers().size()); + Assert.assertEquals(1, otherRealm.searchForUser("u").size()); } From 805863dde691471b5a11bc34b8c741180971e6ec Mon Sep 17 00:00:00 2001 From: Stian Thorgersen Date: Fri, 6 Dec 2013 19:33:28 +0000 Subject: [PATCH 3/3] KEYCLOAK-198 Search or apps --- .../META-INF/resources/admin/partials/application-list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html index 16a16972e10..a3b193671ad 100755 --- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html +++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html @@ -21,7 +21,7 @@ - +
@@ -66,7 +66,7 @@ -
+ Add User
-
{{app.name}} {{app.enabled}} {{app.baseUrl || "Not defined"}}