=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js 2016-01-06 13:15:57 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/app.js 2016-01-11 16:29:38 +0000 @@ -4518,6 +4518,7 @@ url: ns.core.init.contextPath + '/api/programStages.json?filter=id:eq:' + stageId + '&fields=programStageDataElements[dataElement[id,' + namePropertyUrl + ',valueType,optionSet[id,displayName|rename(name)],legendSet|rename(storageLegendSet)[id,displayName|rename(name)]]]', success: function(r) { var objects = Ext.decode(r.responseText).programStages, + types = ns.core.conf.valueType.tAggregateTypes, dataElements; if (!objects.length) { @@ -4527,6 +4528,12 @@ dataElements = Ext.Array.pluck(objects[0].programStageDataElements, 'dataElement'); + // filter non-aggregatable types + dataElements.filter(function(item) { + item.isDataElement = true; + return Ext.Array.contains(types, item.valueType); + }); + // data elements cache dataElementStorage[stageId] = dataElements; === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/core.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/core.js 2015-12-29 16:35:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-reports/scripts/core.js 2016-01-11 16:29:38 +0000 @@ -198,7 +198,8 @@ textTypes: ['TEXT','LONG_TEXT','LETTER','PHONE_NUMBER','EMAIL'], booleanTypes: ['BOOLEAN','TRUE_ONLY'], dateTypes: ['DATE','DATETIME'], - aggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] + aAggregateTypes: ['BOOLEAN', 'TRUE_ONLY', 'TEXT', 'LONG_TEXT', 'LETTER', 'INTEGER', 'INTEGER_POSITIVE', 'INTEGER_NEGATIVE', 'INTEGER_ZERO_OR_POSITIVE', 'NUMBER', 'UNIT_INTERVAL', 'PERCENTAGE', 'COORDINATE'], + tAggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] }; // aggregation type @@ -215,14 +216,6 @@ idNameMap: {} }; - conf.valueType = { - numericTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE'], - textTypes: ['TEXT','LONG_TEXT','LETTER','PHONE_NUMBER','EMAIL'], - booleanTypes: ['BOOLEAN','TRUE_ONLY'], - dateTypes: ['DATE','DATETIME'], - aggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] - }; - for (var i = 0, obj; i < conf.aggregationType.data.length; i++) { obj = conf.aggregationType.data[i]; conf.aggregationType.idNameMap[obj.id] = obj.text; === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-visualizer/scripts/app.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-visualizer/scripts/app.js 2016-01-06 13:15:57 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-visualizer/scripts/app.js 2016-01-11 16:29:38 +0000 @@ -4174,6 +4174,7 @@ url: ns.core.init.contextPath + '/api/programStages.json?filter=id:eq:' + stageId + '&fields=programStageDataElements[dataElement[id,' + namePropertyUrl + ',valueType,optionSet[id,displayName|rename(name)],legendSet|rename(storageLegendSet)[id,displayName|rename(name)]]]', success: function(r) { var objects = Ext.decode(r.responseText).programStages, + types = ns.core.conf.valueType.tAggregateTypes, dataElements; if (!objects.length) { @@ -4183,6 +4184,12 @@ dataElements = Ext.Array.pluck(objects[0].programStageDataElements, 'dataElement'); + // filter non-aggregatable types + dataElements.filter(function(item) { + item.isDataElement = true; + return Ext.Array.contains(types, item.valueType); + }); + // data elements cache dataElementStorage[stageId] = dataElements; === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-visualizer/scripts/core.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-visualizer/scripts/core.js 2015-12-29 16:35:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-visualizer/scripts/core.js 2016-01-11 16:29:38 +0000 @@ -763,8 +763,9 @@ textTypes: ['TEXT','LONG_TEXT','LETTER','PHONE_NUMBER','EMAIL'], booleanTypes: ['BOOLEAN','TRUE_ONLY'], dateTypes: ['DATE','DATETIME'], - aggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] - } + aAggregateTypes: ['BOOLEAN', 'TRUE_ONLY', 'TEXT', 'LONG_TEXT', 'LETTER', 'INTEGER', 'INTEGER_POSITIVE', 'INTEGER_NEGATIVE', 'INTEGER_ZERO_OR_POSITIVE', 'NUMBER', 'UNIT_INTERVAL', 'PERCENTAGE', 'COORDINATE'], + tAggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] + }; for (var i = 0, obj; i < conf.aggregationType.data.length; i++) { obj = conf.aggregationType.data[i]; === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/app.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/app.js 2016-01-11 14:51:08 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/app.js 2016-01-11 16:29:38 +0000 @@ -3122,6 +3122,7 @@ loadDetailsPage: function(uid, filter, append, noPaging, fn) { var store = this, params = {}, + types = ns.core.conf.valueType.aAggregateTypes.join(','), path; if (store.nextPage === store.lastPage) { @@ -3129,10 +3130,10 @@ } if (Ext.isString(uid)) { - path = '/dataElementOperands.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=dataElement.dataElementGroups.id:eq:' + uid + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); + path = '/dataElementOperands.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=valueType:in:[' + types + ']&filter=dataElement.dataElementGroups.id:eq:' + uid + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); } else if (uid === 0) { - path = '/dataElementOperands.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '' + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); + path = '/dataElementOperands.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=valueType:in:[' + types + ']' + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); } if (!path) { === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/core.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/core.js 2016-01-06 13:15:57 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-pivot/scripts/core.js 2016-01-11 16:29:38 +0000 @@ -203,7 +203,6 @@ dateTypes: ['DATE','DATETIME'], aAggregateTypes: ['BOOLEAN', 'TRUE_ONLY', 'TEXT', 'LONG_TEXT', 'LETTER', 'INTEGER', 'INTEGER_POSITIVE', 'INTEGER_NEGATIVE', 'INTEGER_ZERO_OR_POSITIVE', 'NUMBER', 'UNIT_INTERVAL', 'PERCENTAGE', 'COORDINATE'], tAggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] - }; conf.layout = { === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-visualizer/scripts/app.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-visualizer/scripts/app.js 2016-01-11 14:51:08 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-visualizer/scripts/app.js 2016-01-11 16:29:38 +0000 @@ -3152,6 +3152,7 @@ loadTotalsPage: function(uid, filter, append, noPaging, fn) { var store = this, params = {}, + types = ns.core.conf.valueType.aAggregateTypes.join(','), path; if (store.nextPage === store.lastPage) { @@ -3159,10 +3160,10 @@ } if (Ext.isString(uid)) { - path = '/dataElements.json?fields=id,' + namePropertyUrl + '&filter=dataElementGroups.id:eq:' + uid + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); + path = '/dataElements.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=valueType:in:[' + types + ']&filter=dataElementGroups.id:eq:' + uid + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); } else if (uid === 0) { - path = '/dataElements.json?fields=id,' + namePropertyUrl + '&filter=domainType:eq:AGGREGATE' + '' + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); + path = '/dataElements.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=valueType:in:[' + types + ']&filter=domainType:eq:AGGREGATE' + '' + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); } if (!path) { @@ -3199,6 +3200,7 @@ loadDetailsPage: function(uid, filter, append, noPaging, fn) { var store = this, params = {}, + types = ns.core.conf.valueType.aAggregateTypes.join(','), path; if (store.nextPage === store.lastPage) { @@ -3206,10 +3208,10 @@ } if (Ext.isString(uid)) { - path = '/dataElementOperands.json?fields=id,' + namePropertyUrl + '&filter=dataElement.dataElementGroups.id:eq:' + uid + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); + path = '/dataElementOperands.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=valueType:in:[' + types + ']&filter=dataElement.dataElementGroups.id:eq:' + uid + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); } else if (uid === 0) { - path = '/dataElementOperands.json?fields=id,' + namePropertyUrl + '' + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); + path = '/dataElementOperands.json?fields=dimensionItem|rename(id),' + namePropertyUrl + '&filter=valueType:in:[' + types + ']' + (filter ? '&filter=' + nameProperty + ':ilike:' + filter : ''); } if (!path) { @@ -4543,6 +4545,7 @@ displayField: 'name', emptyText: NS.i18n.select_program, editable: false, + queryMode: 'local', store: programStore, listeners: { select: function(cb) { === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-visualizer/scripts/core.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-visualizer/scripts/core.js 2015-12-29 16:35:10 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-visualizer/scripts/core.js 2016-01-11 16:29:38 +0000 @@ -725,7 +725,8 @@ textTypes: ['TEXT','LONG_TEXT','LETTER','PHONE_NUMBER','EMAIL'], booleanTypes: ['BOOLEAN','TRUE_ONLY'], dateTypes: ['DATE','DATETIME'], - aggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] + aAggregateTypes: ['BOOLEAN', 'TRUE_ONLY', 'TEXT', 'LONG_TEXT', 'LETTER', 'INTEGER', 'INTEGER_POSITIVE', 'INTEGER_NEGATIVE', 'INTEGER_ZERO_OR_POSITIVE', 'NUMBER', 'UNIT_INTERVAL', 'PERCENTAGE', 'COORDINATE'], + tAggregateTypes: ['NUMBER','UNIT_INTERVAL','PERCENTAGE','INTEGER','INTEGER_POSITIVE','INTEGER_NEGATIVE','INTEGER_ZERO_OR_POSITIVE','BOOLEAN','TRUE_ONLY'] }; conf.layout = {