dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #19054
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 8162: Put Identifiers/Attributes which belong to selected program into Enrollment-program form.
------------------------------------------------------------
revno: 8162
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2012-09-20 20:04:02 +0700
message:
Put Identifiers/Attributes which belong to selected program into Enrollment-program form.
added:
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetProgramAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/identifierAndAttributeForm.vm
modified:
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientHistoryAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java
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/struts.xml
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientProgramTracking.vm
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentForm.vm
dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentSelectForm.vm
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientHistoryAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientHistoryAction.java 2012-03-09 11:46:58 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientHistoryAction.java 2012-09-20 13:04:02 +0000
@@ -47,7 +47,7 @@
implements Action
{
// -------------------------------------------------------------------------
- // Implementation Action
+ // Dependencies
// -------------------------------------------------------------------------
private PatientService patientService;
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetProgramAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetProgramAction.java 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetProgramAction.java 2012-09-20 13:04:02 +0000
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2004-2009, 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.caseentry.action.patient;
+
+import org.hisp.dhis.program.Program;
+import org.hisp.dhis.program.ProgramService;
+
+import com.opensymphony.xwork2.Action;
+
+/**
+ * @author Chau Thu Tran
+ *
+ * @version GetProgramAction.java 6:28:06 PM Sep 20, 2012 $
+ */
+public class GetProgramAction
+ implements Action
+{
+ // -------------------------------------------------------------------------
+ // Dependency
+ // -------------------------------------------------------------------------
+
+ private ProgramService programService;
+
+ public void setProgramService( ProgramService programService )
+ {
+ this.programService = programService;
+ }
+
+ // -------------------------------------------------------------------------
+ // Getter && Setter
+ // -------------------------------------------------------------------------
+
+ private Integer id;
+
+ public void setId( Integer id )
+ {
+ this.id = id;
+ }
+
+ private Program program;
+
+ public Program getProgram()
+ {
+ return program;
+ }
+
+ // -------------------------------------------------------------------------
+ // Implementation Action
+ // -------------------------------------------------------------------------
+
+ @Override
+ public String execute()
+ throws Exception
+ {
+ program = programService.getProgram( id );
+
+ return SUCCESS;
+ }
+
+}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java 2012-09-05 14:30:23 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java 2012-09-20 13:04:02 +0000
@@ -115,6 +115,16 @@
this.patientIdentifierService = patientIdentifierService;
}
+ public Integer getProgramId()
+ {
+ return programId;
+ }
+
+ public Integer getPatientId()
+ {
+ return patientId;
+ }
+
public void setPatientId( Integer patientId )
{
this.patientId = patientId;
=== 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 2012-09-13 09:25:01 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2012-09-20 13:04:02 +0000
@@ -656,6 +656,13 @@
<property name="patientService" ref="org.hisp.dhis.patient.PatientService" />
<property name="programInstanceService" ref="org.hisp.dhis.program.ProgramInstanceService" />
</bean>
+
+ <bean
+ id="org.hisp.dhis.caseentry.action.patient.GetProgramAction"
+ class="org.hisp.dhis.caseentry.action.patient.GetProgramAction"
+ scope="prototype">
+ <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+ </bean>
<!-- Relationship -->
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2012-09-15 04:18:54 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2012-09-20 13:04:02 +0000
@@ -328,6 +328,7 @@
/dhis-web-caseentry/responsePrograms.vm
</result>
</action>
+
<!-- i18n -->
<action name="i18n" class="org.hisp.dhis.caseentry.action.NoAction">
@@ -618,6 +619,13 @@
<result name="success" type="velocity-xml">status.vm</result>
<param name="requiredAuthorities">F_PATIENT_UPDATE, F_PROGRAM_ENROLLMENT</param>
</action>
+
+ <action name="getPatientIdentifierAndAttribute"
+ class="org.hisp.dhis.caseentry.action.patient.GetProgramAction">
+ <result name="success" type="velocity">/content.vm</result>
+ <param name="page">/dhis-web-caseentry/identifierAndAttributeForm.vm</param>
+ <param name="requiredAuthorities">F_PATIENT_UPDATE</param>
+ </action>
<!-- Relationship -->
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/identifierAndAttributeForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/identifierAndAttributeForm.vm 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/identifierAndAttributeForm.vm 2012-09-20 13:04:02 +0000
@@ -0,0 +1,38 @@
+
+#foreach ($identifierType in $program.patientIdentifierTypes)
+ <tr #alternate( $mark )>
+ <td class='text-column'><label>$identifierType.name #if($identifierType.mandatory == true )<em title="$i18n.getString( 'required' )" class="required">*</em> #end</label></td>
+ <td class="input-column">
+ <input type="text" id="iden$identifierType.id" name="iden$identifierType.id" class="{validate:{required:$identifierType.mandatory, #if($!identifierType.noChars) maxlength:$identifierType.noChars, #end #if($identifierType.type=='number') number:true #elseif($!identifierType.type=='letter') lettersonly:true #end }}" />
+ </td>
+ </tr>
+#end
+
+#foreach($attribute in $program.patientAttributes )
+ <tr #alternate( $mark )>
+ <td class='text-column'><label>$attribute.name #if($attribute.mandatory)<em title="$i18n.getString( "required" )" class="required">*</em> #end</label></td>
+ <td class="input-column" >
+ #if( $attribute.valueType == "YES/NO" )
+ <select id="attr$attribute.id" name="attr$attribute.id" >
+ <option value="">[$i18n.getString( "please_select" )]</option>
+ <option value="true">$i18n.getString( "yes" )</option>
+ <option value="false">$i18n.getString( "no" )</option>
+ </select>
+ #elseif( $attribute.valueType == "DATE" )
+ <input type="text" id="attr$attribute.id" name="attr$attribute.id" objectId='$attribute.id' objectType='attr' class=' #validate( "default" $attribute.mandatory )' >
+ <script type="text/javascript">
+ datePickerValid( 'attr$attribute.id' );
+ </script>
+ #elseif( $attribute.valueType == "COMBO" )
+ <select id="attr$attribute.id" name="attr$attribute.id" class=' #validate( "default" $attribute.mandatory )' >
+ <option value="">[$i18n.getString( "please_select" )]</option>
+ #foreach ($option in $attribute.attributeOptions )
+ <option value="$option.id">$option.name</option>
+ #end
+ </select>
+ #else
+ <input type="text" id="attr$attribute.id" name="attr$attribute.id" class="{validate:{required:$attribute.mandatory #if($!attribute.noChars),maxlength:$attribute.noChars #end #if($attribute.valueType=='NUMBER'),number:true #end }}" >
+ #end
+ </td>
+ </tr>
+#end
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js 2012-09-20 08:09:14 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/patient.js 2012-09-20 13:04:02 +0000
@@ -346,10 +346,10 @@
title: i18n_enroll_program,
maximize: true,
closable: true,
- modal:false,
+ modal:true,
overlay:{background:'#000000', opacity:0.1},
- width: 500,
- height: 200
+ width: 550,
+ height: 450
});
}
@@ -378,19 +378,27 @@
var displayIncidentDate = jQuery('#enrollmentDiv [name=programId] option:selected').attr('displayIncidentDate');
if( displayIncidentDate=='true'){
- showById( 'dateOfIncidentTR');
+ showById('dateOfIncidentTR');
enable('dateOfIncident');
}
else{
- hideById( 'dateOfIncidentTR');
+ hideById('dateOfIncidentTR');
disable('dateOfIncident');
}
}
+ var programId = jQuery('#programEnrollmentSelectDiv [id=programId] option:selected').val();
+ jQuery('#identifierAndAttributeDiv').load("getPatientIdentifierAndAttribute.action",
+ {
+ id:programId
+ }, function(){
+ showById('identifierAndAttributeDiv');
+ });
}
}
function saveEnrollment( patientId, programId )
{
+ var patientId = jQuery('#enrollmentDiv [id=patientId]').val();
var programId = jQuery('#enrollmentDiv [id=programId] option:selected').val();
var programName = jQuery('#enrollmentDiv [id=programId] option:selected').text();
var dateOfIncident = jQuery('#enrollmentDiv [id=dateOfIncidentField]').val();
@@ -398,7 +406,7 @@
jQuery.postJSON( "saveProgramEnrollment.action",
{
- patientId: jQuery('#enrollmentDiv [id=patientId]').val(),
+ patientId: patientId,
programId: programId,
dateOfIncident: dateOfIncident,
enrollmentDate: enrollmentDate
@@ -426,7 +434,7 @@
jQuery('#activeTB' ).prepend(activedRow);
jQuery('#enrollmentDiv').dialog("close");
-
+ saveIdentifierAndAttribute( patientId, programId,'identifierAndAttributeDiv' );
loadProgramInstance( programInstanceId, false );
showSuccessMessage(i18n_enrol_success);
});
@@ -552,7 +560,7 @@
jQuery('#completedList' ).append('<option value="' + programInstanceId + '">' + getInnerHTML('infor_' + programInstanceId ) + '</option>');
hideById('tr1_' + programInstanceId );
hideById('tr2_' + programInstanceId );
- hideById('programEnrollmentDiv');
+ setInnerHTML('programEnrollmentDiv','');
showSuccessMessage( i18n_unenrol_success );
}
});
@@ -699,7 +707,6 @@
setFieldValue( 'dateOfIncident', '' );
hideById('enrollmentDateTR');
hideById('dateOfIncidentTR');
- //hideById('enrollBtn');
hideById('unenrollBtn');
}
@@ -708,7 +715,6 @@
showById('enrollmentDateTR');
showById('dateOfIncidentTR');
enable('dateOfIncident');
- //showById('enrollBtn');
}
function hideIncidentDateField()
@@ -723,12 +729,15 @@
showById('dateOfIncidentTR');
}
-function saveIdentifierAndAttribute()
+function saveIdentifierAndAttribute( patientId, programId, paramsDiv)
{
+ var params = getParamsForDiv(paramsDiv);
+ params += "&patientId=" + patientId;
+ params +="&programId=" + programId;
$.ajax({
type: "POST",
url: 'savePatientIdentifierAndAttribute.action',
- data: getParamsForDiv('programEnrollmentInforForm'),
+ data: params,
success: function(json)
{
showSuccessMessage( i18n_save_success );
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientProgramTracking.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientProgramTracking.vm 2012-09-20 05:15:30 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientProgramTracking.vm 2012-09-20 13:04:02 +0000
@@ -189,7 +189,7 @@
jQuery("#programEnrollmentInforForm").ready( function(){
validation( 'programEnrollmentInforForm', function(form){
- saveIdentifierAndAttribute();
+ saveIdentifierAndAttribute($!programInstance.patient.id,$!programInstance.program.id,'tab-3');
});
disable("dateOfIncident");
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentForm.vm 2012-09-20 05:15:30 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentForm.vm 2012-09-20 13:04:02 +0000
@@ -41,8 +41,6 @@
<div id="tab-2">
<form id='programEnrollmentInforForm' name='programEnrollmentInforForm' action='#' method="POST" >
#if( ( $!noIden && $!noIden > 0) || ( $!noOtherGroup && $!noOtherGroup > 0) || ( $!noGroup && $!noGroup > 0 ) )
- <input type='hidden' id='programId' name='programId' value='$programInstance.program.id'>
- <input type='hidden' id='patientId' name='patientId' value='$programInstance.patient.id'>
<!-- IDENTIFIERS -->
<table id='enrollmentInforDiv' name='enrollmentInforDiv' class='mainPageTable' >
#if( $!noIden && $noIden > 0 )
@@ -223,7 +221,7 @@
jQuery("#programEnrollmentInforForm").ready( function(){
validation( 'programEnrollmentInforForm', function(form){
- saveIdentifierAndAttribute();
+ saveIdentifierAndAttribute(programInstance.patient.id,$programInstance.program.id,'programEnrollmentInforForm');
});
#if( $!programInstance )
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentSelectForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentSelectForm.vm 2012-09-20 08:09:14 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programEnrollmentSelectForm.vm 2012-09-20 13:04:02 +0000
@@ -10,7 +10,6 @@
validation( 'programEnrollmentSelectDiv', function(form){
form.submit();
});
-
datePickerInRangeValid( 'dateOfIncidentField' , 'enrollmentDateField' );
setFieldValue("dateOfIncidentField", "");
var unSave = false;
@@ -53,6 +52,8 @@
<td></td>
</tr>
+ <tbody id='identifierAndAttributeDiv' name='identifierAndAttributeDiv'></tbody>
+
<tr>
<td></td>
<td colspan='2'>