=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2015-12-14 08:59:22 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry-controller.js 2015-12-14 15:05:21 +0000 @@ -382,7 +382,7 @@ }; $scope.stageNeedsEvent = function (stage) { - + //In case the event is a table, we sould always allow adding more events(rows) if (stage.displayEventsInTable) { return true; @@ -931,7 +931,7 @@ }; ModalService.showModal({}, modalOptions).then(function (result) { - EnrollmentService.complete($scope.selectedEnrollment).then(function (data) { + EnrollmentService.completeIncomplete($scope.selectedEnrollment, 'completed').then(function (data) { $scope.selectedEnrollment.status = 'COMPLETED'; }); }); === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html 2015-12-10 13:40:47 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/dataentry/dataentry.html 2015-12-14 15:05:21 +0000 @@ -94,7 +94,7 @@ max-date="0" min-date="" ng-model="currentEvent.eventDate" - ng-disabled="currentEvent.status === 'SKIPPED' || currentEvent.enrollmentStatus !== 'ACTIVE' || currentEvent.editingNotAllowed" + ng-disabled="currentEvent.status === 'SKIPPED' || selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed" ng-required="true" blur-or-change="saveEventDate()"/> {{'date_required'| translate}} @@ -113,7 +113,7 @@ d2-date ng-model="currentEvent.dueDate" blur-or-change="saveDueDate()" - ng-disabled="currentEvent.eventDate || !schedulingEnabled || currentEvent.enrollmentStatus !== 'ACTIVE' || currentEvent.editingNotAllowed"/> + ng-disabled="currentEvent.eventDate || !schedulingEnabled || selectedEnrollment.status !== 'ACTIVE' || currentEvent.editingNotAllowed"/> {{'date_required'| translate}} @@ -168,22 +168,22 @@

{{'complete'| translate}} {{'incomplete'| translate}} {{'validate'| translate}} {{currentEvent.status === 'SKIPPED' ? 'unskip' : 'skip'| translate}} {{'delete'| translate}} {{'print_form'| translate}} === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js 2015-12-14 10:17:47 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment-controller.js 2015-12-14 15:05:21 +0000 @@ -11,6 +11,7 @@ CurrentSelection, OrgUnitService, EnrollmentService, + DialogService, ModalService) { $scope.today = DateUtils.getToday(); @@ -192,15 +193,31 @@ var modalOptions = { closeButtonText: 'cancel', - actionButtonText: 'complete', - headerText: 'complete_enrollment', - bodyText: 'are_you_sure_to_complete_enrollment' + actionButtonText: $scope.selectedEnrollment.status === 'ACTIVE' ? 'complete' : 'incomplete', + headerText: $scope.selectedEnrollment.status === 'ACTIVE' ? 'complete_enrollment' : 'incomplete_enrollment', + bodyText: $scope.selectedEnrollment.status === 'ACTIVE' ? 'are_you_sure_to_complete_enrollment' : 'are_you_sure_to_incomplete_enrollment' }; ModalService.showModal({}, modalOptions).then(function(result){ - EnrollmentService.complete($scope.selectedEnrollment).then(function(data){ - $scope.selectedEnrollment.status = 'COMPLETED'; + + var status = 'completed'; + + if($scope.selectedEnrollment.status === 'COMPLETED'){ + status = 'incompleted'; + } + + EnrollmentService.completeIncomplete($scope.selectedEnrollment, status).then(function(data){ + $scope.selectedEnrollment.status = $scope.selectedEnrollment.status === 'ACTIVE' ? 'COMPLETED' : 'ACTIVE'; $scope.loadEnrollmentDetails($scope.selectedEnrollment); + }, function(response){ + if(response && response.data && response.data.status === "ERROR"){ + //notify user + var dialogOptions = { + headerText: response.data.status, + bodyText: response.data.message + }; + DialogService.showDialog({}, dialogOptions); + } }); }); }; @@ -220,4 +237,18 @@ $location.path('/dashboard').search({tei: $scope.selectedTeiId, program: program}); } }; + + $scope.canUseEnrollment = function(){ + + if($scope.selectedTei.inactive){ + return false; + } + + if($scope.currentEnrollment && $scope.selectedEnrollment.enrollment !== $scope.currentEnrollment.enrollment){ + if($scope.currentEnrollment.status === 'ACTIVE'){ + return false; + } + } + return true; + }; }); === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html 2015-12-14 12:49:33 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/components/enrollment/enrollment.html 2015-12-14 15:05:21 +0000 @@ -60,17 +60,20 @@
@@ -142,6 +145,6 @@
- +
=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/i18n/i18n_app.properties' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/i18n/i18n_app.properties 2015-12-11 19:41:20 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/i18n/i18n_app.properties 2015-12-14 15:05:21 +0000 @@ -129,6 +129,7 @@ delete_enrollment=Delete enrollment cancel_enrollment=Cancel enrollment complete_enrollment=Complete enrollment +incomplete_enrollment=Incomplete enrollment enrollment_date=Enrollment date notes=Notes relationship=Relationship @@ -301,6 +302,7 @@ would_you_like_to_complete_enrollment=Would you like to complete the current enrollment? are_you_sure_to_complete_enrollment=Are you sure you want to complete the selected enrollment? are_you_sure_to_cancel_enrollment=Are you sure you want to cancel the selected enrollment? +are_you_sure_to_incomplete_enrollment=Are you sure you want to incomplete the selected enrollment? are_you_sure_to_delete_event=Are you sure you want to delete the selected event? are_you_sure_to_complete_event=Are you sure you want to complete the selected event? please_fix_errors_before_completing=Please review and fix the following error(s) before completing the event: === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2015-12-11 15:18:54 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-tracker-capture/scripts/services.js 2015-12-14 15:05:21 +0000 @@ -624,11 +624,11 @@ }); return promise; }, - complete: function(enrollment){ - var promise = $http.put('../api/enrollments/' + enrollment.enrollment + '/completed').then(function(response){ + completeIncomplete: function(enrollment, status){ + var promise = $http.put('../api/enrollments/' + enrollment.enrollment + '/' + status).then(function(response){ return response.data; }); - return promise; + return promise; } }; })