@Override public int countProgramInstances( ProgramInstanceQueryParams params ) { decideAccess( params ); validate( params ); User user = currentUserService.getCurrentUser(); if ( user != null && params.isOrganisationUnitMode( OrganisationUnitSelectionMode.ACCESSIBLE ) ) { params.setOrganisationUnits( user.getDataViewOrganisationUnitsWithFallback() ); params.setOrganisationUnitMode( OrganisationUnitSelectionMode.DESCENDANTS ); } else if ( params.isOrganisationUnitMode( CHILDREN ) ) { Set<OrganisationUnit> organisationUnits = new HashSet<>(); organisationUnits.addAll( params.getOrganisationUnits() ); for ( OrganisationUnit organisationUnit : params.getOrganisationUnits() ) { organisationUnits.addAll( organisationUnit.getChildren() ); } params.setOrganisationUnits( organisationUnits ); } params.setSkipPaging( true ); return programInstanceStore.countProgramInstances( params ); }
if ( !params.hasOrganisationUnits() && !(params.isOrganisationUnitMode( ALL ) || params.isOrganisationUnitMode( ACCESSIBLE )) ) if ( params.isOrganisationUnitMode( ACCESSIBLE ) && (user == null || !user.hasDataViewOrganisationUnitWithFallback()) )
if ( user != null && params.isOrganisationUnitMode( OrganisationUnitSelectionMode.ACCESSIBLE ) ) else if ( params.isOrganisationUnitMode( CHILDREN ) )
if ( params.isOrganisationUnitMode( OrganisationUnitSelectionMode.DESCENDANTS ) )