=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java 2012-11-08 04:13:48 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java 2012-11-08 16:07:27 +0000 @@ -147,6 +147,10 @@ executeSql( "ALTER TABLE period ALTER COLUMN periodid SET DEFAULT NEXTVAL('period_periodid_seq')"); executeSql( "UPDATE program SET programstage_dataelements=false WHERE displayInReports is null" ); + + executeSql( "ALTER TABLE programvalidation DROP COLUMN leftside" ); + executeSql( "ALTER TABLE programvalidation DROP COLUMN rightside" ); + } // ------------------------------------------------------------------------- === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramValidationService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramValidationService.java 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramValidationService.java 2012-11-08 16:07:27 +0000 @@ -130,7 +130,7 @@ String rightSideValue = expressionService.getProgramExpressionValue( validation.getRightSide(), programStageInstance ); String operator = validation.getOperator().getMathematicalOperator(); - + if ( (leftSideValue != null && rightSideValue.equals( NOT_NULL_VALUE_IN_EXPRESSION ) && rightSideValue == null) || ( !(leftSideValue != null && rightSideValue != null && ((operator.equals( "==" ) && leftSideValue.equals( rightSideValue )) @@ -192,7 +192,7 @@ { ProgramValidation validation = iter.next(); - String expression = validation.getLeftSide() + " " + validation.getRightSide(); + String expression = validation.getLeftSide().getExpression() + " " + validation.getRightSide().getExpression(); Matcher matcher = pattern.matcher( expression ); boolean flag = false; === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/META-INF/dhis/beans.xml 2012-11-08 16:07:27 +0000 @@ -219,6 +219,7 @@ + === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramValidation.hbm.xml' --- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramValidation.hbm.xml 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramValidation.hbm.xml 2012-11-08 16:07:27 +0000 @@ -13,7 +13,7 @@ @@ -21,7 +21,7 @@ resultDEMultiStages; - private List programValidationResults; private Map leftsideFormulaMap; @@ -109,11 +107,6 @@ { this.programValidationService = programValidationService; } - - public Map getResultDEMultiStages() - { - return resultDEMultiStages; - } // ------------------------------------------------------------------------- // Action implementation @@ -123,8 +116,6 @@ public String execute() throws Exception { - resultDEMultiStages = new HashMap(); - programValidationResults = new ArrayList(); // --------------------------------------------------------------------- === 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 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-11-08 16:07:27 +0000 @@ -470,6 +470,4 @@ left_value = Left value right_value = Right value validation_rule = Validation rule -add_filter = Add filter -edit_left_side = Edit left side -edit_right_side = Edit right side \ No newline at end of file +add_filter = Add filter \ No newline at end of file === 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 2012-11-08 06:20:53 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/anonymousRegistration.vm 2012-11-08 16:07:27 +0000 @@ -22,7 +22,7 @@
- +
@@ -42,36 +42,29 @@ + + - - - - - - - - - + + - - - - - + + +
+ + + +
- -
- -
+ + + + + + - -
- - - -
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/style/style.css' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/style/style.css 2012-11-08 06:20:53 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/style/style.css 2012-11-08 16:07:27 +0000 @@ -101,17 +101,6 @@ background-color: #FFCFCF } -.criteriaDiv -{ - position: relative; - border: 1px solid #a4d2a3; - background-color: #d5efd5; - padding: 5px; - margin-bottom: 10px; - border-radius: 3px; - width:450px; -} - #advanced-search { position: relative; === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/validationResult.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/validationResult.vm 2012-11-06 15:44:27 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/validationResult.vm 2012-11-08 16:07:27 +0000 @@ -15,32 +15,31 @@ - + + - - + + + #set( $mark = false ) - #foreach( $validationResult in $programValidationResults ) + #foreach( $result in $programValidationResults ) - - - - #if( $validationResult.programValidation.dateType=="false" - && $validationResult.programValidation.rightSide!="1==1") - - - #else - - - #end + #set ( $id = $result.programValidation.id ) + #set ( $leftFormula = $leftsideFormulaMap.get( $id ) ) + #set ( $rightFormula = $rightsideFormulaMap.get( $id ) ) + + + + + + + + + #set( $mark = !$mark ) #end === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/AddProgramValidationAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/AddProgramValidationAction.java 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/AddProgramValidationAction.java 2012-11-08 16:07:27 +0000 @@ -99,15 +99,14 @@ { this.rightSideExpression = rightSideExpression; } - + private String rightSideDescription; public void setRightSideDescription( String rightSideDescription ) { this.rightSideDescription = rightSideDescription; } - - + private Boolean dateType; public void setDateType( Boolean dateType ) @@ -122,6 +121,11 @@ this.programId = programId; } + public Integer getProgramId() + { + return programId; + } + // ------------------------------------------------------------------------- // Implementation Action // ------------------------------------------------------------------------- @@ -132,17 +136,17 @@ { ProgramExpression leftExpression = new ProgramExpression( leftSideExpression, leftSideDescription ); ProgramExpression rightExpression = new ProgramExpression( rightSideExpression, rightSideDescription ); - + ProgramValidation validation = new ProgramValidation(); validation.setDescription( description.trim() ); - validation.setOperator( Operator.valueOf(operator) ); + validation.setOperator( Operator.valueOf( operator ) ); validation.setLeftSide( leftExpression ); validation.setRightSide( rightExpression ); validation.setDateType( dateType ); Program program = programService.getProgram( programId ); validation.setProgram( program ); - + programValidationService.addProgramValidation( validation ); return SUCCESS; === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/GetProgramValidationAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/GetProgramValidationAction.java 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/GetProgramValidationAction.java 2012-11-08 16:07:27 +0000 @@ -27,6 +27,8 @@ package org.hisp.dhis.patient.action.validation; +import org.hisp.dhis.program.Program; +import org.hisp.dhis.program.ProgramExpressionService; import org.hisp.dhis.program.ProgramValidation; import org.hisp.dhis.program.ProgramValidationService; @@ -50,6 +52,13 @@ this.programValidationService = programValidationService; } + private ProgramExpressionService programExpressionService; + + public void setProgramExpressionService( ProgramExpressionService programExpressionService ) + { + this.programExpressionService = programExpressionService; + } + // ------------------------------------------------------------------------- // Input && Output // ------------------------------------------------------------------------- @@ -68,6 +77,27 @@ return validation; } + private String leftSideTextualExpression; + + public String getLeftSideTextualExpression() + { + return leftSideTextualExpression; + } + + private String rightSideTextualExpression; + + public String getRightSideTextualExpression() + { + return rightSideTextualExpression; + } + + private Program program; + + public Program getProgram() + { + return program; + } + // ------------------------------------------------------------------------- // Implementation Action // ------------------------------------------------------------------------- @@ -78,7 +108,12 @@ { validation = programValidationService.getProgramValidation( validationId ); + leftSideTextualExpression = programExpressionService.getExpressionDescription( validation.getLeftSide().getExpression() ); + + rightSideTextualExpression = programExpressionService.getExpressionDescription( validation.getRightSide().getExpression() ); + + program = validation.getProgram(); + return SUCCESS; } - } === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/UpdateProgramValidationAction.java' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/UpdateProgramValidationAction.java 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/validation/UpdateProgramValidationAction.java 2012-11-08 16:07:27 +0000 @@ -28,6 +28,7 @@ package org.hisp.dhis.patient.action.validation; import org.hisp.dhis.expression.Operator; +import org.hisp.dhis.program.Program; import org.hisp.dhis.program.ProgramExpression; import org.hisp.dhis.program.ProgramValidation; import org.hisp.dhis.program.ProgramValidationService; @@ -112,6 +113,25 @@ this.dateType = dateType; } + private Program program; + + public Program getProgram() + { + return program; + } + + private Integer programId; + + public void setProgramId( Integer programId ) + { + this.programId = programId; + } + + public Integer getProgramId() + { + return programId; + } + // ------------------------------------------------------------------------- // Implementation Action // ------------------------------------------------------------------------- @@ -121,7 +141,7 @@ throws Exception { ProgramValidation validation = programValidationService.getProgramValidation( id ); - + ProgramExpression leftExpression = new ProgramExpression( leftSideExpression, leftSideDescription ); ProgramExpression rightExpression = new ProgramExpression( rightSideExpression, rightSideDescription ); === 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 2012-11-08 13:09:31 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/META-INF/dhis/beans.xml 2012-11-08 16:07:27 +0000 @@ -856,6 +856,9 @@ + + + - + + === added file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/expressionBuilderForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/expressionBuilderForm.vm 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/expressionBuilderForm.vm 2012-11-08 16:07:27 +0000 @@ -0,0 +1,71 @@ + + +
+
+
$i18n.getString( "validation_rule" )$i18n.getString( "validation_rule" )$i18n.getString( "expression" ) $i18n.getString( "description" )$i18n.getString( "left_value" )$i18n.getString( "right_value" )$i18n.getString( "value" )$i18n.getString( "operator" )$i18n.getString( "value" ) $i18n.getString( "description" )
$validationResult.programValidation.description - #if($validationResult.programValidation.dateType=="true") - $rightsideFormulaMap.get( $validationResult.programValidation.id ) - #end - $leftsideFormulaMap.get( $validationResult.programValidation.id )$validationResult.leftsideValue$!validationResult.rightsideValue$rightsideFormulaMap.get( $validationResult.programValidation.id )
$encoder.htmlEncode( $result.programValidation.description )$!encoder.htmlEncode( $leftFormula ) $encoder.htmlEncode( $i18n.getString( $result.programValidation.operator.mathematicalOperator ) ) $!encoder.htmlEncode( $rightFormula )$!encoder.htmlEncode( $result.programValidation.leftSide.description )$result.leftsideValue$encoder.htmlEncode( $i18n.getString( $result.programValidation.operator.mathematicalOperator ) )$result.rightsideValue$!encoder.htmlEncode( $result.programValidation.rightSide.description )
- + -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
$i18n.getString( "description" ) *$i18n.getString("program_stage")
+
+ +
+ +
$i18n.getString( "expression" ) *$i18n.getString( "available_data_elements" )
+
+ +
+ + +
+ + +
$i18n.getString( "description" )
+ + +
+ +
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programValidation.js' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programValidation.js 2012-11-08 13:33:53 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programValidation.js 2012-11-08 16:07:27 +0000 @@ -213,9 +213,13 @@ left = true; $( '#expression' ).val( $( '#leftSideExpression' ).val() ); - $( '#description' ).val( $( '#leftSideDescription' ).val() ); + $( '#expression-container [id=description]' ).val( $( '#leftSideDescription' ).val() ); $( '#formulaText' ).text( $( '#leftSideTextualExpression' ).val() ); $( '#nullIfBlank' ).attr( 'checked', ( $( '#leftSideNullIfBlank' ).val() == 'true' || $( '#leftSideNullIfBlank' ).val() == '' ) ); + setInnerHTML( "exp-descriptionInfo", "" ); + setInnerHTML( "exp-expressionInfo", "" ); + $("#expression-container [id=description]" ).css( "background-color", "#ffffff" ); + $("#expression-container [id=expression]" ).css( "background-color", "#ffffff" ); dialog.dialog("open"); } @@ -225,7 +229,7 @@ left = false; $( '#expression' ).val( $( '#rightSideExpression' ).val() ); - $( '#description' ).val( $( '#rightSideDescription' ).val() ); + $( '#expression-container [id=description]' ).val( $( '#rightSideDescription' ).val() ); $( '#formulaText' ).text( $( '#rightSideTextualExpression' ).val() ); $( '#nullIfBlank' ).attr( 'checked', ( $( '#rightSideNullIfBlank' ).val() == 'true' || $( '#rightSideNullIfBlank' ).val() == '' ) ); @@ -260,20 +264,47 @@ function insertExpression() { var expression = $( '#expression' ).val(); - var description = $( '#description' ).val(); + var description = $( '#expression-container [id=description]' ).val(); if ( left ) { $( '#leftSideExpression' ).val( expression ); $( '#leftSideDescription' ).val( description ); $( '#leftSideTextualExpression' ).val( $( '#formulaText' ).text() ); + $( '#leftSideNullIfBlank' ).val( $( '#nullIfBlank' ).is( ':checked' ) ); } else { $( '#rightSideExpression' ).val( expression ); $( '#rightSideDescription' ).val( description ); $( '#rightSideTextualExpression' ).val( $( '#formulaText' ).text() ); + $( '#rightSideNullIfBlank' ).val( $( '#nullIfBlank' ).is( ':checked' ) ); } dialog.dialog( "close" ); } + +function validateExpression() +{ + if ( checkNotEmpty( jQuery( "#expression-container [id=description]" ), i18n_description_not_null ) == false ) + return; + if ( checkNotEmpty( jQuery( "#expression-container [id=expression]" ), i18n_expression_not_null ) == false ) + return; + insertExpression(); +} + +function checkNotEmpty( field, message ) +{ + if ( field.val().length == 0 ) + { + setInnerHTML( "exp-" + field.attr("name") + "Info", message ); + $('#expression-container [id=' + field.attr("name") + "]" ).css( "background-color", "#ffc5c5" ); + return false; + } else + { + setInnerHTML( "exp-" + field.attr("name") + "Info", '' ); + $('#expression-container [id=' + field.attr("name") + "]" ).css( "background-color", "#ffffff" ); + } + + return true; +} === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programValidationList.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programValidationList.vm 2012-11-08 13:33:53 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programValidationList.vm 2012-11-08 16:07:27 +0000 @@ -45,12 +45,9 @@ $validation.description - #if($validation.rightSide=="1==1") - $i18n.getString( 'edit' ) - #else - $i18n.getString( 'edit' ) - #end - $i18n.getString( 'remove' ) + $i18n.getString( 'edit' ) + + $i18n.getString( 'remove' ) $i18n.getString( 'show_details' ) === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateSingleProgramValidationForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateSingleProgramValidationForm.vm 2012-11-07 04:33:05 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateSingleProgramValidationForm.vm 2012-11-08 16:07:27 +0000 @@ -1,83 +1,78 @@ -

$i18n.getString( "edit_program_validation_rule" )

+

$i18n.getString( "update_program_validation_rule" )

$validation.program.name

+ + - - + - + + - - - - - - - - - - + + + + + - - - - - - - - - -
$i18n.getString( "program_validation_rule_details" )$i18n.getString( "program_validation_rule_details" )
- - - -
- -
$i18n.getString("data_elements") - + +
+
- -    - - - - - - - -    - -
- - -
-
-
$!leftDescription
-
+ + + + + + + + + + + +
- +
+ +#parse( "/dhis-web-maintenance-patient/expressionBuilderForm.vm" ) + +
+ +