=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2012-10-03 03:46:16 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/Program.java 2012-12-10 04:03:33 +0000 @@ -88,10 +88,12 @@ private Boolean generatedByEnrollmentDate; + private Boolean ignoreOverdueEvents; + private List patientIdentifierTypes; private List patientAttributes; - + // ------------------------------------------------------------------------- // Constructors // ------------------------------------------------------------------------- @@ -343,6 +345,16 @@ { this.generatedByEnrollmentDate = generatedByEnrollmentDate; } + + public Boolean getIgnoreOverdueEvents() + { + return ignoreOverdueEvents; + } + + public void setIgnoreOverdueEvents( Boolean ignoreOverdueEvents ) + { + this.ignoreOverdueEvents = ignoreOverdueEvents; + } public boolean isSingleEvent() { === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml' --- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml 2012-10-03 03:46:16 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/Program.hbm.xml 2012-12-10 04:03:33 +0000 @@ -59,5 +59,7 @@ + + === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveProgramEnrollmentAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveProgramEnrollmentAction.java 2012-10-31 04:09:25 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveProgramEnrollmentAction.java 2012-12-10 04:03:33 +0000 @@ -163,7 +163,7 @@ { programInstance = programInstances.iterator().next(); } - + if ( programInstance == null ) { programInstance = new ProgramInstance(); @@ -183,30 +183,34 @@ { dateCreatedEvent = format.parseDate( enrollmentDate ); } - + boolean isFirstStage = false; + Date currentDate = new Date(); for ( ProgramStage programStage : program.getProgramStages() ) { if ( programStage.getAutoGenerateEvent() ) { - ProgramStageInstance programStageInstance = new ProgramStageInstance(); - programStageInstance.setProgramInstance( programInstance ); - programStageInstance.setProgramStage( programStage ); Date dueDate = DateUtils .getDateAfterAddition( dateCreatedEvent, programStage.getMinDaysFromStart() ); - programStageInstance.setDueDate( dueDate ); - - if( program.isSingleEvent()) - { - programStageInstance.setExecutionDate( dueDate ); - } - programStageInstanceService.addProgramStageInstance( programStageInstance ); - - if ( !isFirstStage ) - { - activeProgramStageInstance = programStageInstance; - isFirstStage = true; + if ( !program.getIgnoreOverdueEvents() || !dueDate.before( currentDate ) ) + { + ProgramStageInstance programStageInstance = new ProgramStageInstance(); + programStageInstance.setProgramInstance( programInstance ); + programStageInstance.setProgramStage( programStage ); + programStageInstance.setDueDate( dueDate ); + + if ( program.isSingleEvent() ) + { + programStageInstance.setExecutionDate( dueDate ); + } + programStageInstanceService.addProgramStageInstance( programStageInstance ); + + if ( !isFirstStage ) + { + activeProgramStageInstance = programStageInstance; + isFirstStage = true; + } } } } === modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonProgram.vm' --- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonProgram.vm 2012-10-03 03:46:16 +0000 +++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonProgram.vm 2012-12-10 04:03:33 +0000 @@ -7,6 +7,7 @@ "displayProvidedOtherFacility": "$!program.displayProvidedOtherFacility", "displayIncidentDate": "$!program.displayIncidentDate", "generatedByEnrollmentDate": "$!program.generatedByEnrollmentDate", + "ignoreOverdueEvents": "$!program.ignoreOverdueEvents", "dateOfEnrollmentDescription": "$!encoder.jsEncode( ${program.dateOfEnrollmentDescription} )", "dateOfIncidentDescription": "$!encoder.jsEncode( ${program.dateOfIncidentDescription} )", "programStageCount": "${program.programStages.size()}", === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/AddProgramAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/AddProgramAction.java 2012-10-03 03:46:16 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/AddProgramAction.java 2012-12-10 04:03:33 +0000 @@ -169,6 +169,13 @@ this.generateBydEnrollmentDate = generateBydEnrollmentDate; } + private Boolean ignoreOverdueEvents; + + public void setIgnoreOverdueEvents( Boolean ignoreOverdueEvents ) + { + this.ignoreOverdueEvents = ignoreOverdueEvents; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -178,8 +185,9 @@ { displayProvidedOtherFacility = (displayProvidedOtherFacility == null) ? false : displayProvidedOtherFacility; displayIncidentDate = (displayIncidentDate == null) ? false : displayIncidentDate; - generateBydEnrollmentDate= (generateBydEnrollmentDate == null) ? false : generateBydEnrollmentDate; - + generateBydEnrollmentDate = (generateBydEnrollmentDate == null) ? false : generateBydEnrollmentDate; + ignoreOverdueEvents = (ignoreOverdueEvents == null) ? false : ignoreOverdueEvents; + Program program = new Program(); program.setName( name ); @@ -191,7 +199,8 @@ program.setDisplayProvidedOtherFacility( displayProvidedOtherFacility ); program.setDisplayIncidentDate( displayIncidentDate ); program.setGeneratedByEnrollmentDate( generateBydEnrollmentDate ); - + program.setIgnoreOverdueEvents( ignoreOverdueEvents ); + List identifierTypes = new ArrayList(); List patientAttributes = new ArrayList(); int index = 0; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java 2012-10-03 03:46:16 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/program/UpdateProgramAction.java 2012-12-10 04:03:33 +0000 @@ -165,6 +165,13 @@ this.generateBydEnrollmentDate = generateBydEnrollmentDate; } + private Boolean ignoreOverdueEvents; + + public void setIgnoreOverdueEvents( Boolean ignoreOverdueEvents ) + { + this.ignoreOverdueEvents = ignoreOverdueEvents; + } + // ------------------------------------------------------------------------- // Action implementation // ------------------------------------------------------------------------- @@ -175,6 +182,7 @@ displayProvidedOtherFacility = (displayProvidedOtherFacility == null) ? false : displayProvidedOtherFacility; displayIncidentDate = (displayIncidentDate == null) ? false : displayIncidentDate; generateBydEnrollmentDate = (generateBydEnrollmentDate == null) ? false : generateBydEnrollmentDate; + ignoreOverdueEvents = (ignoreOverdueEvents == null) ? false : ignoreOverdueEvents; Program program = programService.getProgram( id ); program.setName( name ); @@ -186,7 +194,8 @@ program.setDisplayProvidedOtherFacility( displayProvidedOtherFacility ); program.setDisplayIncidentDate( displayIncidentDate ); program.setGeneratedByEnrollmentDate( generateBydEnrollmentDate ); - + program.setIgnoreOverdueEvents( ignoreOverdueEvents ); + List identifierTypes = new ArrayList(); List patientAttributes = new ArrayList(); int index = 0; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties 2012-11-23 08:38:39 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties 2012-12-10 04:03:33 +0000 @@ -321,4 +321,5 @@ update_program_validation_rule = Edit program validation rule description_not_null = Description is not null expression_not_null = Expression is not null -complete_allowed_only_if_validation_passes = Complete allowed only if validation passes \ No newline at end of file +complete_allowed_only_if_validation_passes = Complete allowed only if validation passes +ignore_overdue_events = Ignore overdue events \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramForm.vm 2012-10-30 03:46:59 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramForm.vm 2012-12-10 04:03:33 +0000 @@ -43,6 +43,12 @@ + + + + + + $i18n.getString( "form_details" ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/program.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/program.js 2012-10-03 04:54:22 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/program.js 2012-12-10 04:03:33 +0000 @@ -26,6 +26,9 @@ var generatedByEnrollmentDate = ( json.program.generatedByEnrollmentDate == 'true') ? i18n_yes : i18n_no; setInnerHTML( 'generatedByEnrollmentDateField', generatedByEnrollmentDate ); + var ignoreOverdueEvents = ( json.program.ignoreOverdueEvents == 'true') ? i18n_yes : i18n_no; + setInnerHTML( 'ignoreOverdueEventsField', ignoreOverdueEvents ); + setInnerHTML( 'dateOfEnrollmentDescriptionField', json.program.dateOfEnrollmentDescription ); setInnerHTML( 'dateOfIncidentDescriptionField', json.program.dateOfIncidentDescription ); setInnerHTML( 'programStageCountField', json.program.programStageCount ); === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programList.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programList.vm 2012-10-18 13:27:17 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programList.vm 2012-12-10 04:03:33 +0000 @@ -49,6 +49,7 @@




+





=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramForm.vm 2012-10-30 03:46:59 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramForm.vm 2012-12-10 04:03:33 +0000 @@ -43,6 +43,12 @@ + + > + + + +