This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch OPENMEETINGS-1864-privacy
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/OPENMEETINGS-1864-privacy by 
this push:
     new 8b37133  [OPENMEETINGS-1864] admin users count is fixed
8b37133 is described below

commit 8b37133f2095059a93a0b93048384419f8ddf5d1
Author: Maxim Solodovnik <solomax...@gmail.com>
AuthorDate: Thu Apr 12 23:46:03 2018 +0700

    [OPENMEETINGS-1864] admin users count is fixed
---
 .../apache/openmeetings/db/dao/user/UserDao.java    | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
index de004ad..1adf437 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
@@ -195,6 +195,14 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
                return q.getResultList();
        }
 
+       private long count(String search, boolean filterContacts, Long 
currentUserId, boolean filterDeleted) {
+               Map<String, Object> params = new HashMap<>();
+               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", 
getAdditionalJoin(filterContacts), search, true, filterDeleted, true
+                               , getAdditionalWhere(filterContacts, 
currentUserId, params), null, searchFields), Long.class);
+               setAdditionalParams(q, params);
+               return q.getSingleResult();
+       }
+
        @Override
        public long count() {
                // get all users
@@ -212,16 +220,17 @@ public class UserDao implements 
IGroupAdminDataProviderDao<User> {
        }
 
        public long count(String search, boolean filterContacts, Long 
currentUserId) {
-               Map<String, Object> params = new HashMap<>();
-               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("User", "u", 
getAdditionalJoin(filterContacts), search, true, true, true
-                               , getAdditionalWhere(filterContacts, 
currentUserId, params), null, searchFields), Long.class);
-               setAdditionalParams(q, params);
-               return q.getSingleResult();
+               return count(search, filterContacts, currentUserId, true);
+       }
+
+       @Override
+       public long adminCount(String search) {
+               return count(search, false, Long.valueOf(-1), false);
        }
 
        @Override
        public long adminCount(String search, Long adminId) {
-               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("GroupUser gu, IN(gu.user)", "u", null, 
search, true, true, true
+               TypedQuery<Long> q = 
em.createQuery(DaoHelper.getSearchQuery("GroupUser gu, IN(gu.user)", "u", null, 
search, true, false, true
                                , "gu.group.id IN (SELECT gu1.group.id FROM 
GroupUser gu1 WHERE gu1.moderator = true AND gu1.user.id = :adminId)", null, 
searchFields), Long.class);
                q.setParameter("adminId", adminId);
                return q.getSingleResult();

-- 
To stop receiving notification emails like this one, please contact
solo...@apache.org.

Reply via email to