=== modified file 'dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java' --- dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java 2014-05-20 16:30:51 +0000 +++ dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java 2014-06-18 13:30:41 +0000 @@ -529,7 +529,8 @@ for ( ProgramStageInstance stageInstance : stageInstances ) { - if ( !stageInstance.isCompleted() || stageInstance.getProgramStage().getIrregular() ) + if ( (!stageInstance.isCompleted() && stageInstance.getStatus().intValue() != ProgramStageInstance.SKIPPED_STATUS) + || stageInstance.getProgramStage().getIrregular() ) { return false; } === modified file 'dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java' --- dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java 2014-05-21 08:04:49 +0000 +++ dhis-2/dhis-services/dhis-service-tracker/src/main/java/org/hisp/dhis/program/DefaultProgramStageInstanceService.java 2014-06-18 13:30:41 +0000 @@ -367,6 +367,23 @@ // --------------------------------------------------------------------- updateProgramStageInstance( programStageInstance ); + + // --------------------------------------------------------------------- + // Check Completed status for all of ProgramStageInstance of + // ProgramInstance + // --------------------------------------------------------------------- + + if ( !programStageInstance.getProgramInstance().getProgram().getType() + .equals( Program.SINGLE_EVENT_WITHOUT_REGISTRATION ) ) + { + boolean canCompleted = programInstanceService.canAutoCompleteProgramInstanceStatus( programStageInstance + .getProgramInstance() ); + if ( canCompleted ) + { + programInstanceService.completeProgramInstanceStatus( programStageInstance.getProgramInstance() ); + } + } + } @Override === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java 2014-03-26 14:01:14 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/CompleteDataEntryAction.java 2014-06-18 13:30:41 +0000 @@ -29,7 +29,7 @@ */ import org.hisp.dhis.i18n.I18nFormat; -import org.hisp.dhis.program.Program; +import org.hisp.dhis.program.ProgramInstance; import org.hisp.dhis.program.ProgramInstanceService; import org.hisp.dhis.program.ProgramStageInstance; import org.hisp.dhis.program.ProgramStageInstanceService; @@ -53,13 +53,6 @@ this.programStageInstanceService = programStageInstanceService; } - private ProgramInstanceService programInstanceService; - - public void setProgramInstanceService( ProgramInstanceService programInstanceService ) - { - this.programInstanceService = programInstanceService; - } - private I18nFormat format; public void setFormat( I18nFormat format ) @@ -112,24 +105,11 @@ programStageInstanceService.completeProgramStageInstance( programStageInstance, format ); - // --------------------------------------------------------------------- - // Check Completed status for all of ProgramStageInstance of - // ProgramInstance - // --------------------------------------------------------------------- - - if ( !programStageInstance.getProgramInstance().getProgram().getType() - .equals( Program.SINGLE_EVENT_WITHOUT_REGISTRATION ) ) + if(programStageInstance.getProgramInstance().getStatus()==ProgramInstance.STATUS_COMPLETED ) { - boolean canCompleted = programInstanceService.canAutoCompleteProgramInstanceStatus( programStageInstance - .getProgramInstance() ); - if ( !canCompleted ) - { - return SUCCESS; - } - - programInstanceService.completeProgramInstanceStatus( programStageInstance.getProgramInstance() ); + return "programCompleted"; } - return "programcompleted"; + 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 2014-06-17 14:11:35 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2014-06-18 13:30:41 +0000 @@ -83,7 +83,6 @@ scope="prototype"> - + /dhis-web-commons/ajax/jsonResponseInput.vm + /dhis-web-commons/ajax/jsonResponseSuccess.vm - /dhis-web-caseentry/jsonResponseProgramCompleted.vm + /dhis-web-caseentry/jsonResponseProgramCompleted.vm F_TRACKED_ENTITY_DATAVALUE_ADD,F_TRACKED_ENTITY_DATAVALUE_DELETE === 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 2014-06-10 11:21:35 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2014-06-18 13:30:41 +0000 @@ -1207,112 +1207,66 @@ showSuccessMessage(i18n_enrol_success); }); } + function unenrollmentForm(programInstanceId, status) { var comfirmMessage = i18n_complete_program_confirm_message; if (status == 2) comfirmMessage = i18n_quit_confirm_message; if ( confirm(comfirmMessage) ) { - $.ajax({ - type : "POST", - url : 'setProgramInstanceStatus.action', - data : "programInstanceId=" + programInstanceId - + "&status=" + status, - success : function(json) { - var type = $("#tr1_" + programInstanceId).attr('type'); - var programStageInstanceId = $( - "#tr1_" + programInstanceId).attr( - 'programStageInstanceId'); - var completed = ""; - completed += $('#td_' + programInstanceId).parent() - .html() - + ""; - var activeEvent2 = $("#tr2_" + programInstanceId); - if (activeEvent2.length > 0) { - completed += "" - + activeEvent2.parent().html() + ""; - } - $('#completedTB').prepend(completed); - $('#activeTB [id=tr1_' + programInstanceId + ']') - .remove(); - $('#activeTB [id=tr2_' + programInstanceId + ']') - .remove(); - $("[id=tab-2] :input").prop('disabled', true); - $("[id=tab-3] :input").prop('disabled', true); - $("[id=tab-4] :input").prop('disabled', true); - $("[id=tab-5] :input").prop('disabled', true); - $("[id=tab-3] :input").datepicker("destroy"); - $("#completeProgram").attr('disabled', true); - $("#incompleteProgram").attr('disabled', false); - // disable remove event icons - $('[id=tab-3]').find('img').parent().removeAttr("href"); - if (status == 1) { - showSuccessMessage(i18n_complete_success); - } else if (status == 2) { - showSuccessMessage(i18n_program_cancelled_success); - } else { - showSuccessMessage(i18n_program_active_success); - } - } - }); + $.ajax({ + type : "POST", + url : 'setProgramInstanceStatus.action', + data : "programInstanceId=" + programInstanceId + "&status=" + status, + success : function(json) { + moveToCompleteDiv( programInstanceId, programStageInstanceId ); + + $("[id=tab-2] :input").prop('disabled', true); + $("[id=tab-3] :input").prop('disabled', true); + $("[id=tab-4] :input").prop('disabled', true); + $("[id=tab-5] :input").prop('disabled', true); + $("[id=tab-3] :input").datepicker("destroy"); + $("#completeProgram").attr('disabled', true); + $("#incompleteProgram").attr('disabled', false); + // disable remove event icons + $('[id=tab-3]').find('img').parent().removeAttr("href"); + if (status == 1) { + showSuccessMessage(i18n_complete_success); + } else if (status == 2) { + showSuccessMessage(i18n_program_cancelled_success); + } else { + showSuccessMessage(i18n_program_active_success); + } + } + }); } } + function reenrollmentForm(programInstanceId) { if ( confirm(i18n_reenrollment_confirm_message) ) { -$.ajax({ - type : "POST", - url : 'setProgramInstanceStatus.action', - data : "programInstanceId=" + programInstanceId - + "&completed=false", - success : function(json) { - var type = jQuery("#tr1_" + programInstanceId).attr( - 'type'); - var programStageInstanceId = jQuery( - "#tr1_" + programInstanceId).attr( - 'programStageInstanceId'); - var completed = ""; - completed += $('#td_' + programInstanceId).parent() - .html() - + ""; - var activeEvent = $("#tr2_" + programInstanceId); - if (activeEvent.length > 0) { - completed += "" + activeEvent.parent().html() - + ""; - } - $('#activeTB').prepend(completed); - $('#completedTB [id=tr1_' + programInstanceId + ']') - .remove(); - $('#completedTB [id=tr2_' + programInstanceId + ']') - .remove(); - $("[id=tab-1] :input").prop('disabled', false); - // Disable skipped events - $("[id=tab-1] [status=5]").prop('disabled', true); - $("[id=tab-2] :input").prop('disabled', false); - $("[id=tab-3] :input").prop('disabled', false); - $("[id=tab-4] :input").prop('disabled', false); - $("[id=tab-5] :input").prop('disabled', false); - $("#completeProgram").attr('disabled', false); - $("#incompleteProgram").attr('disabled', true); - $("[id=tab-3] :input").datepicker("destroy"); - // enable remove event icons - $('[id=tab-3]').find('img').parent().each(function() { - var e = $(this); - e.attr('href', e.attr("link")); - }); - showSuccessMessage(i18n_reenrol_success); - } + $.ajax({ + type : "POST", + url : 'setProgramInstanceStatus.action', + data : "programInstanceId=" + programInstanceId + "&completed=false", + success : function(json) { + moveToActiveDiv( programInstanceId, programStageInstanceId ); + $("[id=tab-1] :input").prop('disabled', false); + // Disable skipped events + $("[id=tab-1] [status=5]").prop('disabled', true); + $("[id=tab-2] :input").prop('disabled', false); + $("[id=tab-3] :input").prop('disabled', false); + $("[id=tab-4] :input").prop('disabled', false); + $("[id=tab-5] :input").prop('disabled', false); + $("#completeProgram").attr('disabled', false); + $("#incompleteProgram").attr('disabled', true); + $("[id=tab-3] :input").datepicker("destroy"); + // enable remove event icons + $('[id=tab-3]').find('img').parent().each(function() { + var e = $(this); + e.attr('href', e.attr("link")); }); + showSuccessMessage(i18n_reenrol_success); + } + }); } } function removeProgramInstance(programInstanceId) { @@ -1921,3 +1875,45 @@ hideById('showSearchCriteriaDiv'); } +// ---------------------------------------------------------------------------- +// Program boxes in Dashboard +// ---------------------------------------------------------------------------- + +function moveToCompleteDiv( programInstanceId, programStageInstanceId ) +{ + var type = $("#tr1_" + programInstanceId).attr('type'); + var programStageInstanceId = $( "#tr1_" + programInstanceId).attr('programStageInstanceId'); + + var completed = ""; + completed += $('#td_' + programInstanceId).parent().html() + ""; + + var activeEvent2 = $("#tr2_" + programInstanceId); + if (activeEvent2.length > 0) { + completed += "" + activeEvent2.parent().html() + ""; + } + $('#completedTB').prepend(completed); + $('#activeTB [id=tr1_' + programInstanceId + ']').remove(); + $('#activeTB [id=tr2_' + programInstanceId + ']').remove(); +} + +function moveToActiveDiv( programInstanceId, programStageInstanceId ) +{ + var type = jQuery("#tr1_" + programInstanceId).attr( 'type'); + var programStageInstanceId = jQuery( "#tr1_" + programInstanceId).attr('programStageInstanceId'); + var completed = ""; + completed += $('#td_' + programInstanceId).parent().html() + ""; + var activeEvent = $("#tr2_" + programInstanceId); + if (activeEvent.length > 0) { + completed += "" + activeEvent.parent().html() + ""; + } + $('#activeTB').prepend(completed); + $('#completedTB [id=tr1_' + programInstanceId + ']').remove(); + $('#completedTB [id=tr2_' + programInstanceId + ']').remove(); +} + === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js 2014-06-01 13:44:41 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js 2014-06-18 13:30:41 +0000 @@ -569,12 +569,13 @@ return; } else { if( confirm(i18n_complete_confirm_message) ) { + var programStageInstanceId = getFieldValue( 'programStageInstanceId' ); $.ajax({ url: 'completeDataEntry.action', dataType: 'json', cache: false, data: { - programStageInstanceId: getFieldValue( 'programStageInstanceId' ) + programStageInstanceId: programStageInstanceId }, type: 'POST' } ).done(function(json) { @@ -591,9 +592,8 @@ showCreateNewEvent(programInstanceId, programStageUid); } - if( getProgramType() == '2' || json.response == 'programcompleted' ) { - var completedRow = $('#td_' + programInstanceId).html(); - $('#completedList').append(''); + if( getProgramType() == '2' || json.response == 'programCompleted' ) { + moveToCompleteDiv( programInstanceId, programStageInstanceId ); } var blocked = $('#entryFormContainer [id=blockEntryForm]').val(); === removed file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonResponseProgramCompleted.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonResponseProgramCompleted.vm 2012-12-10 12:54:54 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonResponseProgramCompleted.vm 1970-01-01 00:00:00 +0000 @@ -1,4 +0,0 @@ -{ - "response": "programcompleted", - "message": "$!encoder.jsonEncode( ${message} )" -} \ No newline at end of file === added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonResponseProgramCompleted.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonResponseProgramCompleted.vm 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonResponseProgramCompleted.vm 2014-06-18 13:30:41 +0000 @@ -0,0 +1,4 @@ +{ + "response": "programCompleted", + "message": "$!encoder.jsonEncode( ${message} )" +} \ No newline at end of file === added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/trackedEntityInstanceRegistrationList.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/trackedEntityInstanceRegistrationList.vm 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/trackedEntityInstanceRegistrationList.vm 2014-06-18 13:30:41 +0000 @@ -0,0 +1,180 @@ + + + + + + + +
+ $i18n.getString( "the_following_tracked_entity_instances_found_in" ) + +
+ #if( $!total != 0) + $i18n.getString( "total_result" ): $!total + #else + $i18n.getString("no_result_found") + #end +
+ +#if( $entityInstances.size() > 0 ) + + + + + + + + +
+ + + #if($program) + #foreach( $programAttribute in $program.attributes ) + #if($programAttribute.displayInList=='true') + + #end + #end + #else + #foreach( $attribute in $attributes) + + #end + #end + + + + + + + #if($program) + #foreach( $programAttribute in $program.attributes ) + #if($programAttribute.displayInList=='true') + + #end + #end + #else + #foreach( $attribute in $attributes) + + #end + #end + + + + + + + #foreach( $entityInstance in $entityInstances ) + + + + #if($program) + #foreach( $programAttribute in $program.attributes ) + #set($value="") + #if($programAttribute.displayInList=='true') + + #end + #end + #else + #foreach( $attribute in $attributes) + #set($value="") + + #end + #end + + + + + #end + + +
#$encoder.htmlEncode($programAttribute.attribute.displayName)$encoder.htmlEncode($attribute.displayName)$i18n.getString( "operations" )
+ #set( $nr = ( ( $paging.getCurrentPage() - 1 ) * $paging.pageSize ) + $velocityCount ) + $nr + + #foreach( $attributeValue in $entityInstance.attributeValues) + #if($!attributeValue.attribute.id==$programAttribute.attribute.id) + #set($value=$attributeValue.value) + #if( $programAttribute.attribute.valueType == 'bool') + #set($value=$i18n.getString($attributeValue.value)) + #elseif( $programAttribute.attribute.valueType == 'users') + #set($value=$mapUsers.get($attributeValue.value)) + #end + #end + #end + $!encoder.htmlEncode($value) + + #foreach( $attributeValue in $entityInstance.attributeValues) + #if($!attributeValue.attribute.id==$attribute.id) + #set($value=$attributeValue.value) + #if( $attribute.valueType == 'bool') + #set($value=$i18n.getString($attributeValue.value)) + #elseif( $attribute.valueType == 'users') + #set($value=$mapUsers.get($attributeValue.value)) + #end + #end + #end + $!encoder.htmlEncode($value) + + $i18n.getString( "dashboard" ) + $i18n.getString( "edit_profile" ) + $i18n.getString( "manage_relationship" ) + #if( $auth.hasAccess( "dhis-web-caseentry", "getTrackedEntityInstanceLocation" ) ) + $i18n.getString( "change_tracked_entity_instance_location" ) + #end + $i18n.getString( "remove" ) + $i18n.getString( "tracked_entity_instance_details_and_history" ) +
+
+

+
+ #parse( "/dhis-web-commons/paging/paging.vm" ) +
+
+
+ +#end +