public boolean validateUserQueryParams( UserQueryParams params ) { if ( params.isCanManage() && (params.getUser() == null || !params.getUser().hasManagedGroups()) ) { log.warn( "Cannot get managed users as user does not have any managed groups" ); return false; } if ( params.isAuthSubset() && (params.getUser() == null || !params.getUser().getUserCredentials().hasAuthorities()) ) { log.warn( "Cannot get users with authority subset as user does not have any authorities" ); return false; } if ( params.isDisjointRoles() && (params.getUser() == null || !params.getUser().getUserCredentials().hasUserAuthorityGroups()) ) { log.warn( "Cannot get users with disjoint roles as user does not have any user roles" ); return false; } return true; }
private void handleUserQueryParams( UserQueryParams params ) { boolean canGrantOwnRoles = (Boolean) systemSettingManager.getSystemSetting( SettingKey.CAN_GRANT_OWN_USER_AUTHORITY_GROUPS ); params.setDisjointRoles( !canGrantOwnRoles ); if ( !params.hasUser() ) { params.setUser( currentUserService.getCurrentUser() ); } if ( params.hasUser() && params.getUser().isSuper() ) { params.setCanManage( false ); params.setAuthSubset( false ); params.setDisjointRoles( false ); } if ( params.getInactiveMonths() != null ) { Calendar cal = PeriodType.createCalendarInstance(); cal.add( Calendar.MONTH, (params.getInactiveMonths() * -1) ); params.setInactiveSince( cal.getTime() ); } if ( params.isUserOrgUnits() && params.hasUser() ) { params.setOrganisationUnits( Lists.newArrayList( params.getUser().getOrganisationUnits() ) ); } }
if ( params.isCanManage() && params.getUser() != null ) if ( params.isAuthSubset() && params.getUser() != null ) if ( params.isDisjointRoles() && params.getUser() != null ) if ( params.isCanManage() && params.getUser() != null ) Collection<Integer> managedGroups = IdentifiableObjectUtils.getIdentifiers( params.getUser().getManagedGroups() ); if ( params.isAuthSubset() && params.getUser() != null ) Set<String> auths = params.getUser().getUserCredentials().getAllAuthorities(); if ( params.isDisjointRoles() && params.getUser() != null ) Collection<Integer> roles = IdentifiableObjectUtils.getIdentifiers( params.getUser().getUserCredentials().getUserAuthorityGroups() );