=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patient/RemoveEnrollmentAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patient/RemoveEnrollmentAction.java 2011-01-11 07:06:28 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patient/RemoveEnrollmentAction.java 2011-01-20 02:15:19 +0000 @@ -63,272 +63,215 @@ * @author Abyot Asalefew Gizaw * @version $Id$ */ -public class RemoveEnrollmentAction - implements Action -{ - public static final String PREFIX_ATTRIBUTE = "attr"; - - // ------------------------------------------------------------------------- - // Dependencies - // ------------------------------------------------------------------------- - - private PatientService patientService; - - public void setPatientService( PatientService patientService ) - { - this.patientService = patientService; - } - - private ProgramService programService; - - public void setProgramService( ProgramService programService ) - { - this.programService = programService; - } - - private ProgramInstanceService programInstanceService; - - public void setProgramInstanceService( ProgramInstanceService programInstanceService ) - { - this.programInstanceService = programInstanceService; - } - - private SelectedStateManager selectedStateManager; - - public void setSelectedStateManager( SelectedStateManager selectedStateManager ) - { - this.selectedStateManager = selectedStateManager; - } - - private ProgramAttributeService programAttributeService; - - public void setProgramAttributeService( ProgramAttributeService programAttributeService ) - { - this.programAttributeService = programAttributeService; - } - - private ProgramAttributeOptionService programAttributeOptionService; - - public void setProgramAttributeOptionService( ProgramAttributeOptionService programAttributeOptionService ) - { - this.programAttributeOptionService = programAttributeOptionService; - } - - private ProgramAttributeValueService programAttributeValueService; - - public void setProgramAttributeValueService( ProgramAttributeValueService programAttributeValueService ) - { - this.programAttributeValueService = programAttributeValueService; - } - - private I18nFormat format; - - public void setFormat( I18nFormat format ) - { - this.format = format; - } - - // ------------------------------------------------------------------------- - // Input/Output - // ------------------------------------------------------------------------- - - private Integer id; - - public void setId( Integer id ) - { - this.id = id; - } - - public Integer getId() - { - return id; - } - - private Patient patient; - - public Patient getPatient() - { - return patient; - } - - public void setPatient( Patient patient ) - { - this.patient = patient; - } - - private ProgramInstance programInstance; - - public ProgramInstance getProgramInstance() - { - return programInstance; - } - - private Integer programId; - - public void setProgramId( Integer programId ) - { - this.programId = programId; - } - - public Integer getProgramId() - { - return programId; - } - - private Integer programInstanceId; - - public Integer getProgramInstanceId() - { - return programInstanceId; - } - - public void setProgramInstanceId( Integer programInstanceId ) - { - this.programInstanceId = programInstanceId; - } - - private Collection programs = new ArrayList(); - - public Collection getPrograms() - { - return programs; - } - - // ------------------------------------------------------------------------- - // Action implementation - // ------------------------------------------------------------------------- - - public String execute() - throws Exception - { - patient = selectedStateManager.getSelectedPatient(); - - Program program = selectedStateManager.getSelectedProgram(); - - programs = programService.getAllPrograms(); - - Collection programInstances = programInstanceService.getProgramInstances( patient, program, - false ); - - if ( programInstances.iterator().hasNext() ) - { - programInstance = programInstances.iterator().next(); - } - - if ( programInstance != null ) - { - programInstance.setEndDate( new Date() ); - programInstance.setCompleted( true ); - - programInstanceService.updateProgramInstance( programInstance ); - - patient.getPrograms().remove( program ); - patientService.updatePatient( patient ); - - selectedStateManager.clearSelectedProgram(); - } - - // -------------------------------------------------------------------------------------------------------- - // Save Program Attributes - // ----------------------------------------------------------------------------------------------------- - - HttpServletRequest request = ServletActionContext.getRequest(); - - Collection attributes = programAttributeService.getAllProgramAttributes(); - - Set programAttributes = new HashSet(); - - // End-user inputs attribute value for DEAD-attribute - boolean flag = false; - - if ( attributes != null && attributes.size() > 0 ) - { - programInstance.getAttributes().clear(); - - // Save other attributes - for ( ProgramAttribute attribute : attributes ) - { - String value = request.getParameter( RemoveEnrollmentAction.PREFIX_ATTRIBUTE + attribute.getId() ); - - if ( StringUtils.isNotBlank( value ) ) - { - programAttributes.add( attribute ); - - ProgramAttributeValue attributeValue = programAttributeValueService.getProgramAttributeValue( - programInstance, attribute ); - - // attributeValue is not exist - if ( attributeValue == null ) - { - attributeValue = new ProgramAttributeValue(); - attributeValue.setProgramInstance( programInstance ); - attributeValue.setProgramAttribute( attribute ); - - // DEAD program-attribute - if ( attribute.getName().equalsIgnoreCase( ProgramAttribute.DEAD_NAME ) - && attribute.getValueType().equalsIgnoreCase( ProgramAttribute.TYPE_BOOL ) ) - { - attributeValue.setValue( value.trim() ); - patient.setIsDead( Boolean.parseBoolean( value.trim() ) ); - patientService.updatePatient( patient ); - flag = true; - } - else if ( ProgramAttribute.TYPE_COMBO.equalsIgnoreCase( attribute.getValueType() ) ) - { - ProgramAttributeOption option = programAttributeOptionService.get( NumberUtils.toInt( - value, 0 ) ); - if ( option != null ) - { - attributeValue.setProgramAttributeOption( option ); - attributeValue.setValue( option.getName() ); - } - } - else - { - attributeValue.setValue( value.trim() ); - } - - // CLOSED-DATE program-attribute - if ( attribute.getName().equalsIgnoreCase( ProgramAttribute.CLOSED_DATE ) - && attribute.getValueType().equalsIgnoreCase( ProgramAttribute.TYPE_DATE ) && flag ) - { - patient.setDeathDate( format.parseDate( value.trim() ) ); - patientService.updatePatient( patient ); - } - - // save values - programAttributeValueService.saveProgramAttributeValue( attributeValue ); - - } - // attributeValue is exist - else - { - if ( ProgramAttribute.TYPE_COMBO.equalsIgnoreCase( attribute.getValueType() ) ) - { - ProgramAttributeOption option = programAttributeOptionService.get( NumberUtils.toInt( - value, 0 ) ); - if ( option != null ) - { - attributeValue.setProgramAttributeOption( option ); - attributeValue.setValue( option.getName() ); - } - } - else - { - attributeValue.setValue( value.trim() ); - } - } - - // update values - programAttributeValueService.updateProgramAttributeValue( attributeValue ); - } - } - } -System.out.println("\n\n ++++++++ \n programAttributes : " + programAttributes ); - programInstance.setAttributes( programAttributes ); - - programInstanceService.updateProgramInstance( programInstance ); - - return SUCCESS; - } +public class RemoveEnrollmentAction implements Action { + public static final String PREFIX_ATTRIBUTE = "attr"; + + // ------------------------------------------------------------------------- + // Dependencies + // ------------------------------------------------------------------------- + + private PatientService patientService; + + private ProgramService programService; + + private ProgramInstanceService programInstanceService; + + private ProgramAttributeService programAttributeService; + + private ProgramAttributeOptionService programAttributeOptionService; + + private ProgramAttributeValueService programAttributeValueService; + + private I18nFormat format; + + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + + private Integer programInstanceId; + + private Collection programs = new ArrayList(); + + private Patient patient; + + // ------------------------------------------------------------------------- + // Getters && Setters + // ------------------------------------------------------------------------- + + public void setPatientService(PatientService patientService) { + this.patientService = patientService; + } + + public void setProgramService(ProgramService programService) { + this.programService = programService; + } + + public void setProgramInstanceService( + ProgramInstanceService programInstanceService) { + this.programInstanceService = programInstanceService; + } + + public void setProgramAttributeService( + ProgramAttributeService programAttributeService) { + this.programAttributeService = programAttributeService; + } + + public void setProgramAttributeOptionService( + ProgramAttributeOptionService programAttributeOptionService) { + this.programAttributeOptionService = programAttributeOptionService; + } + + public void setProgramAttributeValueService( + ProgramAttributeValueService programAttributeValueService) { + this.programAttributeValueService = programAttributeValueService; + } + + public void setFormat(I18nFormat format) { + this.format = format; + } + + public Patient getPatient() { + return patient; + } + + public Collection getPrograms() { + return programs; + } + + public void setProgramInstanceId(Integer programInstanceId) { + this.programInstanceId = programInstanceId; + } + + + // ------------------------------------------------------------------------- + // Action implementation + // ------------------------------------------------------------------------- + + public String execute() throws Exception { + + ProgramInstance programInstance = programInstanceService.getProgramInstance( programInstanceId ); + + // Get selected patient from programInstance + patient = programInstance.getPatient(); + + // Get selected program from programInstance + Program program = programInstance.getProgram(); + + // --------------------------------------------------------------------- + // Update Information of programInstance + // --------------------------------------------------------------------- + + programInstance.setEndDate(new Date()); + programInstance.setCompleted(true); + + programInstanceService.updateProgramInstance(programInstance); + + patient.getPrograms().remove(program); + patientService.updatePatient(patient); + + // --------------------------------------------------------------------- + // Save Program Attributes + // --------------------------------------------------------------------- + + HttpServletRequest request = ServletActionContext.getRequest(); + + Collection attributes = programAttributeService + .getAllProgramAttributes(); + + Set programAttributes = new HashSet(); + + // End-user inputs attribute value for DEAD-attribute + boolean flag = false; + + if (attributes != null && attributes.size() > 0) { + programInstance.getAttributes().clear(); + + // Save other attributes + for (ProgramAttribute attribute : attributes) { + String value = request + .getParameter(RemoveEnrollmentAction.PREFIX_ATTRIBUTE + + attribute.getId()); + + if (StringUtils.isNotBlank(value)) { + programAttributes.add(attribute); + + ProgramAttributeValue attributeValue = programAttributeValueService + .getProgramAttributeValue(programInstance, + attribute); + + // attributeValue is not exist + if (attributeValue == null) { + attributeValue = new ProgramAttributeValue(); + attributeValue.setProgramInstance(programInstance); + attributeValue.setProgramAttribute(attribute); + + // DEAD program-attribute + if (attribute.getName().equalsIgnoreCase( + ProgramAttribute.DEAD_NAME) + && attribute.getValueType().equalsIgnoreCase( + ProgramAttribute.TYPE_BOOL)) { + attributeValue.setValue(value.trim()); + patient.setIsDead(Boolean + .parseBoolean(value.trim())); + patientService.updatePatient(patient); + flag = true; + } else if (ProgramAttribute.TYPE_COMBO + .equalsIgnoreCase(attribute.getValueType())) { + ProgramAttributeOption option = programAttributeOptionService + .get(NumberUtils.toInt(value, 0)); + if (option != null) { + attributeValue + .setProgramAttributeOption(option); + attributeValue.setValue(option.getName()); + } + } else { + attributeValue.setValue(value.trim()); + } + + // CLOSED-DATE program-attribute + if (attribute.getName().equalsIgnoreCase( + ProgramAttribute.CLOSED_DATE) + && attribute.getValueType().equalsIgnoreCase( + ProgramAttribute.TYPE_DATE) && flag) { + patient + .setDeathDate(format + .parseDate(value.trim())); + patientService.updatePatient(patient); + } + + // save values + programAttributeValueService + .saveProgramAttributeValue(attributeValue); + + } + // attributeValue is exist + else { + if (ProgramAttribute.TYPE_COMBO + .equalsIgnoreCase(attribute.getValueType())) { + ProgramAttributeOption option = programAttributeOptionService + .get(NumberUtils.toInt(value, 0)); + if (option != null) { + attributeValue + .setProgramAttributeOption(option); + attributeValue.setValue(option.getName()); + } + } else { + attributeValue.setValue(value.trim()); + } + } + + // update values + programAttributeValueService + .updateProgramAttributeValue(attributeValue); + } + } + } + System.out.println("\n\n ++++++++ \n programAttributes : " + + programAttributes); + programInstance.setAttributes(programAttributes); + + programInstanceService.updateProgramInstance(programInstance); + + return SUCCESS; + } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patient/RemoveEnrollmentSelectAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patient/RemoveEnrollmentSelectAction.java 2011-01-11 07:06:28 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/patient/RemoveEnrollmentSelectAction.java 2011-01-20 02:15:19 +0000 @@ -26,11 +26,17 @@ */ package org.hisp.dhis.patient.action.patient; +import java.util.ArrayList; import java.util.Collection; +import org.hisp.dhis.patient.Patient; +import org.hisp.dhis.patient.PatientService; +import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramAttribute; import org.hisp.dhis.program.ProgramAttributeService; import org.hisp.dhis.program.ProgramInstance; +import org.hisp.dhis.program.ProgramInstanceService; +import org.hisp.dhis.program.ProgramService; import com.opensymphony.xwork2.Action; @@ -38,83 +44,122 @@ * @author Chau Thu Tran * @version $ID : RemoveEnrollmentSelectAction.java Jan 11, 2011 10:00:55 AM $ */ -public class RemoveEnrollmentSelectAction - implements Action -{ - // ------------------------------------------------------------------------- - // Dependency - // ------------------------------------------------------------------------- - - private ProgramAttributeService programAttributeService; - - // ------------------------------------------------------------------------- - // Input/Output - // ------------------------------------------------------------------------- - - private Integer id; - - private Integer programId; - - private ProgramInstance programInstance; - - private Collection programAttributes; - - - // ------------------------------------------------------------------------- - // Getter - // ------------------------------------------------------------------------- - - public void setProgramAttributeService( ProgramAttributeService programAttributeService ) - { - this.programAttributeService = programAttributeService; - } - - public void setId( Integer id ) - { - this.id = id; - } - - public Integer getId() - { - return id; - } - - public void setProgramId( Integer programId ) - { - this.programId = programId; - } - - public ProgramInstance getProgramInstance() - { - return programInstance; - } - - public void setProgramInstance( ProgramInstance programInstance ) - { - this.programInstance = programInstance; - } - - public Integer getProgramId() - { - return programId; - } - - public Collection getProgramAttributes() - { - return programAttributes; - } - - // ------------------------------------------------------------------------- - // Implementation Action - // ------------------------------------------------------------------------- - - @Override - public String execute() - throws Exception - { - programAttributes = programAttributeService.getAllProgramAttributes(); - - return SUCCESS; - } +public class RemoveEnrollmentSelectAction implements Action { + // ------------------------------------------------------------------------- + // Dependency + // ------------------------------------------------------------------------- + + private ProgramAttributeService programAttributeService; + + private ProgramInstanceService programInstanceService; + + private ProgramService programService; + + private PatientService patientService; + + // ------------------------------------------------------------------------- + // Input/Output + // ------------------------------------------------------------------------- + + private Integer patientId; + + private Integer programInstanceId; + + private Collection programInstances; + + private Collection programAttributes; + + private ProgramInstance programInstance; + + private Patient patient; + + // ------------------------------------------------------------------------- + // Getter + // ------------------------------------------------------------------------- + + public void setProgramAttributeService( + ProgramAttributeService programAttributeService) { + this.programAttributeService = programAttributeService; + } + + public ProgramInstance getProgramInstance() { + return programInstance; + } + + public void setPatientService(PatientService patientService) { + this.patientService = patientService; + } + + public void setProgramService(ProgramService programService) { + this.programService = programService; + } + + public Patient getPatient() { + return patient; + } + + public void setPatientId(Integer patientId) { + this.patientId = patientId; + } + + public void setProgramInstanceId(Integer programInstanceId) { + this.programInstanceId = programInstanceId; + } + + public Collection getProgramInstances() { + return programInstances; + } + + public Collection getProgramAttributes() { + return programAttributes; + } + + public void setProgramInstanceService( + ProgramInstanceService programInstanceService) { + this.programInstanceService = programInstanceService; + } + + // ------------------------------------------------------------------------- + // Implementation Action + // ------------------------------------------------------------------------- + + @Override + public String execute() throws Exception { + + programAttributes = programAttributeService.getAllProgramAttributes(); + + // --------------------------------------------------------------------- + // Get programInstance + // --------------------------------------------------------------------- + + programInstances = new ArrayList(); + + // Get selected patient + patient = patientService.getPatient( patientId ); + // Get all of programs + Collection programs = programService.getAllPrograms(); + + for( Program program : programs ) + { + Collection instances = programInstanceService + .getProgramInstances(patient, program, false); + + if (instances.iterator().hasNext()) { + programInstances.add( instances.iterator().next() ); + } + + } + + // --------------------------------------------------------------------- + // Get selected programInstance + // --------------------------------------------------------------------- + + if( programInstanceId != null ) + { + programInstance = programInstanceService.getProgramInstance( programInstanceId ); + } + + return SUCCESS; + } } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2011-01-12 02:26:26 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2011-01-20 02:15:19 +0000 @@ -563,6 +563,12 @@ scope="prototype"> + + + - ../dhis-web-commons/ouwt/ouwt.js ,../dhis-web-commons/javascripts/date.js - ,javascript/jquery/thickbox/thickbox-compressed.js + ,../dhis-web-commons/javascripts/jquery/ui/ui.thickbox.min.js ,javascript/relationshipPatient.js ,javascript/commons.js - javascript/jquery/thickbox/thickbox.css, style/basic.css + + ../dhis-web-commons/javascripts/jquery/ui/css/theme/thickbox.css + , style/basic.css + F_PATIENT_ADD @@ -257,8 +260,8 @@ /dhis-web-maintenance-patient/updatePatientAttibuteForm.vm /dhis-web-maintenance-patient/patientAndProgramMenu.vm javascript/patientAttribute.js - ,javascript/jquery/cluetip/jquery.cluetip.min.js - javascript/jquery/cluetip/jquery.cluetip.css + ,../dhis-web-commons/javascripts/jquery/ui/jquery.cluetip.min.js + ../dhis-web-commons/javascripts/jquery/ui/css/theme/jquery.cluetip.css F_PATIENTATTRIBUTE_UPDATE @@ -427,11 +430,15 @@ ../dhis-web-commons/ouwt/ouwt.js ,../dhis-web-commons/javascripts/date.js - ,javascript/jquery/cluetip/jquery.cluetip.min.js + ,../dhis-web-commons/javascripts/jquery/ui/jquery.cluetip.min.js ,javascript/patient.js ,javascript/commons.js - javascript/jquery/thickbox/thickbox.css,javascript/jquery/cluetip/jquery.cluetip.css,style/basic.css + + ../dhis-web-commons/javascripts/jquery/ui/css/theme/thickbox.css + ,../dhis-web-commons/javascripts/jquery/ui/css/theme/jquery.cluetip.css + ,style/basic.css + F_PATIENT_UPDATE @@ -538,7 +545,7 @@ javascript/patient.js - enrollChain unEnrollmentFormChain @@ -548,15 +555,15 @@ unEnrollmentFormChain - + --> - /main.vm /dhis-web-maintenance-patient/patientAndProgramMenuWithTree.vm 321 - /dhis-web-maintenance-patient/programUnenrollmentForm.vm + /dhis-web-maintenance-patient/programUnenrollmentSelectForm.vm ../dhis-web-commons/ouwt/ouwt.js, ../dhis-web-commons/javascripts/date.js, @@ -566,7 +573,7 @@ - showProgramUnEnrollmentForm.action?id=${id} + showProgramUnEnrollmentForm.action?patientId=${patient.id} F_PATIENT_DELETE === removed file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programUnenrollmentForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programUnenrollmentForm.vm 2011-01-11 07:06:28 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programUnenrollmentForm.vm 1970-01-01 00:00:00 +0000 @@ -1,104 +0,0 @@ - - - -
- -#parse( "/dhis-web-maintenance-patient/programUnenrollmentSelectForm.vm" ) - - - - - - - - - - - - - - - - -#if($!programInstance.enrollmentDate) - - - - #foreach($attribute in $programAttributes) - - - - - #end - - - - - -
( $!selectedProgram.dateOfEnrollmentDescription )
( $!selectedProgram.dateOfIncidentDescription )

$attribute.name - #if( $attribute.valueType == "YES/NO" ) - - #elseif( $attribute.valueType == "DATE" ) - - - #elseif( $attribute.valueType == "COMBO" ) - - #else - - #end - - #if($!programAttribute.description) ($!programAttribute.description) #end -
-#end - - - - - -
- -
- -
- - - - === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programUnenrollmentSelectForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programUnenrollmentSelectForm.vm 2011-01-11 07:06:28 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programUnenrollmentSelectForm.vm 2011-01-20 02:15:19 +0000 @@ -1,14 +1,33 @@ + + +
-

$i18n.getString( "program_unenrollment" )

-
- -
- @@ -33,19 +52,103 @@
+ +
$i18n.getString( "full_name" ):
- - #foreach( $program in $programs ) - - + #foreach( $instance in $programInstances ) + #end
+#if( $!programInstance ) + + + + + + + + + + + + + + + + + + + + + + + + + #foreach($attribute in $programAttributes) + + + + + #end + + + + + + +
( $!programInstance.program.dateOfEnrollmentDescription )
( $!programInstance.program.dateOfIncidentDescription )

$attribute.name + #if( $attribute.valueType == "YES/NO" ) + + #elseif( $attribute.valueType == "DATE" ) + + + #elseif( $attribute.valueType == "COMBO" ) + + #else + + #end + + #if($!programAttribute.description) ($!programAttribute.description) #end +
+ + + + + + +
+ +
+#end + + + + + +