=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientAttributeGroupStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientAttributeGroupStore.java 2012-03-27 01:29:30 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientAttributeGroupStore.java 2012-03-27 04:22:51 +0000 @@ -58,8 +58,8 @@ @Override public Collection getWithoutProgram() { - return getCriteria().createAlias( "attributes", "attribute" ).add( Restrictions.isNull( "attribute.program" ) ) - .list(); + return getCriteria().setResultTransformer( Criteria.DISTINCT_ROOT_ENTITY ).createAlias( "attributes", + "attribute" ).add( Restrictions.isNull( "attribute.program" ) ).list(); } } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java 2011-09-14 06:36:13 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java 2012-03-27 04:22:51 +0000 @@ -94,11 +94,9 @@ private String birthDate; - private char ageType; - private Integer age; - private Character dobType; + private Boolean verified; private String gender; @@ -127,6 +125,8 @@ OrganisationUnit organisationUnit = selectionManager.getSelectedOrganisationUnit(); Patient patient = new Patient(); + + verified = ( verified == null ) ? false : true ; // --------------------------------------------------------------------- // Set FirstName, MiddleName, LastName by FullName @@ -170,6 +170,13 @@ patient.setUnderAge( underAge ); patient.setOrganisationUnit( organisationUnit ); + Character dobType = ( verified ) ? 'V' : 'D'; + + if( !verified && age != null ) + { + dobType = 'A'; + } + if ( dobType == Patient.DOB_TYPE_VERIFIED || dobType == Patient.DOB_TYPE_DECLARED ) { birthDate = birthDate.trim(); @@ -177,7 +184,7 @@ } else { - patient.setBirthDateFromAge( age.intValue(), ageType ); + patient.setBirthDateFromAge( age.intValue(), 'Y' ); } patient.setDobType( dobType ); @@ -309,6 +316,11 @@ return message; } + public void setVerified( Boolean verified ) + { + this.verified = verified; + } + public void setPatientIdentifierTypeService( PatientIdentifierTypeService patientIdentifierTypeService ) { this.patientIdentifierTypeService = patientIdentifierTypeService; @@ -393,14 +405,4 @@ { this.underAge = underAge; } - - public void setDobType( Character dobType ) - { - this.dobType = dobType; - } - - public void setAgeType( char ageType ) - { - this.ageType = ageType; - } } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java 2012-03-12 10:20:25 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java 2012-03-27 04:22:51 +0000 @@ -96,10 +96,8 @@ private Integer age; - private char ageType; - - private Character dobType; - + private Boolean verified; + private String gender; private String bloodGroup; @@ -126,6 +124,8 @@ OrganisationUnit organisationUnit = selectionManager.getSelectedOrganisationUnit(); patient = patientService.getPatient( id ); + + verified = ( verified == null ) ? false : true ; // --------------------------------------------------------------------- // Set FirstName, MiddleName, LastName by FullName @@ -174,6 +174,13 @@ patient.setUnderAge( underAge ); patient.setOrganisationUnit( organisationUnit ); + Character dobType = ( verified ) ? 'V' : 'D'; + + if( !verified && age != null ) + { + dobType = 'A'; + } + if ( dobType == Patient.DOB_TYPE_VERIFIED || dobType == Patient.DOB_TYPE_DECLARED ) { birthDate = birthDate.trim(); @@ -181,7 +188,7 @@ } else { - patient.setBirthDateFromAge( age.intValue(), ageType ); + patient.setBirthDateFromAge( age.intValue(), 'Y' ); } patient.setDobType( dobType ); @@ -424,13 +431,9 @@ this.relationshipTypeId = relationshipTypeId; } - public void setDobType( Character dobType ) + public void setVerified( Boolean verified ) { - this.dobType = dobType; + this.verified = verified; } - public void setAgeType( char ageType ) - { - this.ageType = ageType; - } } === 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-03-26 06:36:24 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties 2012-03-27 04:22:51 +0000 @@ -288,3 +288,4 @@ orgunit_hiererachy_included_on = Organisation unit hiererachy included on level = Level patient_identifier_and_attributes = Beneficiary identifier and attributes +please_fill_out_only_one_of_these_fields = Please fill out at only one of these fields. \ No newline at end of file === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addPatientForm.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addPatientForm.vm 2012-02-01 09:10:08 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addPatientForm.vm 2012-03-27 04:22:51 +0000 @@ -14,18 +14,31 @@ } ,beforeValidateHandler: function(form) { - var dobType = $('#patientForm [id=dobType]').val(); + var checked = byId( 'verified' ).checked; - if( dobType=='V' || dobType=='D' ) - { - var birthDate = $('#patientForm [id=birthDate]').val(); - if( birthDate != '' ){ - $("#patientForm [id=memberValidator]").val(birthDate); - } - }else{ - var age = $('#patientForm [id=age]').val(); - $("#patientForm [id=memberValidator]").val(age); - } + var birthDate = $('#patientForm [id=birthDate]').val(); + var age = $('#patientForm [id=age]').val(); + if( birthDate != '' && age!='' ) + { + showById( 'validateBirthdate' ); + $("#patientForm [id=memberValidator]").val("birthDate"); + return false; + } + else if( birthDate == '' && age == '' ) { + jQuery( '#validateBirthdate' ).removeClass( 'error').addClass('error valid'); + $("#patientForm [id=memberValidator]").val(""); + } + else if ( birthDate != '' ) + { + jQuery( '#validateBirthdate' ).removeClass( 'error').addClass('error valid'); + $("#patientForm [id=memberValidator]").val("birthDate"); + } + else if ( age=='' ) + { + jQuery( '#validateBirthdate' ).removeClass( 'error').addClass('error valid'); + $("#patientForm [id=memberValidator]").val("age"); + } + hideById( 'validateBirthdate' ); } }); === 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 2012-03-09 01:56:35 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2012-03-27 04:22:51 +0000 @@ -1,25 +1,14 @@ -function dobTypeOnChange( container ){ +function verifiedOnchange( container ){ - var type = jQuery('#' + container + ' [id=dobType]').val(); - - if(type == 'V' || type == 'D'){ - jQuery('#' + container + ' [id=age]').rules("remove","required"); - jQuery('#' + container + ' [id=birthDate]').rules("add",{required:true}); - - showById(container + ' [id=birthdaySpan]'); - hideById(container + ' [id=ageSpan]'); - }else if(type == 'A'){ - jQuery('#' + container + ' [id=birthDate]').rules("remove","required"); - jQuery('#' + container + ' [id=age]').rules("add",{required:true}); - - hideById(container + ' [id=birthdaySpan]'); - showById(container + ' [id=ageSpan]'); - }else { - hideById(container + ' [id=birthdaySpan]'); - hideById(container + ' [id=ageSpan]'); - jQuery('#' + container + ' [id=age]').rules("remove","required"); - jQuery('#' + container + ' [id=birthDate]').rules("remove","required"); + var checked = byId( 'verified' ).checked; + if( checked ) + { + disable( 'age' ); + } + else + { + enable( 'age' ); } } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientForm.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientForm.vm 2012-02-01 09:10:08 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientForm.vm 2012-03-27 04:22:51 +0000 @@ -41,43 +41,23 @@ - - - + + + +       $i18n.getString( "verified" ) + $i18n.getString( "age" ) - - - - - - - - - - * - - - - - - - - + + + + - + @@ -113,11 +93,14 @@   $i18n.getString( "patient_identifiers" ) #foreach ($identifierType in $identifierTypes) - - - - - + #if( $identifierType.program ) + #else + + + + + + #end #end #end @@ -126,7 +109,8 @@   $attributeGroup.name #foreach($attribute in $attributeGroup.attributes ) - #if($!attribute) + #if( $attribute.program ) + #else @@ -163,6 +147,8 @@ #if ( $noGroupAttributes && $noGroupAttributes.size() > 0) $i18n.getString( "other_details" ) #foreach($attribute in $noGroupAttributes ) + #if( $attribute.program ) + #else @@ -189,5 +175,6 @@ #end + #end #end #end === 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 2012-03-27 01:29:30 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientRegistrationList.vm 2012-03-27 04:22:51 +0000 @@ -152,5 +152,4 @@ var i18n_program_stage = '$encoder.jsEscape( $i18n.getString( "program_stage" ) , "'")'; var i18n_scheduled_for = '$encoder.jsEscape( $i18n.getString( "scheduled_for" ) , "'")'; 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/style/patient.css' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/style/patient.css 2012-03-08 08:56:27 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/style/patient.css 2012-03-27 04:22:51 +0000 @@ -52,7 +52,7 @@ .heading-column { width : 450px;} td.input-column { width : 390px;} -td.input-column input{ width: 360px;} +td.input-column input[type="text"]{ width: 360px;} td.input-column select { width: 367px;} td.error {padding-left:1em} === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/updatePatientForm.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/updatePatientForm.vm 2012-03-27 01:29:30 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/updatePatientForm.vm 2012-03-27 04:22:51 +0000 @@ -25,23 +25,26 @@ } ,beforeValidateHandler: function(form) { - var dobType = $('#patientForm [id=dobType]').val(); + var checked = byId( 'verified' ).checked; - if( dobType=='V' || dobType=='D' ) + var birthDate = $('#patientForm [id=birthDate]').val(); + var age = $('#patientForm [id=age]').val(); + if( birthDate != '' && age!='' ) { - var birthDate = $('#patientForm [id=birthDate]').val(); - if( birthDate != '' ){ - $("#patientForm [id=memberValidator]").val(birthDate); - } - }else{ - var age = $('#patientForm [id=age]').val(); - $("#patientForm [id=memberValidator]").val(age); - } + showById( 'validateBirthdate' ); + $("#patientForm [id=memberValidator]").val("birthDate"); + return false; + } + else if( birthDate == '' && age == '' ) { + jQuery( '#validateBirthdate' ).removeClass( 'error').addClass('error valid'); + $("#patientForm [id=memberValidator]").val(""); + } + hideById( 'validateBirthdate' ); } }); - dobTypeOnChange( 'patientForm' ); + verifiedOnchange( 'patientForm' ); checkedDuplicate = false; if("$!patient.dobType" == 'A'){ var i18n_please_select_relationshipType = '$encoder.jsEscape( $i18n.getString( "please_verify_birthday" ) , "'")'; @@ -92,40 +95,20 @@ - - - - - - - - * - - - - $!patient.getAge() - - - - - - - - - - + + + +       $i18n.getString( "verified" ) + $i18n.getString( "age" ) + + + - + + + +