=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java 2013-01-30 07:54:43 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patientreport/PatientAggregateReport.java 2013-01-30 09:34:29 +0000 @@ -109,6 +109,8 @@ private int position; private DataElement deGroupBy; + + private DataElement deSum; private String aggregateType; @@ -295,4 +297,14 @@ this.userOrganisationUnitChildren = userOrganisationUnitChildren; } + public DataElement getDeSum() + { + return deSum; + } + + public void setDeSum( DataElement deSum ) + { + this.deSum = deSum; + } + } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAggregateReport.hbm.xml' --- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAggregateReport.hbm.xml 2013-01-21 09:52:11 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patientreport/hibernate/PatientAggregateReport.hbm.xml 2013-01-30 09:34:29 +0000 @@ -74,6 +74,9 @@ + + === 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-01-25 08:32:01 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/SaveAggregateReportAction.java 2013-01-30 09:34:29 +0000 @@ -193,6 +193,13 @@ this.deGroupBy = deGroupBy; } + private Integer deSum; + + public void setDeSum( Integer deSum ) + { + this.deSum = deSum; + } + private Boolean useCompletedEvents; public void setUseCompletedEvents( Boolean useCompletedEvents ) @@ -255,6 +262,11 @@ { aggregateReport.setDeGroupBy( dataElementService.getDataElement( deGroupBy ) ); } + + if ( deSum != null ) + { + aggregateReport.setDeSum( dataElementService.getDataElement( deSum ) ); + } if ( useCompletedEvents != null ) { === 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-01-30 07:54:43 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/app/app.js 2013-01-30 09:34:29 +0000 @@ -1227,7 +1227,8 @@ Ext.getCmp('limitOption').setValue( f.limitRecords ); TR.util.positionFilter.convert( f.position ); Ext.getCmp('dataElementGroupByCbx').setValue( f.deGroupBy ); - Ext.getCmp('aggregateType').setValue( f.deGroupBy ); + Ext.getCmp('deSumCbx').setValue( f.deSum ); + Ext.getCmp('aggregateType').setValue( f.aggregateType ); Ext.getCmp('levelCombobox').setValue( f.level ); // Program stage @@ -1235,7 +1236,6 @@ storeProgramStage.parent = f.programStageId; storeProgramStage.isLoadFromFavorite = true; storeProgramStage.load({params: {programId: f.programId}}); - Ext.getCmp('programStageCombobox').setValue( f.programStageId ); TR.exe.execute(); @@ -1921,7 +1921,7 @@ p.aggregateType = Ext.getCmp('aggregateType').getValue().aggregateType; if( p.aggregateType != 'count') { - p.deSum = Ext.getCmp('deSumCbx').getValue(); + p.deSum = Ext.getCmp('deSumCbx').getValue().split('_')[1]; } // orgunits @@ -2747,7 +2747,6 @@ id: 'reportTypeGroup', fieldLabel: TR.i18n.report_type, labelStyle: 'font-weight:bold', - //labelAlign: 'top', columns: 2, vertical: true, items: [ @@ -2760,6 +2759,7 @@ change: function (cb, nv, ov) { if(nv) { + // for case-based report dataElementTabTitle.innerHTML = TR.i18n.data_elements; Ext.getCmp('limitOption').setVisible(false); Ext.getCmp('dataElementGroupByCbx').setVisible(false); @@ -2770,6 +2770,7 @@ Ext.getCmp('completedEventsOpt').setVisible(false); Ext.getCmp('aggregateFavoriteBtn').setVisible(false); Ext.getCmp('datePeriodRangeDiv').setVisible(false); + Ext.getCmp('deSumCbx').setVisible(false); Ext.getCmp('caseBasedFavoriteBtn').setVisible(true); Ext.getCmp('levelCombobox').setVisible(true); @@ -2789,6 +2790,7 @@ change: function (cb, nv, ov) { if(nv) { + // For aggregate report dataElementTabTitle.innerHTML = TR.i18n.data_filter; Ext.getCmp('limitOption').setVisible(true); Ext.getCmp('dataElementGroupByCbx').setVisible(true); @@ -2796,11 +2798,12 @@ Ext.getCmp('downloadPdfIcon').setVisible(true); Ext.getCmp('downloadCvsIcon').setVisible(true); Ext.getCmp('aggregateFavoriteBtn').setVisible(true); - Ext.getCmp('caseBasedFavoriteBtn').setVisible(false); Ext.getCmp('positionField').setVisible(true); Ext.getCmp('completedEventsOpt').setVisible(true); + Ext.getCmp('deSumCbx').setVisible(true); Ext.getCmp('dateRangeDiv').setVisible(false); Ext.getCmp('levelCombobox').setVisible(false); + Ext.getCmp('caseBasedFavoriteBtn').setVisible(false); Ext.getCmp('datePeriodRangeDiv').setVisible(true); Ext.getCmp('fixedPeriodsDiv').setVisible(true); @@ -4176,12 +4179,29 @@ boxLabel: TR.i18n.avg, name: 'aggregateType', inputValue: 'avg' - }] + }], + listeners: { + change : function(thisFormField, newValue, oldValue, eOpts) { + var opt = newValue.aggregateType[0]; + + if( opt==oldValue.aggregateType && newValue.aggregateType.length > 1){ + opt = newValue.aggregateType[1]; + } + + if (opt=='sum' || opt=='avg') { + Ext.getCmp('deSumCbx').enable(); + } + else if (opt=='count'){ + Ext.getCmp('deSumCbx').disable(); + } + } + } }, { xtype: 'combobox', cls: 'tr-combo', id: 'deSumCbx', + disabled: true, fieldLabel: TR.i18n.sum_avg_of, labelWidth: 135, emptyText: TR.i18n.please_select, @@ -5526,6 +5546,7 @@ dataElementTabTitle.innerHTML = TR.i18n.data_elements; Ext.getCmp('limitOption').setVisible(false); Ext.getCmp('dataElementGroupByCbx').setVisible(false); + Ext.getCmp('deSumCbx').setVisible(false); Ext.getCmp('aggregateType').setVisible(false); Ext.getCmp('downloadPdfIcon').setVisible(false); Ext.getCmp('downloadCvsIcon').setVisible(false); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonTabularAggregateReport.vm' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonTabularAggregateReport.vm 2013-01-26 07:07:27 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonTabularAggregateReport.vm 2013-01-30 09:34:29 +0000 @@ -90,6 +90,7 @@ "limitRecords": "$!aggregateReport.limitRecords", "position": "${aggregateReport.position}", "deGroupBy": #if($!aggregateReport.deGroupBy) "de_$!aggregateReport.deGroupBy.id" #else "" #end, + "deSum": #if($!aggregateReport.deSum) "de_$!aggregateReport.deSum.id" #else "" #end, "aggregateType": "${aggregateReport.aggregateType}", "useCompletedEvents": "$!aggregateReport.useCompletedEvents", "userOrganisationUnit": "$!aggregateReport.userOrganisationUnit",