=== modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/components/report/report-controller.js' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/components/report/report-controller.js 2014-07-08 08:30:39 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/components/report/report-controller.js 2014-07-08 16:14:36 +0000 @@ -4,33 +4,78 @@ storage, DateUtils, EventUtils, + TEIService, + TEIGridService, TranslationService, + AttributesFactory, DHIS2EventFactory) { TranslationService.translate(); $scope.ouModes = [{name: 'SELECTED'}, {name: 'CHILDREN'}, {name: 'DESCENDANTS'}, {name: 'ACCESSIBLE'}]; $scope.selectedOuMode = $scope.ouModes[0]; - - - - - - $scope.getEvents = function(){ - - $scope.dhis2Events = ''; - $scope.dataExists = false; - DHIS2EventFactory.getEventsByProgram($scope.selectedEntity.trackedEntityInstance, $scope.selectedOrgUnit.id, $scope.selectedProgram.id).then(function(data){ - $scope.dhis2Events = data; - if(!angular.isUndefined($scope.dhis2Events) ){ - for(var i=0; i<$scope.dhis2Events.length && !$scope.dataExists; i++){ - if(!angular.isUndefined($scope.dhis2Events[i].dataValues)){ - $scope.dataExists = true; - } - } + $scope.report = {}; + + $scope.generateReport = function(){ + + $scope.dataReady = false; + + //check for form validity + $scope.outerForm.submitted = true; + if( $scope.outerForm.$invalid || !$scope.selectedProgram){ + return false; + } + + $scope.programStages = []; + angular.forEach($scope.selectedProgram.programStages, function(stage){ + $scope.programStages[stage.id] = stage; + }); + + AttributesFactory.getByProgram($scope.selectedProgram).then(function(atts){ + $scope.gridColumns = TEIGridService.generateGridColumns(atts, $scope.selectedOuMode.name); + }); + + //fetch TEIs for the selected program and orgunit/mode + TEIService.search($scope.selectedOrgUnit.id, + $scope.selectedOuMode.name, + null, + 'program=' + $scope.selectedProgram.id, + null, + $scope.pager, + false).then(function(data){ + if(data.rows){ + $scope.teiCount = data.rows.length; + $scope.dataReady = true; } - }); + + + //process tei grid + $scope.teiList = TEIGridService.format(data); + + DHIS2EventFactory.getByOrgUnitAndProgram($scope.selectedOrgUnit.id, $scope.selectedOuMode.name, $scope.selectedProgram.id).then(function(eventList){ + $scope.dhis2Events = []; + angular.forEach(eventList, function(ev){ + if(ev.trackedEntityInstance){ + ev.name = $scope.programStages[ev.programStage].name; + ev.statusColor = EventUtils.getEventStatusColor(ev); + ev.eventDate = DateUtils.format(ev.eventDate); + + if($scope.dhis2Events[ev.trackedEntityInstance]){ + $scope.dhis2Events[ev.trackedEntityInstance].push(ev); + } + else{ + $scope.dhis2Events[ev.trackedEntityInstance] = [ev]; + } + ev = EventUtils.setEventOrgUnitName(ev); + } + }); + }); + }); }; + + $scope.showEventDetails = function(dhis2Event){ + console.log('I will show details of...: ', dhis2Event); + }; }) //conroller for tei report === modified file 'dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/components/report/report.html' --- dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/components/report/report.html 2014-07-08 08:30:39 +0000 +++ dhis-2/dhis-web/dhis-web-tracker-capture/src/main/webapp/dhis-web-tracker-capture/components/report/report.html 2014-07-08 16:14:36 +0000 @@ -17,19 +17,21 @@
- + + {{'required'| translate}} | - + + {{'required'| translate}} |
{{selectedProgram.trackedEntity.name}} | +{{'registered_data' | translate}} | +
---|---|
+
+ {{gridColumn.name}}: {{tei[gridColumn.id]}} + + |
+
+ {{'no_visit_made' | translate}}
+
+
+ {{ev.orgUnitName}}
+
+ {{ev.name}}
+
+ + {{ev.eventDate}} + |
+