dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #34734
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 17811: User query, impl support for last login
------------------------------------------------------------
revno: 17811
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Sun 2014-12-28 15:39:07 +0100
message:
User query, impl support for last login
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserCredentialsStore.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserQueryParams.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserCredentialsStore.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/statistics/GetStatisticsAction.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserCredentialsStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserCredentialsStore.java 2014-12-28 14:15:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserCredentialsStore.java 2014-12-28 14:39:07 +0000
@@ -116,8 +116,6 @@
int getInactiveUsersCount( Date date );
- int getActiveUsersCount( Date date );
-
int getUserCount();
int getUserCountByName( String name );
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserQueryParams.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserQueryParams.java 2014-12-28 14:15:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserQueryParams.java 2014-12-28 14:39:07 +0000
@@ -47,6 +47,8 @@
private boolean disjointRoles;
+ private Date lastLogin;
+
private Date inactiveSince;
private Integer inactiveMonths;
@@ -126,6 +128,16 @@
this.disjointRoles = disjointRoles;
}
+ public Date getLastLogin()
+ {
+ return lastLogin;
+ }
+
+ public void setLastLogin( Date lastLogin )
+ {
+ this.lastLogin = lastLogin;
+ }
+
public Date getInactiveSince()
{
return inactiveSince;
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java 2014-12-28 14:15:49 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/DefaultUserService.java 2014-12-28 14:39:07 +0000
@@ -667,6 +667,24 @@
}
@Override
+ public int getActiveUsersCount( int days )
+ {
+ Calendar cal = PeriodType.createCalendarInstance();
+ cal.add( Calendar.DAY_OF_YEAR, (days * -1) );
+
+ return getActiveUsersCount( cal.getTime() );
+ }
+
+ @Override
+ public int getActiveUsersCount( Date since )
+ {
+ UserQueryParams params = new UserQueryParams();
+ params.setLastLogin( since );
+
+ return getUserCount( params );
+ }
+
+ @Override
public Collection<UserCredentials> getSelfRegisteredUserCredentials( int first, int max )
{
return userCredentialsStore.getSelfRegisteredUserCredentials( first, max );
@@ -706,21 +724,6 @@
}
@Override
- public int getActiveUsersCount( int days )
- {
- Calendar cal = PeriodType.createCalendarInstance();
- cal.add( Calendar.DAY_OF_YEAR, (days * -1) );
-
- return userCredentialsStore.getActiveUsersCount( cal.getTime() );
- }
-
- @Override
- public int getActiveUsersCount( Date since )
- {
- return userCredentialsStore.getActiveUsersCount( since );
- }
-
- @Override
public void canUpdateUsersFilter( Collection<User> users )
{
final UserCredentials currentUserCredentials = currentUserService.getCurrentUser().getUserCredentials();
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserCredentialsStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserCredentialsStore.java 2014-12-28 14:15:49 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserCredentialsStore.java 2014-12-28 14:39:07 +0000
@@ -297,18 +297,6 @@
}
@Override
- public int getActiveUsersCount( Date date )
- {
- Criteria criteria = sessionFactory.getCurrentSession().createCriteria( UserCredentials.class );
- criteria.add( Restrictions.ge( "lastLogin", date ) );
- criteria.setProjection( Projections.rowCount() );
-
- Number rs = (Number) criteria.uniqueResult();
-
- return rs != null ? rs.intValue() : 0;
- }
-
- @Override
@SuppressWarnings("unchecked")
public Collection<String> getUsernames( String key, Integer max )
{
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java 2014-12-28 14:15:49 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/user/hibernate/HibernateUserStore.java 2014-12-28 14:39:07 +0000
@@ -161,6 +161,11 @@
"and ag3.id in (:roles) ) ";
}
+ if ( params.getLastLogin() != null )
+ {
+ hql += hlp.whereAnd() + " uc.lastLogin >= :lastLogin ";
+ }
+
if ( params.getInactiveSince() != null )
{
hql += hlp.whereAnd() + " uc.lastLogin < :inactiveSince ";
@@ -209,6 +214,11 @@
query.setParameterList( "roles", roles );
}
+ if ( params.getLastLogin() != null )
+ {
+ query.setDate( "lastLogin", params.getLastLogin() );
+ }
+
if ( params.getInactiveSince() != null )
{
query.setDate( "inactiveSince", params.getInactiveSince() );
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/statistics/GetStatisticsAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/statistics/GetStatisticsAction.java 2014-10-16 06:17:19 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/java/org/hisp/dhis/dataadmin/action/statistics/GetStatisticsAction.java 2014-12-28 14:39:07 +0000
@@ -110,7 +110,7 @@
Date lastHour = new DateTime().minusHours( 1 ).toDate();
objects = new EnumMapWrapper<>( Objects.class, counts );
-
+
activeUsers.put( 0, userService.getActiveUsersCount( lastHour ) );
activeUsers.put( 1, userService.getActiveUsersCount( 0 ) );
activeUsers.put( 2, userService.getActiveUsersCount( 1 ) );