=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js 2015-06-18 07:48:19 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js 2015-06-18 10:33:59 +0000 @@ -16,9 +16,8 @@ SessionStorageService, Paginator, OptionSetService, - ProgramValidationService, - ProgramFactory, - ProgramStageFactory, + MetaDataFactory, + ProgramFactory, DHIS2EventFactory, DHIS2EventService, ContextMenuSelectedItem, @@ -87,7 +86,7 @@ if($scope.optionSets.length < 1){ $scope.optionSets = []; - OptionSetService.getAll().then(function(optionSets){ + MetaDataFactory.getAll('optionSets').then(function(optionSets){ angular.forEach(optionSets, function(optionSet){ $scope.optionSets[optionSet.id] = optionSet; }); @@ -145,7 +144,7 @@ $scope.selectedProgram.programStages[0].id){ //because this is single event, take the first program stage - ProgramStageFactory.get($scope.selectedProgram.programStages[0].id).then(function (programStage){ + MetaDataFactory.get('programStages', $scope.selectedProgram.programStages[0].id).then(function (programStage){ $scope.selectedProgramStage = programStage; @@ -193,7 +192,7 @@ } $scope.newDhis2Event.eventDate = ''; - ProgramValidationService.getByProgram($scope.selectedProgram.id).then(function(pvs){ + MetaDataFactory.getByProgram('programValidations', $scope.selectedProgram.id).then(function(pvs){ $scope.programValidations = pvs; $scope.loadEvents(); }); === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js 2015-06-17 11:50:16 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/event-capture.js 2015-06-18 10:33:59 +0000 @@ -32,7 +32,7 @@ dhis2.ec.store = new dhis2.storage.Store({ name: 'dhis2ec', adapters: [dhis2.storage.IndexedDBAdapter, dhis2.storage.DomSessionStorageAdapter, dhis2.storage.InMemoryAdapter], - objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'ouLevels'] + objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'programIndicators', 'ouLevels'] }); (function($) { @@ -152,6 +152,8 @@ promise = promise.then( getProgramStages ); promise = promise.then( getMetaProgramValidations ); promise = promise.then( getProgramValidations ); + promise = promise.then( getMetaProgramIndicators ); + promise = promise.then( getProgramIndicators ); promise = promise.then( getMetaProgramRules ); promise = promise.then( getProgramRules ); promise = promise.then( getMetaProgramRuleVariables ); @@ -480,6 +482,16 @@ return getD2Objects( programValidations, 'programValidations', '../api/programValidations', 'fields=id,name,displayName,operator,rightSide[expression,description],leftSide[expression,description],program[id]'); } +function getMetaProgramIndicators( programs ) +{ + return getD2MetaObject(programs, 'programIndicators', '../api/programIndicators.json', 'paging=false&fields=id,program[id]'); +} + +function getProgramIndicators( programIndicators ) +{ + return getD2Objects( programIndicators, 'programIndicators', '../api/programIndicators', 'fields=id,name,code,shortName,expression,displayDescription,rootDate,description,valueType,DisplayName,program[id,name]'); +} + function getMetaProgramRules( programs ) { return getD2MetaObject(programs, 'programRules', '../api/programRules.json', 'paging=false&fields=id,program[id]'); === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js 2015-06-17 11:50:16 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js 2015-06-18 10:33:59 +0000 @@ -1,4 +1,4 @@ -/* global angular */ +/* global angular, dhis2 */ 'use strict'; @@ -10,7 +10,7 @@ var store = new dhis2.storage.Store({ name: 'dhis2ec', adapters: [dhis2.storage.IndexedDBAdapter, dhis2.storage.DomSessionStorageAdapter, dhis2.storage.InMemoryAdapter], - objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'ouLevels'] + objectStores: ['programs', 'programStages', 'geoJsons', 'optionSets', 'events', 'programValidations', 'programRules', 'programRuleVariables', 'programIndicators', 'ouLevels'] }); return{ currentStore: store @@ -82,35 +82,8 @@ }) /* Factory to fetch optionSets */ -.factory('OptionSetService', function($q, $rootScope, ECStorageService) { +.factory('OptionSetService', function() { return { - getAll: function(){ - - var def = $q.defer(); - - ECStorageService.currentStore.open().done(function(){ - ECStorageService.currentStore.getAll('optionSets').done(function(optionSets){ - $rootScope.$apply(function(){ - def.resolve(optionSets); - }); - }); - }); - - return def.promise; - }, - get: function(uid){ - - var def = $q.defer(); - - ECStorageService.currentStore.open().done(function(){ - ECStorageService.currentStore.get('optionSets', uid).done(function(optionSet){ - $rootScope.$apply(function(){ - def.resolve(optionSet); - }); - }); - }); - return def.promise; - }, getCode: function(options, key){ if(options){ for(var i=0; i