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 b29f3eb..96cee21 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
@@ -28,6 +28,7 @@
</button>
</div>
<div class="actions">
+ <button ng-click="search = null; searchQuery()">View all</button>
<a class="button" href="#/create/user/{{realm.id}}">Add User</a>
</div>
</th>
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 0e8f879..201f286 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<UserModel> getUsers() {
- TypedQuery<UserEntity> query = em.createQuery("select u from UserEntity u", UserEntity.class);
+ TypedQuery<UserEntity> query = em.createQuery("select u from UserEntity u where u.realm = :realm", UserEntity.class);
+ query.setParameter("realm", realm);
List<UserEntity> results = query.getResultList();
List<UserModel> users = new ArrayList<UserModel>();
for (UserEntity entity : results) users.add(new UserAdapter(entity));
@@ -681,7 +682,7 @@ public class RealmAdapter implements RealmModel {
@Override
public List<UserModel> searchForUser(String search) {
- TypedQuery<UserEntity> 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<UserEntity> 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<UserEntity> 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 a600f6f..0bcfbc5 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<UserModel> 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());
}