=== 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 2012-04-17 04:39:03 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java 2012-05-26 17:38:10 +0000 @@ -106,6 +106,8 @@ private String registrationDate; + private Character dobType; + private boolean underAge; private Integer representativeId; @@ -324,6 +326,11 @@ this.verified = verified; } + public void setDobType( Character dobType ) + { + this.dobType = dobType; + } + public void setPatientIdentifierTypeService( PatientIdentifierTypeService patientIdentifierTypeService ) { this.patientIdentifierTypeService = patientIdentifierTypeService; === 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-04-17 04:39:03 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java 2012-05-26 17:38:10 +0000 @@ -110,6 +110,8 @@ private Integer relationshipTypeId; + private Character dobType; + // ------------------------------------------------------------------------- // Output // ------------------------------------------------------------------------- @@ -177,13 +179,6 @@ 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(); @@ -339,6 +334,11 @@ this.patientIdentifierTypeService = patientIdentifierTypeService; } + public void setDobType( Character dobType ) + { + this.dobType = dobType; + } + public void setFormat( I18nFormat format ) { this.format = format; === 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-03-30 01:28:12 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/addPatientForm.vm 2012-05-26 17:38:10 +0000 @@ -4,49 +4,32 @@ currentDiv = 'patientForm'; checkedDuplicate = false; - isSubmit = true; jQuery("#patientForm").validate({ meta:"validate" ,errorElement:"span" ,submitHandler: function(form) { - if( isSubmit ) - { - validateAddPatient(); - } + validateAddPatient(); } ,beforeValidateHandler: function(form) { - var checked = byId( 'verified' ).checked; + var dobType = $('#patientForm [id=dobType]').val(); - var birthDate = $('#patientForm [id=birthDate]').val(); - var age = $('#patientForm [id=age]').val(); - if( birthDate != '' && age!='' ) - { - $("#patientForm [id=memberValidator]").val("birthDate"); - showById( 'validateBirthdate' ); - jQuery('#age').focus(); - isSubmit = false; - return; - } - else if( birthDate == '' && age == '' ) { - $("#patientForm [id=memberValidator]").val(""); - } - else if ( birthDate != '' ) - { - $("#patientForm [id=memberValidator]").val("birthDate"); - } - else if ( age!='' ) - { - $("#patientForm [id=memberValidator]").val("age"); - } - isSubmit = true; + 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); + } } }); datePickerValid( 'patientForm [id=registrationDate]' ); - datePickerValid( 'patientForm [id=birthDate]' ); addEventForPatientForm( 'patientForm' ); }); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2012-05-26 09:18:15 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2012-05-26 17:38:10 +0000 @@ -716,19 +716,12 @@ }, datatable: null, getDataTableStore: function() { - - this.datatable = Ext.create('Ext.data.Store', { + + this.datatable = Ext.create('Ext.data.ArrayStore', { fields: TR.value.fields, data: TR.value.values, remoteSort:true, autoLoad: false, - proxy: { - type: 'memory', - reader: { - type: 'json', - root: 'items' - } - }, storage: {} }); }, @@ -797,11 +790,18 @@ success: function(r) { var json = Ext.JSON.decode(r.responseText); TR.state.total = json.total; - TR.value.valueTypes = json.valueTypes; - TR.value.fields = json.fields; - TR.value.hidden= json.hidden; TR.value.columns = json.columns; - TR.value.values = json.items; + TR.value.values=json.items; + + var fields = []; + fields[0] = "id"; + for( var index=0; index < TR.value.columns.length; index++ ) + { + var i = index + 1; + fields[i] = 'col' + i; + } + + TR.value.fields = fields; if ( json.items.length > 1 ) { @@ -997,27 +997,9 @@ }; TR.value = { - valueTypes: [], columns: [], fields: [], - hidden: [], - values: [], - getValueType: function( index ) - { - if( TR.value.valueTypes[index] == null ) - { - return 'textfield'; - } - return TR.value.valueTypes[index].valueType; - }, - getSuggestedValues: function( index ) - { - if( TR.value.valueTypes[index] == null ) - { - return []; - } - return TR.value.valueTypes[index].suggestedValues; - } + values: [] }; TR.datatable = { @@ -1030,7 +1012,7 @@ var paramsLen = TR.cmp.params.identifierType.selected.store.data.length + TR.cmp.params.patientAttribute.selected.store.data.length + TR.cmp.params.dataelement.selected.store.data.length; - var metaDatatColsLen = TR.value.columns.length - paramsLen ; + var metaDatatColsLen = TR.value.columns.length - paramsLen; // column var cols = []; @@ -1045,97 +1027,87 @@ menuDisabled: true }; - cols[1] = { - header: TR.value.columns[1], - dataIndex: 'col1', - height: TR.conf.layout.east_gridcolumn_height, - sortable: false, - draggable: false, - hideable: false - }; - - index = 2; - for( index=2; index < metaDatatColsLen; index++ ) + // report-date && orgunits + var index=0; + for( index=0; index < paramsLen; index++ ) { - cols[index] = { - header: TR.value.columns[index], - dataIndex: 'col' + index, + cols[index + 1] = { + header: TR.value.columns[index].name, + dataIndex: 'col' + eval(index + 1), height: TR.conf.layout.east_gridcolumn_height, name:"meta_" + index + "_", sortable: false, draggable: false, - hidden: eval(TR.value.hidden['col' + index]) + hidden: eval(TR.value.columns[index].hidden ) } } + // identifier TR.cmp.params.identifierType.selected.store.each( function(r) { var dataIndex = "col" + index; - cols[index] = { - header: r.data.name, - dataIndex: dataIndex, + cols[index + 1] = { + header: TR.value.columns[index].name, + dataIndex: 'col' + eval(index + 1), height: TR.conf.layout.east_gridcolumn_height, name: "iden_"+ r.data.id + "_", - hidden: eval(TR.value.hidden['col' + index]), sortable: false, - draggable: true, - editor: { - xtype: 'textfield', - allowBlank: true - } - }; + draggable: false, + hidden: eval(TR.value.columns[index].hidden ) + } index++; }); + // patient-attributes TR.cmp.params.patientAttribute.selected.store.each( function(r) { - var dataIndex = "col" + index; - cols[index] = { - header: r.data.name, + var dataIndex = "col" + eval(index + 1); + cols[index + 1] = { + header: TR.value.columns[index].name, dataIndex: dataIndex, height: TR.conf.layout.east_gridcolumn_height, name: "attr_"+ r.data.id + "_", - hidden: eval(TR.value.hidden['col' + index]), - flex:1, + hidden: eval(TR.value.columns[index].hidden ), sortable: false, draggable: true, emptyText: TR.i18n.et_no_data, editor: { - xtype: TR.value.getValueType(index), - queryMode: 'local', - editable: true, - valueField: 'name', - displayField: 'name', - allowBlank: true, - store: new Ext.data.ArrayStore({ - fields: ['name'], - data: TR.value.getSuggestedValues(index) - }) - } - }; + xtype: TR.value.columns[index].valueType, + queryMode: 'local', + editable: true, + valueField: 'name', + displayField: 'name', + allowBlank: true, + store: new Ext.data.ArrayStore({ + fields: ['name'], + data: TR.value.columns[index].suggested + }) + } + }; index++; }); + // Dataelements TR.cmp.params.dataelement.selected.store.each( function(r) { - var dataIndex = "col" + index; - cols[index] = { - header: r.data.name, + var dataIndex = "col" + eval(index + 1); + cols[index + 1] = { + header: TR.value.columns[index].name, dataIndex: dataIndex, height: TR.conf.layout.east_gridcolumn_height, name: "de_"+ r.data.id + "_", - hidden: eval(TR.value.hidden['col' + index]), - flex:1, + hidden: eval(TR.value.columns[index].hidden ), sortable: false, draggable: true, + emptyText: TR.i18n.et_no_data, editor: { - xtype: TR.value.getValueType(index), - queryMode: 'local', - editable: true, - valueField: 'name', - displayField: 'name', - allowBlank: true, - store: new Ext.data.ArrayStore({ - fields: ['name'], - data: TR.value.getSuggestedValues(index) - }) + xtype: TR.value.columns[index].valueType, + queryMode: 'local', + editable: true, + valueField: 'name', + displayField: 'name', + allowBlank: true, + store: new Ext.data.ArrayStore({ + fields: ['name'], + data: TR.value.columns[index].suggested + }) } }; index++; === 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-05-24 16:51:34 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/commons.js 2012-05-26 17:38:10 +0000 @@ -1,14 +1,25 @@ -function verifiedOnchange( container ){ +function dobTypeOnChange( container ){ - var checked = byId( 'verified' ).checked; - if( checked ) - { - disable( 'age' ); - } - else - { - enable( 'age' ); + 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}); + datePickerValid( container + ' [id=birthDate]' ); + jQuery('#' + container + ' [id=birthDate]').css("display",""); + jQuery('#' + container + ' [id=age]').css("display","none"); + }else if(type == 'A'){ + jQuery('#' + container + ' [id=birthDate]').rules("remove","required"); + jQuery('#' + container + ' [id=age]').rules("add",{required:true}); + $('#' + container+ ' [id=birthDate]').datepicker("destroy"); + jQuery('#' + container + ' [id=birthDate]').css("display","none"); + jQuery('#' + container + ' [id=age]').css("display",""); + }else { + jQuery('#' + container + ' [id=age]').rules("remove","required"); + jQuery('#' + container + ' [id=birthDate]').rules("remove","required"); + $('#' + container+ ' [id=birthDate]').datepicker("destroy"); + jQuery('#' + container + ' [id=birthDate]').css("display","none"); + jQuery('#' + container + ' [id=age]').css("display",""); } } @@ -120,7 +131,7 @@ if ( key==13 )// Enter { - searchAdvancedPatients()(); + searchAdvancedPatients(); } } === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonTabularReportResult.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonTabularReportResult.vm 2012-05-24 14:30:38 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonTabularReportResult.vm 2012-05-26 17:38:10 +0000 @@ -1,89 +1,44 @@ + #set( $noRows = $grid.getRows().size() ) { -#if( $grid && $noRows > 0) #set( $noHeader = $grid.getHeaders().size() ) -#set( $metaData = $noHeader - $valueTypes.size() ) +#set ( $metaData = $noHeader - $valueTypes.size() ) "total": "$total", -"valueTypes":[ -#foreach( $col in $grid.getHeaders() ) -#if ($velocityCount <= $metaData + 1) -{ - "valueType": "textfield", - "suggestedValues": [] -}, -#end -#end -#set($index = 0) -#foreach( $valueType in $valueTypes ) -{ - "valueType": - #if( $valueType == 'number' || $valueType == 'NUMBER' ) - "textfield" - #elseif( $valueType == 'bool' || $valueType == 'YES/NO' || $valueType =='optionSet' ) - "combobox" - #elseif( $valueType == 'date' || $valueType == 'DATE' ) - "textfield" - #else - "textfield" - #end, - #set( $suggestedValues = $mapSuggestedValues.get($index) ) - "suggestedValues":[ - #foreach( $suggestedValue in $suggestedValues ) - ["$!encoder.jsonEncode( ${suggestedValue} )"]#if( $velocityCount < $suggestedValues.size() ),#end - #end - ] }#if( $velocityCount < $valueTypes.size() ),#end - #set( $index = $index + 1 ) - #end - ], - "columns":[ - "id", - #foreach( $colName in $grid.getHeaders() ) - "$colName.name"#if( $velocityCount < $noHeader ),#end - #end - ], - "fields":[ - "id", - #foreach( $col in $grid.getHeaders() ) - "col${velocityCount}"#if( $velocityCount < $noHeader ),#end - #end - ], - "hidden":[ - #set( $index = 2 ) - #set($col="col" + $index ) - #foreach( $header in $grid.getHeaders() ) - {"$col":"$header.hidden"}#if( $velocityCount < $noHeader ),#end - #set( $index = $index + 1 ) - #end - ], - "items":[ - { - "id":"$i18n.getString( 'filter' )", - #foreach( $col in $grid.getHeaders() ) - #if ($velocityCount <= $metaData ) - "col${velocityCount}": "", - #end - #end - #set( $index = $metaData + 1 ) - #foreach( $value in $values ) - "col${index}": "${value}"#if( $velocityCount < $values.size() ),#end - #set( $index = $index + 1 ) - #end - }, +"columns":[ + #set($index = 0) + #foreach( $col in $grid.getHeaders() ) + { + #set( $mapIndx = $index - $metaData ) + "valueType": #if( $index > $metaData && $mapSuggestedValues.get($mapIndx).size() > 0 ) + "combobox" + #else + "textfield" + #end, + "suggested": [#set( $suggestedValues = $mapSuggestedValues.get($mapIndx) ) + #foreach( $suggestedValue in $suggestedValues ) + ["$!encoder.jsonEncode( ${suggestedValue} )"] + #if( $velocityCount < $suggestedValues.size() ),#end + #end], + "name": "$col.name", + "hidden": "$col.hidden" + }#if( $velocityCount < $noHeader ),#end + #set($index = $index + 1) + #end +], +"items":[ + [ + "$i18n.getString( 'filter' )", + #foreach( $col in $grid.getHeaders() )"",#end + ], #foreach( $row in $grid.getRows() ) - { + [ #set( $nr = ( ( $paging.getCurrentPage() - 1 ) * $paging.pageSize ) + $velocityCount ) - "id": ${nr}, + ${nr}, #foreach( $col in $row ) - "col${velocityCount}": "$!encoder.htmlEncode( $col )"#if( $velocityCount < $noHeader ),#end + #set($colName = "col"+ $velocityCount) + "$!encoder.htmlEncode( $col )"#if( $velocityCount < $noHeader ),#end #end - }#if( $velocityCount < $noRows ),#end - #end ] -#else - "total": 0, - "valueTypes":[], - "columns":[], - "fields":[], - "hidden":[], - "items":[] -#end + ]#if( $velocityCount < $noRows ),#end + #end + ] } \ No newline at end of file === 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-05-24 16:56:31 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/patientForm.vm 2012-05-26 17:38:10 +0000 @@ -9,7 +9,7 @@ - + @@ -69,7 +56,7 @@

$i18n.getString( "update_patient" )

- +
@@ -78,7 +65,7 @@ - + @@ -89,36 +76,41 @@ - + - + - - + + + + + + + - - - - - - @@ -126,7 +118,7 @@ - - @@ -170,7 +162,7 @@ - @@ -181,7 +173,7 @@ #set( $representative = $!patient.representative ) - @@ -189,14 +181,15 @@ #if( $identifierTypes.size() > 0) - + #foreach ($identifierType in $identifierTypes) #if( $identifierType.program ) #else + ##set( $identifier = '' ) #set( $identifier = $identiferMap.get( $identifierType.id ) ) - + #end #end @@ -206,14 +199,14 @@ #foreach ($attributeGroup in $attributeGroups ) - + #foreach($attribute in $attributeGroup.attributes) #if( $attribute.program ) #else #set( $attributeValue = $!patientAttributeValueMap.get( $attribute.id ) ) - + #foreach($attribute in $noGroupAttributes ) #set( $attributeValue = "" ) #set( $attributeValue = $!patientAttributeValueMap.get( $attribute.id ) ) - - + @@ -32,7 +32,7 @@ - + === modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programStageList.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programStageList.vm 2012-05-23 16:19:55 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/programStageList.vm 2012-05-26 17:38:10 +0000 @@ -60,7 +60,7 @@




-


+



=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm' --- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm 2012-05-23 18:02:21 +0000 +++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm 2012-05-26 17:38:10 +0000 @@ -31,7 +31,7 @@ - +
$i18n.getString( "system_identifier" )$i18n.getString( "system_identifier" )
$i18n.getString( "demographics" )$i18n.getString( "demographics" )
+
+ + + + +
- - - $i18n.getString( "verified" ) - $i18n.getString( "age_year" ) -
+
+
+
$i18n.getString("representative") + $!patient.representative.getFullName() $i18n.getString( 'show_details' )
$i18n.getString("patient_identifiers")
$i18n.getString("patient_identifiers")
 
$attributeGroup.name
$attributeGroup.name
+ #if( $attribute.valueType == "YES/NO" )
$i18n.getString( "Other details" )
$i18n.getString( "Other details" )
+ #if( $attribute.valueType == "YES/NO" )