=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveAggregateReportAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveAggregateReportAction.java 2013-02-22 13:29:25 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveAggregateReportAction.java 2013-02-28 04:34:35 +0000 @@ -230,7 +230,7 @@ throws Exception { userOrganisationUnit = (userOrganisationUnit == null) ? false : userOrganisationUnit; - userOrganisationUnitChildren = (userOrganisationUnitChildren = null) ? false : userOrganisationUnitChildren; + userOrganisationUnitChildren = (userOrganisationUnitChildren == null) ? false : userOrganisationUnitChildren; PatientAggregateReport aggregateReport = new PatientAggregateReport(); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java 2013-02-22 13:29:25 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveTabularReportAction.java 2013-02-28 04:34:35 +0000 @@ -233,7 +233,7 @@ throws Exception { userOrganisationUnit = (userOrganisationUnit == null) ? false : userOrganisationUnit; - userOrganisationUnitChildren = (userOrganisationUnitChildren = null) ? false : userOrganisationUnitChildren; + userOrganisationUnitChildren = (userOrganisationUnitChildren == null) ? false : userOrganisationUnitChildren; Set orgunits = new HashSet( organisationUnitService.getOrganisationUnits( orgunitIds ) ); === 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 2013-02-27 14:39:27 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2013-02-28 04:34:35 +0000 @@ -511,20 +511,42 @@ else if( xtype == 'combobox' ) { var deId = id.split('_')[1]; + var fixedId = id.substring(0, id.lastIndexOf('_') ); params.typeAhead = true; params.forceSelection = true; - if( valueType == 'bool') + if( valueType == 'bool' || fixedId=='fixedAttr_gender' || fixedId=='fixedAttr_dobType') { params.queryMode = 'local'; params.valueField = 'value'; params.displayField = 'name'; params.editable = false; params.value = 'true'; - params.store = new Ext.data.ArrayStore({ - fields: ['value', 'name'], - data: [['true', TR.i18n.yes], - ['false', TR.i18n.no]] - }); + if( fixedId=='fixedAttr_gender') + { + params.store = new Ext.data.ArrayStore({ + fields: ['value', 'name'], + data: [['M', TR.i18n.male], + ['F', TR.i18n.female], + ['T', TR.i18n.transgender]] + }); + } + else if( fixedId=='fixedAttr_dobType') + { + params.store = new Ext.data.ArrayStore({ + fields: ['value', 'name'], + data: [['V', TR.i18n.verified], + ['D', TR.i18n.declared], + ['A', TR.i18n.approximated]] + }); + } + else if (valueType == 'bool') + { + params.store = new Ext.data.ArrayStore({ + fields: ['value', 'name'], + data: [['true', TR.i18n.yes], + ['false', TR.i18n.no]] + }); + } } else if( valueType == 'trueOnly') { @@ -1036,25 +1058,29 @@ } // Patient properties + Ext.getCmp('filterPropPanel').removeAll(); + Ext.getCmp('filterPropPanel').doLayout(); TR.store.patientProperty.selected.removeAll(); // programs with registration + TR.cmp.params.patientProperty.objects = []; if (f.patientProperties && f.type != "3" ) { - for (var i = 0; i < f.patientProperties.length; i++) { - TR.cmp.params.patientProperty.objects.push({id: f.patientProperties[i].id, name: TR.util.string.getEncodedString(f.patientProperties[i].name)}); - } - TR.store.patientProperty.selected.add(TR.cmp.params.patientProperty.objects); - - var storePatientProperty = TR.store.patientProperty.available; - storePatientProperty.parent = f.programId; - if (TR.util.store.containsParent(storePatientProperty)) { - TR.util.store.loadFromStorage(storePatientProperty); - TR.util.multiselect.filterAvailable(TR.cmp.params.patientProperty.available, TR.cmp.params.patientProperty.selected); - } - else { - storePatientProperty.load({params: {programId: f.programId}}); - } - + for (var i = 0; i < f.patientProperties.length; i++) { + var name = TR.util.string.getEncodedString(f.patientProperties[i].name); + TR.cmp.params.patientProperty.objects.push({id: f.patientProperties[i].id, name: name}); + TR.util.multiselect.addFilterField( 'filterPropPanel', f.patientProperties[i].id, name, f.patientProperties[i].valueType ); + } + TR.store.patientProperty.selected.add(TR.cmp.params.patientProperty.objects); + + var storePatientProperty = TR.store.patientProperty.available; + storePatientProperty.parent = f.programId; + if (TR.util.store.containsParent(storePatientProperty)) { + TR.util.store.loadFromStorage(storePatientProperty); + TR.util.multiselect.filterAvailable(TR.cmp.params.patientProperty.available, TR.cmp.params.patientProperty.selected); + } + else { + storePatientProperty.load({params: {programId: f.programId}}); + } } // Data element @@ -1654,9 +1680,8 @@ p.searchingValues = []; // Patient properties + TR.cmp.params.patientProperty.selected.store.each( function(r) { - //p.searchingValues.push( r.data.id + '_false_' ); - var propId = r.data.id; var valueType = r.data.valueType; var length = Ext.getCmp('p_' + propId).items.length/4; @@ -1666,8 +1691,12 @@ { var id = propId + '_' + idx; var filterValue = Ext.getCmp('filter_' + id).rawValue; + if( valueType == 'bool' || propId=='fixedAttr_gender' || propId=='fixedAttr_dobType') + { + filterValue = Ext.getCmp('filter_' + id).getValue(); + } var filter = propId + '_' + hidden - if( filterValue!=''){ + if( filterValue!=null && filterValue!=''){ var filterOpt = Ext.getCmp('filter_opt_' + id).rawValue; filter += '_' + filterOpt + ' '; if( filterOpt == 'IN' ) @@ -1745,8 +1774,46 @@ } // Get searching values + var searchingValues = document.getElementById('searchingValues'); TR.util.list.clearList(searchingValues); + + + // Patient properties + + TR.cmp.params.patientProperty.selected.store.each( function(r) { + var propId = r.data.id; + var valueType = r.data.valueType; + var length = Ext.getCmp('p_' + propId).items.length/4; + var hidden = TR.state.caseBasedReport.isColHidden(propId); + + for(var idx=0;idx