=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java 2013-04-02 04:33:34 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java 2013-04-08 04:57:19 +0000 @@ -38,6 +38,8 @@ import org.hisp.dhis.dataentryform.DataEntryForm; import org.hisp.dhis.i18n.I18n; import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; +import org.hisp.dhis.orgunitdistribution.OrgUnitDistributionService; import org.hisp.dhis.patient.Patient; import org.hisp.dhis.patientdatavalue.PatientDataValue; import org.hisp.dhis.patientdatavalue.PatientDataValueService; @@ -58,7 +60,6 @@ /** * @author Chau Thu Tran * @version $ LoadDataEntryAction.java May 7, 2011 2:37:44 PM $ - * */ public class LoadDataEntryAction implements Action @@ -69,14 +70,46 @@ private ProgramDataEntryService programDataEntryService; + public void setProgramDataEntryService( ProgramDataEntryService programDataEntryService ) + { + this.programDataEntryService = programDataEntryService; + } + private PatientDataValueService patientDataValueService; + public void setPatientDataValueService( PatientDataValueService patientDataValueService ) + { + this.patientDataValueService = patientDataValueService; + } + private ProgramStageInstanceService programStageInstanceService; + public void setProgramStageInstanceService( ProgramStageInstanceService programStageInstanceService ) + { + this.programStageInstanceService = programStageInstanceService; + } + private SelectedStateManager selectedStateManager; + public void setSelectedStateManager( SelectedStateManager selectedStateManager ) + { + this.selectedStateManager = selectedStateManager; + } + private ProgramStageSectionService programStageSectionService; + public void setProgramStageSectionService( ProgramStageSectionService programStageSectionService ) + { + this.programStageSectionService = programStageSectionService; + } + + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + // ------------------------------------------------------------------------- // Input && Output // ------------------------------------------------------------------------- @@ -93,6 +126,8 @@ private Map patientDataValueMap; + private Integer organisationUnitId; + private OrganisationUnit organisationUnit; private Program program; @@ -107,16 +142,6 @@ // Getters && Setters // ------------------------------------------------------------------------- - public void setProgramStageInstanceService( ProgramStageInstanceService programStageInstanceService ) - { - this.programStageInstanceService = programStageInstanceService; - } - - public void setProgramStageSectionService( ProgramStageSectionService programStageSectionService ) - { - this.programStageSectionService = programStageSectionService; - } - public void setProgramStageInstanceId( Integer programStageInstanceId ) { this.programStageInstanceId = programStageInstanceId; @@ -137,21 +162,6 @@ return programStage; } - public void setSelectedStateManager( SelectedStateManager selectedStateManager ) - { - this.selectedStateManager = selectedStateManager; - } - - public void setProgramDataEntryService( ProgramDataEntryService programDataEntryService ) - { - this.programDataEntryService = programDataEntryService; - } - - public void setPatientDataValueService( PatientDataValueService patientDataValueService ) - { - this.patientDataValueService = patientDataValueService; - } - public OrganisationUnit getOrganisationUnit() { return organisationUnit; @@ -200,7 +210,7 @@ { return calAttributeValueMap; } - + private String longitude; public String getLongitude() @@ -222,7 +232,8 @@ public String execute() throws Exception { - organisationUnit = selectedStateManager.getSelectedOrganisationUnit(); + organisationUnit = organisationUnitId == null ? selectedStateManager.getSelectedOrganisationUnit() : + organisationUnitService.getOrganisationUnit( organisationUnitId ); // --------------------------------------------------------------------- // Get program-stage-instance === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveExecutionDateAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveExecutionDateAction.java 2012-10-18 04:24:34 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SaveExecutionDateAction.java 2013-04-08 04:57:19 +0000 @@ -33,6 +33,8 @@ import org.apache.commons.logging.LogFactory; import org.hisp.dhis.caseentry.state.SelectedStateManager; import org.hisp.dhis.i18n.I18nFormat; +import org.hisp.dhis.organisationunit.OrganisationUnit; +import org.hisp.dhis.organisationunit.OrganisationUnitService; import org.hisp.dhis.patient.Patient; import org.hisp.dhis.patient.PatientService; import org.hisp.dhis.program.Program; @@ -86,6 +88,13 @@ this.patientService = patientService; } + private OrganisationUnitService organisationUnitService; + + public void setOrganisationUnitService( OrganisationUnitService organisationUnitService ) + { + this.organisationUnitService = organisationUnitService; + } + private SelectedStateManager selectedStateManager; public void setSelectedStateManager( SelectedStateManager selectedStateManager ) @@ -99,11 +108,25 @@ { this.format = format; } - + // ------------------------------------------------------------------------- // Input/Output // ------------------------------------------------------------------------- + private Integer organisationUnitId; + + public void setOrganisationUnitId( Integer organisationUnitId ) + { + this.organisationUnitId = organisationUnitId; + } + + private Integer patientId; + + public void setPatientId( Integer patientId ) + { + this.patientId = patientId; + } + private String executionDate; public void setExecutionDate( String executionDate ) @@ -112,7 +135,7 @@ } private Integer programStageInstanceId; - + public void setProgramStageInstanceId( Integer programStageInstanceId ) { this.programStageInstanceId = programStageInstanceId; @@ -140,9 +163,14 @@ throws Exception { Date dateValue = format.parseDate( executionDate ); - + + OrganisationUnit organisationUnit = organisationUnitId == null ? selectedStateManager.getSelectedOrganisationUnit() : + organisationUnitService.getOrganisationUnit( organisationUnitId ); + + Patient patient = patientId == null ? selectedStateManager.getSelectedPatient() : patientService.getPatient( patientId ); + if ( dateValue != null ) - { + { ProgramStageInstance programStageInstance = programStageInstanceService.getProgramStageInstance( programStageInstanceId ); // If the program-stage-instance of the patient not exists, @@ -158,7 +186,6 @@ programStage = program.getProgramStages().iterator().next(); } - Patient patient = selectedStateManager.getSelectedPatient(); int type = program.getType(); ProgramInstance programInstance = null; @@ -188,7 +215,7 @@ programStageInstance.setProgramStage( programStage ); programStageInstance.setDueDate( dateValue ); programStageInstance.setExecutionDate( dateValue ); - programStageInstance.setOrganisationUnit( selectedStateManager.getSelectedOrganisationUnit() ); + programStageInstance.setOrganisationUnit( organisationUnit ); programStageInstanceService.addProgramStageInstance( programStageInstance ); selectedStateManager.setSelectedProgramInstance( programInstance ); @@ -197,7 +224,7 @@ else { programStageInstance.setExecutionDate( dateValue ); - programStageInstance.setOrganisationUnit( selectedStateManager.getSelectedOrganisationUnit() ); + programStageInstance.setOrganisationUnit( organisationUnit ); if ( programStageInstance.getProgramInstance().getProgram().isSingleEvent() ) { === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2013-04-02 05:33:46 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2013-04-08 04:57:19 +0000 @@ -43,17 +43,14 @@ - - + + - + + - - - - - - - + + + + + + + + - === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js 2013-04-04 07:57:59 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/anonymousRegistration.js 2013-04-08 04:57:19 +0000 @@ -46,23 +46,21 @@ hideById( 'listDiv' ); hideById( 'dataEntryInfor' ); - DAO.programs.fetchAll( function ( store, arr ) { - var programs = []; - - $.each( arr, function ( idx, item ) { - if ( item.programAssociations.indexOf( orgUnits[0] ) != -1 ) { - programs.push( item ); - } - } ); - - if( programs.length > 0) { + // try online first, then fallback to what we have stored in browser + dhis2.storage.Store.plugins['online-anonymous-programs'].call( {}, function ( arr ) { + updateProgramList( arr ); + }, function () { + DAO.programs.fetchAll( function ( store, arr ) { + var programs = []; + + $.each( arr, function ( idx, item ) { + if ( item.programAssociations.indexOf( orgUnits[0] ) != -1 ) { + programs.push( item ); + } + } ); + updateProgramList( programs ); - } else { - // if we are online, also check server to see if there are any programs - dhis2.storage.Store.plugins['anonymous-online'].call( {}, function ( arr ) { - updateProgramList( arr ); - } ); - } + } ); } ); } @@ -556,12 +554,16 @@ var programStageInstanceId = getFieldValue( 'programStageInstanceId' ); var programId = jQuery( '#programId option:selected' ).val(); var executionDate = getFieldValue( 'executionDate' ); + var orgunitId = getFieldValue( 'orgunitId' ); + jQuery( "#executionDate" ).css( 'background-color', SAVING_COLOR ); + jQuery.postJSON( "saveExecutionDate.action", { programStageInstanceId: programStageInstanceId, programId: programId, - executionDate: executionDate + executionDate: executionDate, + organisationUnitId: orgunitId }, function ( json ) { if ( json.response == 'success' ) { === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/dhis2.storage.anonymous.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/dhis2.storage.anonymous.js 2013-03-30 10:45:13 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/dhis2.storage.anonymous.js 2013-04-08 04:57:19 +0000 @@ -1,7 +1,7 @@ -dhis2.storage.Store.plugin( 'anonymous-online', (function () { +dhis2.storage.Store.plugin( 'online-anonymous-programs', (function () { return { - call: function ( args, callback ) { - $.ajax( { + call: function ( args, success, failure ) { + return $.ajax( { type: 'POST', url: "anonymousPrograms.action", data: args, @@ -23,8 +23,8 @@ delete arr[i].type; } - if ( callback ) callback( arr ); - } ); + if ( success ) success( arr ); + } ).fail(failure); } }; })() );