=== modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/i18n/en.json' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/i18n/en.json 2014-08-21 16:30:01 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/i18n/en.json 2014-09-23 10:48:24 +0000 @@ -33,6 +33,8 @@ "done": "Done", "remove": "Remove", "are_you_sure_to_remove": "Are you sure you want to remove the selected item?", + "empty_form": "Empty form", + "please_fill_at_least_one_dataelement": "Your form is empty. Please fill at least one dataelement.", "use_custom_form": "Custom form", "use_default_form": "Default form", "print_list": "Print list", === modified file 'dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/index.html' --- dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/index.html 2014-08-22 11:29:33 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/index.html 2014-09-23 10:48:24 +0000 @@ -182,7 +182,7 @@ - + === 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 2014-08-22 11:29:33 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/controllers.js 2014-09-23 10:48:24 +0000 @@ -240,11 +240,11 @@ delete $scope.dhis2Events[i].dataValues; } - else{//event is empty, remove from grid + /*else{//event is empty, remove from grid var index = $scope.dhis2Events.indexOf($scope.dhis2Events[i]); $scope.dhis2Events.splice(index,1); i--; - } + }*/ } if($scope.noteExists){ @@ -406,11 +406,27 @@ } //the form is valid, get the values + //but there could be a case where all dataelements are non-mandatory and + //the event form comes empty, in this case enforce at least one value + var valueExists = false; var dataValues = []; for(var dataElement in $scope.programStageDataElements){ + if($scope.currentEvent[dataElement]){ + valueExists = true; + } dataValues.push({dataElement: dataElement, value: $scope.currentEvent[dataElement]}); } + if(!valueExists){ + var dialogOptions = { + headerText: 'empty_form', + bodyText: 'please_fill_at_least_one_dataelement' + }; + + DialogService.showDialog({}, dialogOptions); + return false; + } + var newEvent = angular.copy($scope.currentEvent); //prepare the event to be created === 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 2014-08-28 12:23:08 +0000 +++ dhis-2/dhis-web/dhis-web-apps/src/main/webapp/dhis-web-event-capture/scripts/services.js 2014-09-23 10:48:24 +0000 @@ -249,13 +249,22 @@ ' ng-required="programStageDataElements.' + deId + '.compulsory">'; } if(programStageDataElements[deId].dataElement.type == "string"){ - newInputField = ''; + } + else{ + newInputField = ''; + } } if(programStageDataElements[deId].dataElement.type == "bool"){ newInputField = ' {{'required'| translate}} - + +
+ + {{'required'| translate}} +
{{'required'| translate}} -
+ +
+ + {{'required'| translate}} +
+ +
+
+
+ + - - + style="width:98%;" + ng-class="{true: 'update-success'} [currentElement.updated == true && currentElement.id == eventGridColumn.id]" + ng-class="{true: 'update-error'} [!currentElement.updated == true && currentElement.id == eventGridColumn.id]" + /> + * + + + + + {{'required'| translate}} + +
+
+ ng-model="dhis2Event[eventGridColumn.id]" + ng-blur="updateEventDataValue(dhis2Event, eventGridColumn.id)" + ng-required={{eventGridColumn.compulsory}} + ng-disabled="eventGridColumn.id == 'uid'" + name="foo" + style="width:98%;" + ng-class="{true: 'update-success'} [currentElement.updated == true && currentElement.id == eventGridColumn.id]" + ng-class="{true: 'update-error'} [!currentElement.updated == true && currentElement.id == eventGridColumn.id]" + /> * - - - - - {{'required'| translate}} - - -
+
+