=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierService.java 2013-09-23 04:29:22 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierService.java 2013-09-23 08:00:15 +0000 @@ -70,7 +70,7 @@ Patient getPatient( PatientIdentifierType idenType, String value ); - Collection getPatientsByIdentifier( String identifier, int min, int max ); + Collection getPatientsByIdentifier( String identifier, Integer min, Integer max ); int countGetPatientsByIdentifier( String identifier ); === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierStore.java 2013-09-23 04:29:22 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierStore.java 2013-09-23 08:00:15 +0000 @@ -68,7 +68,7 @@ Patient getPatient( PatientIdentifierType idenType, String value ); - Collection getPatientsByIdentifier( String identifier, int min, int max ); + Collection getPatientsByIdentifier( String identifier, Integer min, Integer max ); int countGetPatientsByIdentifier( String identifier ); === modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java' --- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java 2013-09-10 16:29:20 +0000 +++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/ActivityReportingService.java 2013-09-23 08:00:15 +0000 @@ -85,7 +85,7 @@ public Patient addRelationship( Relationship enrollmentRelationship, int orgUnitId ) throws NotAllowedException; - public Program getAllAnonymousProgram( int orgUnitId ) + public Program getAllProgramByOrgUnit( int orgUnitId, String programType ) throws NotAllowedException; public Program findProgram( String programInfo ) === modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java' --- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java 2013-09-18 09:04:09 +0000 +++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/api/mobile/model/LWUITmodel/Patient.java 2013-09-23 08:00:15 +0000 @@ -267,8 +267,16 @@ DataOutputStream dout = new DataOutputStream( bout ); dout.writeInt( this.getId() ); - dout.writeUTF( this.getName() ); - + + if ( name != null ) + { + dout.writeBoolean( true ); + dout.writeUTF( name ); + } + else + { + dout.writeBoolean( false ); + } if ( organisationUnitName != null ) { dout.writeBoolean( true ); === modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java' --- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java 2013-09-20 04:49:42 +0000 +++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java 2013-09-23 08:00:15 +0000 @@ -838,8 +838,11 @@ List atts; patientModel.setId( patient.getId() ); - patientModel.setName( patient.getName() ); - + + if ( patient.getName() != null ) + { + patientModel.setName( patient.getName() ); + } Period period = new Period( new DateTime( patient.getBirthDate() ), new DateTime() ); patientModel.setAge( period.getYears() ); /* @@ -850,7 +853,10 @@ { patientModel.setOrganisationUnitName( patient.getOrganisationUnit().getName() ); } - patientModel.setPhoneNumber( patient.getPhoneNumber() ); + if ( patient.getPhoneNumber() != null ) + { + patientModel.setPhoneNumber( patient.getPhoneNumber() ); + } this.setSetting( getSettings() ); @@ -908,9 +914,8 @@ identifiers .add( new org.hisp.dhis.api.mobile.model.PatientIdentifier( idTypeName, id.getIdentifier() ) ); } - - patientModel.setIdentifiers( identifiers ); } + patientModel.setIdentifiers( identifiers ); patientModel.setPatientAttValues( patientAtts ); @@ -1313,15 +1318,24 @@ } @Override - public org.hisp.dhis.api.mobile.model.LWUITmodel.Program getAllAnonymousProgram( int orgUnitId ) + public org.hisp.dhis.api.mobile.model.LWUITmodel.Program getAllProgramByOrgUnit( int orgUnitId, String programType ) throws NotAllowedException { String programsInfo = ""; OrganisationUnit organisationUnit = organisationUnitService.getOrganisationUnit( orgUnitId ); - List tempPrograms = new ArrayList( - programService.getProgramsByCurrentUser( Program.SINGLE_EVENT_WITHOUT_REGISTRATION ) ); + List tempPrograms = null; + + if ( Integer.valueOf( programType )==( Program.SINGLE_EVENT_WITHOUT_REGISTRATION ) ) + { + tempPrograms = new ArrayList( programService.getProgramsByCurrentUser( Program.SINGLE_EVENT_WITHOUT_REGISTRATION ) ); + } + else if ( Integer.valueOf( programType )==( Program.MULTIPLE_EVENTS_WITH_REGISTRATION ) ) + { + tempPrograms = new ArrayList( programService.getProgramsByCurrentUser( Program.MULTIPLE_EVENTS_WITH_REGISTRATION ) ); + } + List programs = new ArrayList(); for ( Program program : tempPrograms ) @@ -1336,9 +1350,9 @@ { if ( programs.size() == 1 ) { - Program anonymousProgram = programs.get( 0 ); + Program program = programs.get( 0 ); - return getMobileAnonymousProgram( anonymousProgram ); + return getMobileAnonymousProgram( program ); } else { === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java 2013-09-23 04:29:22 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientIdentifierService.java 2013-09-23 08:00:15 +0000 @@ -128,7 +128,7 @@ return patientIdentifierStore.getPatient( idenType, value ); } - public Collection getPatientsByIdentifier( String identifier, int min, int max ) + public Collection getPatientsByIdentifier( String identifier, Integer min, Integer max ) { return patientIdentifierStore.getPatientsByIdentifier( identifier, min, max ); } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2013-09-18 03:49:35 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2013-09-23 08:00:15 +0000 @@ -260,9 +260,9 @@ public Collection getPatientsForMobile( String searchText, int orgUnitId ) { Set patients = new HashSet(); - patients.addAll( patientIdentifierService.getPatientsByIdentifier( searchText, 0, Integer.MAX_VALUE ) ); - patients.addAll( getPatientsByNames( searchText, 0, Integer.MAX_VALUE ) ); - patients.addAll( getPatientsByPhone( searchText, 0, Integer.MAX_VALUE ) ); + patients.addAll( patientIdentifierService.getPatientsByIdentifier( searchText, 0, Integer.MAX_VALUE) ); + patients.addAll( getPatientsByNames( searchText, null, null ) ); + patients.addAll( getPatientsByPhone( searchText, null, null ) ); // if an org-unit has been selected, filter out every patient that has a // different org-unit === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientIdentifierStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientIdentifierStore.java 2013-09-23 04:29:22 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientIdentifierStore.java 2013-09-23 08:00:15 +0000 @@ -31,6 +31,7 @@ import java.util.Collection; import java.util.Date; +import org.hibernate.Criteria; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; import org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore; @@ -130,10 +131,18 @@ } @SuppressWarnings( "unchecked" ) - public Collection getPatientsByIdentifier( String identifier, int min, int max ) - { - return getCriteria( Restrictions.ilike( "identifier", "%" + identifier + "%" ) ) + public Collection getPatientsByIdentifier( String identifier, Integer min, Integer max ) + { + if( min != null & max != null ) + { + return getCriteria( Restrictions.ilike( "identifier", "%" + identifier + "%" ) ) .setProjection( Projections.property( "patient" ) ).setFirstResult( min ).setMaxResults( max ).list(); + } + else + { + return getCriteria( Restrictions.ilike( "identifier", "%" + identifier + "%" ) ) + .setProjection( Projections.property( "patient" ) ).list(); + } } public int countGetPatientsByIdentifier( String identifier ) === modified file 'dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java' --- dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java 2013-09-20 04:49:42 +0000 +++ dhis-2/dhis-web/dhis-web-api-mobile/src/main/java/org/hisp/dhis/api/mobile/controller/MobileOrganisationUnitController.java 2013-09-23 08:00:15 +0000 @@ -383,7 +383,7 @@ public Program getAnonymousProgram( @PathVariable int id, @RequestHeader( "programType" ) String programType ) throws NotAllowedException { - return activityReportingService.getAllAnonymousProgram( id ); + return activityReportingService.getAllProgramByOrgUnit( id, programType ); } @RequestMapping( method = RequestMethod.GET, value = "{clientVersion}/LWUIT/orgUnits/{id}/findProgram" )