=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/RegisterIrregularEncounterAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/RegisterIrregularEncounterAction.java 2012-03-27 08:30:45 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/RegisterIrregularEncounterAction.java 2012-05-26 12:31:07 +0000
@@ -95,7 +95,6 @@
programStageInstance.setDueDate( format.parseDate( dueDate ) );
programStageInstanceService.addProgramStageInstance( programStageInstance );
-
selectedStateManager.setSelectedProgramStageInstance( programStageInstance );
return SUCCESS;
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryenrollment/action/SaveMobileProgramEnrollmentAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryenrollment/action/SaveMobileProgramEnrollmentAction.java 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryenrollment/action/SaveMobileProgramEnrollmentAction.java 2012-05-26 12:31:07 +0000
@@ -188,8 +188,6 @@
return ERROR;
}
- System.out.println( "service: " + patientService );
-
patient = patientService.getPatient( patientId );
program = programService.getProgram( programId );
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetPatientProgramListAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetPatientProgramListAction.java 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetPatientProgramListAction.java 2012-05-26 12:31:07 +0000
@@ -120,7 +120,7 @@
programInstances.add( programInstance );
}
}
-
+
return SUCCESS;
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetProgramStageListAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetProgramStageListAction.java 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetProgramStageListAction.java 2012-05-26 12:31:07 +0000
@@ -27,12 +27,13 @@
package org.hisp.dhis.light.namebaseddataentry.action;
+import java.util.HashSet;
import java.util.Set;
-
import org.hisp.dhis.patient.Patient;
import org.hisp.dhis.patient.PatientService;
import org.hisp.dhis.program.ProgramInstance;
import org.hisp.dhis.program.ProgramInstanceService;
+import org.hisp.dhis.program.ProgramStage;
import org.hisp.dhis.program.ProgramStageInstance;
import com.opensymphony.xwork2.Action;
@@ -42,9 +43,9 @@
// -------------------------------------------------------------------------
// Dependencies
// -------------------------------------------------------------------------
-
+
private PatientService patientService;
-
+
public PatientService getPatientService()
{
return patientService;
@@ -54,9 +55,9 @@
{
this.patientService = patientService;
}
-
+
private ProgramInstanceService programInstanceService;
-
+
public ProgramInstanceService getProgramInstanceService()
{
return programInstanceService;
@@ -66,13 +67,13 @@
{
this.programInstanceService = programInstanceService;
}
-
+
// -------------------------------------------------------------------------
// Input & Output
// -------------------------------------------------------------------------
private Set programStageInstances;
-
+
public Set getProgramStageInstances()
{
return programStageInstances;
@@ -82,9 +83,9 @@
{
this.programStageInstances = programStageInstances;
}
-
+
private int programInstanceId;
-
+
public int getProgramInstanceId()
{
return programInstanceId;
@@ -94,9 +95,9 @@
{
this.programInstanceId = programInstanceId;
}
-
+
private Integer patientId;
-
+
public Integer getPatientId()
{
return patientId;
@@ -106,9 +107,9 @@
{
this.patientId = patientId;
}
-
+
private Patient patient;
-
+
public Patient getPatient()
{
return patient;
@@ -118,9 +119,9 @@
{
this.patient = patient;
}
-
+
private int programId;
-
+
public int getProgramId()
{
return programId;
@@ -130,9 +131,9 @@
{
this.programId = programId;
}
-
+
private boolean validated;
-
+
public boolean isValidated()
{
return validated;
@@ -143,6 +144,18 @@
this.validated = validated;
}
+ private Set repeatableStages;
+
+ public Set getRepeatableStages()
+ {
+ return repeatableStages;
+ }
+
+ public void setRepeatableStages( Set repeatableStages )
+ {
+ this.repeatableStages = repeatableStages;
+ }
+
@Override
public String execute()
throws Exception
@@ -150,6 +163,20 @@
ProgramInstance programInstance = programInstanceService.getProgramInstance( programInstanceId );
patient = patientService.getPatient( patientId );
programStageInstances = programInstance.getProgramStageInstances();
+ repeatableStages = new HashSet();
+
+ for ( ProgramStageInstance programStageInstance : programStageInstances )
+ {
+ ProgramStage programStage = programStageInstance.getProgramStage();
+ if (programStage.getIrregular()) {
+ repeatableStages.add( programStage );
+ }
+
+ if (programStage.getIrregular() && !programStageInstance.isCompleted()) {
+ repeatableStages.remove(programStage);
+ }
+ }
+ System.out.println("Size: " + repeatableStages.size());
return SUCCESS;
}
=== added file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetRepeatableEventRegistrationFormAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetRepeatableEventRegistrationFormAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/GetRepeatableEventRegistrationFormAction.java 2012-05-26 12:31:07 +0000
@@ -0,0 +1,101 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package org.hisp.dhis.light.namebaseddataentry.action;
+
+import org.hisp.dhis.program.ProgramStage;
+import org.hisp.dhis.program.ProgramStageService;
+
+import com.opensymphony.xwork2.Action;
+
+public class GetRepeatableEventRegistrationFormAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private ProgramStageService programStageService;
+
+ public ProgramStageService getProgramStageService()
+ {
+ return programStageService;
+ }
+
+ public void setProgramStageService( ProgramStageService programStageService )
+ {
+ this.programStageService = programStageService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input & Output
+ // -------------------------------------------------------------------------
+
+ private Integer programInstanceId;
+
+ public Integer getProgramInstanceId()
+ {
+ return programInstanceId;
+ }
+
+ public void setProgramInstanceId( Integer programInstanceId )
+ {
+ this.programInstanceId = programInstanceId;
+ }
+
+ private Integer programStageId;
+
+ public Integer getProgramStageId()
+ {
+ return programStageId;
+ }
+
+ public void setProgramStageId( Integer programStageId )
+ {
+ this.programStageId = programStageId;
+ }
+
+ private ProgramStage programStage;
+
+ public ProgramStage getProgramStage()
+ {
+ return programStage;
+ }
+
+ public void setProgramStage( ProgramStage programStage )
+ {
+ this.programStage = programStage;
+ }
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ programStage = programStageService.getProgramStage( programStageId );
+ return SUCCESS;
+ }
+
+}
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/SaveProgramStageFormAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/SaveProgramStageFormAction.java 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/SaveProgramStageFormAction.java 2012-05-26 12:31:07 +0000
@@ -45,6 +45,7 @@
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.organisationunit.OrganisationUnitService;
import org.hisp.dhis.patient.PatientService;
+import org.hisp.dhis.program.ProgramStageService;
import org.hisp.dhis.util.ContextUtils;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
@@ -52,6 +53,9 @@
public class SaveProgramStageFormAction
implements Action
{
+ private static final String SUCCESS_AND_BACK_TO_PROGRAMSTAGE = "success_back_to_programstage";
+
+ private static final String REGISTER_NEXT_DUEDATE = "register_next_duedate";
// -------------------------------------------------------------------------
// Dependencies
@@ -114,6 +118,18 @@
this.dataElementCategoryService = dataElementCategoryService;
}
+ private ProgramStageService programStageService;
+
+ public ProgramStageService getProgramStageService()
+ {
+ return programStageService;
+ }
+
+ public void setProgramStageService( ProgramStageService programStageService )
+ {
+ this.programStageService = programStageService;
+ }
+
// -------------------------------------------------------------------------
// Input & Output
// -------------------------------------------------------------------------
@@ -144,17 +160,17 @@
this.programStageInstanceId = programStageInstanceId;
}
-// private Integer programInstanceId;
-//
-// public Integer getProgramInstanceId()
-// {
-// return programInstanceId;
-// }
-//
-// public void setProgramInstanceId( Integer programInstanceId )
-// {
-// this.programInstanceId = programInstanceId;
-// }
+ // private Integer programInstanceId;
+ //
+ // public Integer getProgramInstanceId()
+ // {
+ // return programInstanceId;
+ // }
+ //
+ // public void setProgramInstanceId( Integer programInstanceId )
+ // {
+ // this.programInstanceId = programInstanceId;
+ // }
private Integer patientId;
@@ -313,13 +329,18 @@
return ERROR;
}
+ if ( programStageService.getProgramStage( programStageId ).getIrregular() )
+ {
+ return REGISTER_NEXT_DUEDATE;
+ }
+
if ( orgUnitId != 0 )
{
return SUCCESS;
}
else
{
- return "success_find";
+ return SUCCESS_AND_BACK_TO_PROGRAMSTAGE;
}
}
}
=== added file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/SaveRepeatableEvemtAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/SaveRepeatableEvemtAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/namebaseddataentry/action/SaveRepeatableEvemtAction.java 2012-05-26 12:31:07 +0000
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2004-2012, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package org.hisp.dhis.light.namebaseddataentry.action;
+
+import org.hisp.dhis.program.ProgramInstance;
+import org.hisp.dhis.program.ProgramInstanceService;
+import org.hisp.dhis.program.ProgramStage;
+import org.hisp.dhis.program.ProgramStageInstance;
+import org.hisp.dhis.program.ProgramStageInstanceService;
+import org.hisp.dhis.program.ProgramStageService;
+import org.joda.time.format.DateTimeFormatter;
+import org.joda.time.format.ISODateTimeFormat;
+import com.opensymphony.xwork2.Action;
+
+public class SaveRepeatableEvemtAction
+ implements Action
+{
+
+ // -------------------------------------------------------------------------
+ // Dependencies
+ // -------------------------------------------------------------------------
+
+ private ProgramInstanceService programInstanceService;
+
+ public ProgramInstanceService getProgramInstanceService()
+ {
+ return programInstanceService;
+ }
+
+ public void setProgramInstanceService( ProgramInstanceService programInstanceService )
+ {
+ this.programInstanceService = programInstanceService;
+ }
+
+ private ProgramStageService programStageService;
+
+ public ProgramStageService getProgramStageService()
+ {
+ return programStageService;
+ }
+
+ public void setProgramStageService( ProgramStageService programStageService )
+ {
+ this.programStageService = programStageService;
+ }
+
+ private ProgramStageInstanceService programStageInstanceService;
+
+ public ProgramStageInstanceService getProgramStageInstanceService()
+ {
+ return programStageInstanceService;
+ }
+
+ public void setProgramStageInstanceService( ProgramStageInstanceService programStageInstanceService )
+ {
+ this.programStageInstanceService = programStageInstanceService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Input & Output
+ // -------------------------------------------------------------------------
+
+ private Integer programInstanceId;
+
+ public Integer getProgramInstanceId()
+ {
+ return programInstanceId;
+ }
+
+ public void setProgramInstanceId( Integer programInstanceId )
+ {
+ this.programInstanceId = programInstanceId;
+ }
+
+ private Integer programStageId;
+
+ public Integer getProgramStageId()
+ {
+ return programStageId;
+ }
+
+ public void setProgramStageId( Integer programStageId )
+ {
+ this.programStageId = programStageId;
+ }
+
+ private String nextDueDate;
+
+ public String getNextDueDate()
+ {
+ return nextDueDate;
+ }
+
+ public void setNextDueDate( String nextDueDate )
+ {
+ this.nextDueDate = nextDueDate;
+ }
+
+ public Integer currentProgramStageInstanceId;
+
+ public Integer getCurrentProgramStageInstanceId()
+ {
+ return currentProgramStageInstanceId;
+ }
+
+ public void setCurrentProgramStageInstanceId( Integer currentProgramStageInstanceId )
+ {
+ this.currentProgramStageInstanceId = currentProgramStageInstanceId;
+ }
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ ProgramStageInstance currentStageInstance = programStageInstanceService
+ .getProgramStageInstance( currentProgramStageInstanceId );
+ DateTimeFormatter sdf = ISODateTimeFormat.yearMonthDay();
+ ProgramInstance programInstance = programInstanceService.getProgramInstance( programInstanceId );
+ ProgramStage programStage = programStageService.getProgramStage( programStageId );
+
+ ProgramStageInstance programStageInstance = new ProgramStageInstance();
+ programStageInstance.setDueDate( sdf.parseDateTime( nextDueDate ).toDate() );
+ programStageInstance.setProgramInstance( programInstance );
+ programStageInstance.setProgramStage( programStage );
+ programStageInstance.setStageInProgram( currentStageInstance.getStageInProgram() );
+
+ programStageInstanceService.addProgramStageInstance( programStageInstance );
+ return SUCCESS;
+ }
+}
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml 2012-05-26 12:31:07 +0000
@@ -238,6 +238,24 @@
ref="org.hisp.dhis.patient.PatientService"/>
+
+
+
+
+
+
+
+
+
+
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties 2012-05-15 07:40:06 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/resources/org/hisp/dhis/light/i18n_module.properties 2012-05-26 12:31:07 +0000
@@ -79,4 +79,6 @@
search_by_name_or_id=Search By Name or ID
select_orgunit=Select Organisation Unit
all_orgunit=All Organisation Unit
-tracking_menu=Tracking Menu
\ No newline at end of file
+tracking_menu=Tracking Menu
+due_date=Due Date
+register_due_date_for=Register Due Date For
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/resources/struts.xml 2012-05-26 12:31:07 +0000
@@ -129,7 +129,7 @@
class="org.hisp.dhis.light.namebaseddataentry.action.SaveProgramStageFormAction">
/mobile/selectBeneficiary.action?organisationUnitId=${orgUnitId}¤t=${current}&validated=true
-
+
/mobile/showPatientProgramStageList.action?patientId=${patientId}&programInstanceId=${programInstanceId}&programId=${programId}&validated=true
/dhis-web-light/main.vm
/dhis-web-light/namebased/programStageForm.vm
@@ -180,6 +180,14 @@
/dhis-web-light/main.vm
/dhis-web-light/namebased/beneficiaryProgramStageList.vm
+
+
+
+
+ /dhis-web-light/main.vm
+
+ /dhis-web-light/namebased/repeatableEventRegistrationForm.vm
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/namebased/beneficiaryProgramStageList.vm'
--- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/namebased/beneficiaryProgramStageList.vm 2012-05-24 14:51:18 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/namebased/beneficiaryProgramStageList.vm 2012-05-26 12:31:07 +0000
@@ -10,7 +10,9 @@
=== added file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/namebased/repeatableEventRegistrationForm.vm'
--- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/namebased/repeatableEventRegistrationForm.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/namebased/repeatableEventRegistrationForm.vm 2012-05-26 12:31:07 +0000
@@ -0,0 +1,29 @@
+$i18n.getString( "register_due_date_for" ) $programStage.getName()
+
+
+