=== renamed file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/RemoveEnrollmentAction.java' => 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SetProgramInstanceStatusAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/RemoveEnrollmentAction.java 2013-03-01 07:34:20 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SetProgramInstanceStatusAction.java 2013-03-01 09:15:24 +0000 @@ -43,7 +43,7 @@ * @author Abyot Asalefew Gizaw * @version $Id$ */ -public class RemoveEnrollmentAction +public class SetProgramInstanceStatusAction implements Action { // ------------------------------------------------------------------------- @@ -62,6 +62,8 @@ private Collection programs = new ArrayList(); + private boolean completed; + // ------------------------------------------------------------------------- // Getters && Setters // ------------------------------------------------------------------------- @@ -86,6 +88,11 @@ this.programInstanceId = programInstanceId; } + public void setCompleted( boolean completed ) + { + this.completed = completed; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -98,24 +105,27 @@ Patient patient = programInstance.getPatient(); Program program = programInstance.getProgram(); - - // --------------------------------------------------------------------- - // Update Information of programInstance - // --------------------------------------------------------------------- - - programInstance.setEndDate( new Date() ); - programInstance.setCompleted( true ); + programInstance.setCompleted( completed ); + + if ( completed ) + { + programInstance.setEndDate( new Date() ); + + if ( !program.getOnlyEnrollOnce() ) + { + patient.getPrograms().remove( program ); + patientService.updatePatient( patient ); + } + } + else + { + programInstance.setEndDate( null ); + + patient.getPrograms().add( program ); + patientService.updatePatient( patient ); + } + programInstanceService.updateProgramInstance( programInstance ); - - // --------------------------------------------------------------------- - // Set Completed status all program-instaces of Death case - // --------------------------------------------------------------------- - - if ( !program.getOnlyEnrollOnce() ) - { - patient.getPrograms().remove( program ); - patientService.updatePatient( patient ); - } return SUCCESS; } === 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-03-01 07:34:20 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2013-03-01 09:15:24 +0000 @@ -662,8 +662,8 @@ - === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2013-02-28 09:32:45 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2013-03-01 09:15:24 +0000 @@ -378,7 +378,8 @@ stages_skipped = Stages is skipped value_is_invalid = Value is invalid value_is_valid = Value is valid -incomplete_confirm_message=Are you sure that you want to mark as completed for this program ? +complete_confirm_message=Are you sure that you want to mark as completed for this program ? +incomplete_confirm_message = Are you sure that you want to mark as incompleted for this program ? incomplete = Incomplete remove_empty_events_success = Removed empty events successfully confirm_remove_empty_events = Are you sure you want to remove empty events? @@ -556,4 +557,5 @@ multiple_periods_selected_as_filter = Multiple periods selected as filter. The first one is being used. multiple_orgunits_selected_as_filter = Multiple organisation units selected as filter. The first one is being used. accessed_module = Accessed module -sms = SMS \ No newline at end of file +sms = SMS +reenrol_success = Re-enroll successfully \ No newline at end of file === 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 2013-02-21 04:50:59 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml 2013-03-01 09:15:24 +0000 @@ -630,8 +630,8 @@ F_PATIENT_UPDATE, F_PROGRAM_ENROLLMENT - + status.vm F_PROGRAM_UNENROLLMENT === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/anonymousRegistration.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/anonymousRegistration.vm 2013-02-20 08:03:09 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/anonymousRegistration.vm 2013-03-01 09:15:24 +0000 @@ -150,7 +150,7 @@ var i18n_saving_value_failed_error_code = '$encoder.jsEscape( $i18n.getString( "saving_value_failed_error_code" ) , "'")'; var i18n_searching_patient_failed = '$encoder.jsEscape( $i18n.getString( "searching_patient_failed" ) , "'")'; var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; - var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; + var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; var i18n_violate_validation = '$encoder.jsEscape( $i18n.getString( "violate_validation" ) , "'")'; var i18n_date_is_greater_then_or_equals_due_date = '$encoder.jsEscape( $i18n.getString( "date_is_greater_then_or_equals_due_date" ) , "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm 2013-02-25 03:05:26 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/cacheManifest.vm 2013-03-01 09:15:24 +0000 @@ -1,5 +1,5 @@ CACHE MANIFEST -# 2.11-SNAPSHOT V6 +# 2.11-SNAPSHOT V12 NETWORK: * CACHE: === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2013-03-01 07:34:20 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2013-03-01 09:15:24 +0000 @@ -1395,21 +1395,33 @@ { $.ajax({ type: "POST", - url: 'removeEnrollment.action', - data: "programInstanceId=" + programInstanceId, + url: 'setProgramInstanceStatus.action', + data: "programInstanceId=" + programInstanceId + "&completed=false", success: function( json ) { - var completed = ""; - completed += "" + jQuery('#tr1_' + programInstanceId + " span" ).html() + ""; + var type=jQuery("#tr1_" + programInstanceId ).attr('type'); + var programStageInstanceId=jQuery("#tr1_" + programInstanceId ).attr('programStageInstanceId'); + + var completed = ""; + completed += jQuery('#td_' + programInstanceId).parent().html() + ""; + + var activeEvent2 = jQuery("#tr2_" + programInstanceId ); + if( activeEvent2.length>0 ) + { + completed += "" + activeEvent2.parent().html() + ""; + } jQuery('#completedTB' ).prepend( completed ); - jQuery('#tr1_' + programInstanceId ).remove(); - jQuery('#tr2_' + programInstanceId ).remove(); + + jQuery('#activeTB [id=tr1_' + programInstanceId + ']').remove(); + jQuery('#activeTB [id=tr2_' + programInstanceId + ']').remove(); jQuery("[id=tab-2] :input").prop('disabled', true); jQuery("[id=tab-3] :input").prop('disabled', true); jQuery("[id=tab-4] :input").prop('disabled', true); jQuery("[id=tab-5] :input").prop('disabled', true); jQuery("[id=tab-3] :input").datepicker("destroy"); + jQuery("#completeProgram").attr('disabled', true); + jQuery("#incompleteProgram").attr('disabled', false); showSuccessMessage( i18n_unenrol_success ); } @@ -1419,6 +1431,48 @@ } +function reenrollmentForm( programInstanceId ) +{ + if( confirm(i18n_incomplete_confirm_message) ) + { + $.ajax({ + type: "POST", + url: 'setProgramInstanceStatus.action', + data: "programInstanceId=" + programInstanceId + "&completed=true", + success: function( json ) + { + var type=jQuery("#tr1_" + programInstanceId ).attr('type'); + var programStageInstanceId=jQuery("#tr1_" + programInstanceId ).attr('programStageInstanceId'); + + var completed = ""; + completed += jQuery('#td_' + programInstanceId).parent().html() + ""; + + var activeEvent = jQuery("#tr2_" + programInstanceId ); + if( activeEvent.length>0 ) + { + completed += "" + activeEvent.parent().html() + ""; + } + jQuery('#activeTB' ).prepend( completed ); + + jQuery('#completedTB [id=tr1_' + programInstanceId + ']').remove(); + jQuery('#completedTB [id=tr2_' + programInstanceId + ']').remove(); + + jQuery("[id=tab-2] :input").prop('disabled', false); + jQuery("[id=tab-3] :input").prop('disabled', false); + jQuery("[id=tab-4] :input").prop('disabled', false); + jQuery("[id=tab-5] :input").prop('disabled', false); + jQuery("#completeProgram").attr('disabled', false); + jQuery("#incompleteProgram").attr('disabled', true); + jQuery("[id=tab-3] :input").datepicker("destroy"); + + showSuccessMessage( i18n_reenrol_success ); + } + }); + + } + +} + // ---------------------------------------------------------------- // Identifiers && Attributes for selected program // ---------------------------------------------------------------- === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/multiDataEntrySelect.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/multiDataEntrySelect.vm 2013-02-08 12:46:09 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/multiDataEntrySelect.vm 2013-03-01 09:15:24 +0000 @@ -41,8 +41,9 @@ var i18n_saving_value_failed_error_code = '$encoder.jsEscape( $i18n.getString( "saving_value_failed_error_code" ) , "'")'; var i18n_searching_patient_failed = '$encoder.jsEscape( $i18n.getString( "searching_patient_failed" ) , "'")'; var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; - var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; - var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; + var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; + var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; + var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; var i18n_violate_validation = '$encoder.jsEscape( $i18n.getString( "violate_validation" ) , "'")'; var i18n_date_less_incident_date = '$encoder.jsEscape( $i18n.getString( "date_less_incident_date" ) , "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientRegistrationList.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientRegistrationList.vm 2013-02-13 15:58:32 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientRegistrationList.vm 2013-03-01 09:15:24 +0000 @@ -174,8 +174,9 @@ var i18n_saving_value_failed_error_code = '$encoder.jsEscape( $i18n.getString( "saving_value_failed_error_code" ) , "'")'; var i18n_searching_patient_failed = '$encoder.jsEscape( $i18n.getString( "searching_patient_failed" ) , "'")'; var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; - var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; - var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; + var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; + var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; + var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; var i18n_violate_validation = '$encoder.jsEscape( $i18n.getString( "violate_validation" ) , "'")'; var i18n_date_is_greater_then_or_equals_due_date = '$encoder.jsEscape( $i18n.getString( "date_is_greater_then_or_equals_due_date" ) , "'")'; var i18n_program_stage = '$encoder.jsEscape( $i18n.getString( "program_stage" ) , "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programTrackingSelect.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programTrackingSelect.vm 2013-02-12 17:08:19 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/programTrackingSelect.vm 2013-03-01 09:15:24 +0000 @@ -92,6 +92,7 @@ var i18n_list_all_patient = '$encoder.jsEscape( $i18n.getString( "list_all_patient" ) , "'")'; var i18n_enrol_success = '$encoder.jsEscape( $i18n.getString( "enrol_success" ) , "'")'; var i18n_unenrol_success = '$encoder.jsEscape( $i18n.getString( "unenrol_success" ) , "'")'; + var i18n_reenrol_success = '$encoder.jsEscape( $i18n.getString( "reenrol_success" ) , "'")'; var i18n_list_patients_by_program = '$encoder.jsEscape( $i18n.getString( "list_patients_by_program" ) , "'" )'; var i18n_confirm_delete = '$encoder.jsEscape( $i18n.getString( "confirm_delete_patient" ) , "'" )'; var i18n_adding_patient_failed = '$encoder.jsEscape( $i18n.getString( "adding_patient_failed" ), "'")'; @@ -139,8 +140,8 @@ + '$encoder.jsEscape( $i18n.getString( "format_date" ) , "'")' + " '" + dateFormat.replace('yy', 'yyyy') + " '" ; var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; - var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; - var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; + var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; + var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; var i18n_violate_validation = '$encoder.jsEscape( $i18n.getString( "violate_validation" ) , "'")'; var i18n_date_is_greater_then_or_equals_due_date = '$encoder.jsEscape( $i18n.getString( "date_is_greater_then_or_equals_due_date" ) , "'")'; var i18n_add_person_successfully = '$encoder.jsEscape( $i18n.getString( "add_person_successfully" ) , "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/reportDataEntryForm.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/reportDataEntryForm.vm 2013-01-23 10:27:28 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/reportDataEntryForm.vm 2013-03-01 09:15:24 +0000 @@ -82,8 +82,8 @@ var i18n_saving_value_failed_error_code = '$encoder.jsEscape( $i18n.getString( "saving_value_failed_error_code" ) , "'")'; var i18n_searching_patient_failed = '$encoder.jsEscape( $i18n.getString( "searching_patient_failed" ) , "'")'; var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; - var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; - var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; + var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; + var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; var i18n_violate_validation = '$encoder.jsEscape( $i18n.getString( "violate_validation" ) , "'")'; var i18n_date_is_greater_then_or_equals_due_date = '$encoder.jsEscape( $i18n.getString( "date_is_greater_then_or_equals_due_date" ) , "'")'; var i18n_show_all_items = '$encoder.jsEscape( $i18n.getString( "show_all_items" ) , "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/selectPatient.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/selectPatient.vm 2013-02-08 12:46:09 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/selectPatient.vm 2013-03-01 09:15:24 +0000 @@ -27,6 +27,7 @@ var i18n_list_all_patient = '$encoder.jsEscape( $i18n.getString( "list_all_patient" ) , "'")'; var i18n_enrol_success = '$encoder.jsEscape( $i18n.getString( "enrol_success" ) , "'")'; var i18n_unenrol_success = '$encoder.jsEscape( $i18n.getString( "unenrol_success" ) , "'")'; + var i18n_reenrol_success = '$encoder.jsEscape( $i18n.getString( "reenrol_success" ) , "'")'; var i18n_list_patients_by_program = '$encoder.jsEscape( $i18n.getString( "list_patients_by_program" ) , "'" )'; var i18n_confirm_delete = '$encoder.jsEscape( $i18n.getString( "confirm_delete_patient" ) , "'" )'; var i18n_adding_patient_failed = '$encoder.jsEscape( $i18n.getString( "adding_patient_failed" ), "'")'; @@ -77,8 +78,8 @@ var i18n_saving_value_failed_error_code = '$encoder.jsEscape( $i18n.getString( "saving_value_failed_error_code" ) , "'")'; var i18n_searching_patient_failed = '$encoder.jsEscape( $i18n.getString( "searching_patient_failed" ) , "'")'; var i18n_complete_confirm_message = '$encoder.jsEscape( $i18n.getString( "complete_confirm_message" ) , "'")'; - var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; - var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; + var i18n_incomplete_confirm_message = '$encoder.jsEscape( $i18n.getString( "incomplete_confirm_message" ) , "'")'; + var i18n_error_required_field = '$encoder.jsEscape( $i18n.getString( "error_required_field" ) , "'")'; var i18n_violate_validation = '$encoder.jsEscape( $i18n.getString( "violate_validation" ) , "'")'; var i18n_date_is_greater_then_or_equals_due_date = '$encoder.jsEscape( $i18n.getString( "date_is_greater_then_or_equals_due_date" ) , "'")'; var i18n_add_person_successfully = '$encoder.jsEscape( $i18n.getString( "add_person_successfully" ) , "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleEventSelect.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleEventSelect.vm 2013-02-08 12:46:09 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/singleEventSelect.vm 2013-03-01 09:15:24 +0000 @@ -57,6 +57,7 @@ var i18n_list_all_patient = '$encoder.jsEscape( $i18n.getString( "list_all_patient" ) , "'")'; var i18n_enrol_success = '$encoder.jsEscape( $i18n.getString( "enrol_success" ) , "'")'; var i18n_unenrol_success = '$encoder.jsEscape( $i18n.getString( "unenrol_success" ) , "'")'; + var i18n_reenrol_success = '$encoder.jsEscape( $i18n.getString( "reenrol_success" ) , "'")'; var i18n_list_patients_by_program = '$encoder.jsEscape( $i18n.getString( "list_patients_by_program" ) , "'" )'; var i18n_confirm_delete = '$encoder.jsEscape( $i18n.getString( "confirm_delete_patient" ) , "'" )'; var i18n_adding_patient_failed = '$encoder.jsEscape( $i18n.getString( "adding_patient_failed" ), "'")'; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/visitSchedule.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/visitSchedule.vm 2013-03-01 07:34:20 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/visitSchedule.vm 2013-03-01 09:15:24 +0000 @@ -3,17 +3,18 @@ - + - +
$programInstance.program.dateOfEnrollmentDescription:
$programInstance.program.dateOfIncidentDescription:
- - + + +
@@ -109,6 +110,7 @@ datePickerInRangeValid( 'dateOfIncident' , 'enrollmentDate' ); #else jQuery(":input").attr('disabled', true); + jQuery("#incompleteProgram").attr('disabled', false); jQuery("img").removeAttr("onclick"); #end