From bddb59af6a08ac22b6e32849ce766f3780566af2 Mon Sep 17 00:00:00 2001 From: Manan Date: Wed, 19 Jun 2013 11:50:57 +0530 Subject: [PATCH] |#756|+Sriram| Override Isa api for facility program product. Reverting to originial value on cancel of modal. Saving allocation program products only on success of facility save --- .../AllocationProgramProductController.java | 19 +- .../AllocationProgramProductRepository.java | 1 + .../AllocationProgramProductService.java | 3 +- ...llocationProgramProductRepositoryTest.java | 1 + .../AllocationProgramProductServiceTest.java | 2 +- .../src/main/resources/messages_en.properties | 1 + .../controller/facility-controller.js | 90 +- .../js/facility/controller/isa-controller.js | 38 +- .../public/js/shared/services/services.js | 30 +- .../pages/admin/facility/partials/create.html | 822 +++++++++--------- 10 files changed, 540 insertions(+), 467 deletions(-) diff --git a/modules/distribution/src/main/java/org/openlmis/distribution/controller/AllocationProgramProductController.java b/modules/distribution/src/main/java/org/openlmis/distribution/controller/AllocationProgramProductController.java index 3ff49b4c0e..257c86fcf6 100644 --- a/modules/distribution/src/main/java/org/openlmis/distribution/controller/AllocationProgramProductController.java +++ b/modules/distribution/src/main/java/org/openlmis/distribution/controller/AllocationProgramProductController.java @@ -30,14 +30,21 @@ public class AllocationProgramProductController extends BaseController { public static final String PROGRAM_PRODUCT_LIST = "programProductList"; - @RequestMapping(value = "/programProducts/programId/{programId}", method = GET, headers = BaseController.ACCEPT_JSON) + @RequestMapping(value = "/programProducts/programId/{programId}", method = GET, headers = ACCEPT_JSON) @PreAuthorize("@permissionEvaluator.hasPermission(principal,'MANAGE_PROGRAM_PRODUCT')") public ResponseEntity getProgramProductsByProgram(@PathVariable Long programId) { List programProductsByProgram = service.get(programId); return AllocationResponse.response(PROGRAM_PRODUCT_LIST, programProductsByProgram); } - @RequestMapping(value = "/programProducts/{programProductId}/isa", method = POST, headers = BaseController.ACCEPT_JSON) + @RequestMapping(value = "/facility/{facilityId}/program/{programId}/isa", method = GET, headers = ACCEPT_JSON) + @PreAuthorize("@permissionEvaluator.hasPermission(principal,'MANAGE_PROGRAM_PRODUCT')") + public ResponseEntity getProgramProductsByProgramAndFacility(@PathVariable Long programId, @PathVariable Long facilityId) { + List programProductsByProgram = service.getForProgramAndFacility(programId, facilityId); + return AllocationResponse.response(PROGRAM_PRODUCT_LIST, programProductsByProgram); + } + + @RequestMapping(value = "/programProducts/{programProductId}/isa", method = POST, headers = ACCEPT_JSON) @PreAuthorize("@permissionEvaluator.hasPermission(principal,'MANAGE_PROGRAM_PRODUCT')") public void insertIsa(@PathVariable Long programProductId, @RequestBody ProgramProductISA programProductISA) { programProductISA.setProgramProductId(programProductId); @@ -45,7 +52,7 @@ public void insertIsa(@PathVariable Long programProductId, @RequestBody ProgramP } - @RequestMapping(value = "/programProducts/{programProductId}/isa/{isaId}", method = PUT, headers = BaseController.ACCEPT_JSON) + @RequestMapping(value = "/programProducts/{programProductId}/isa/{isaId}", method = PUT, headers = ACCEPT_JSON) @PreAuthorize("@permissionEvaluator.hasPermission(principal,'MANAGE_PROGRAM_PRODUCT')") public void updateIsa(@PathVariable Long isaId,@PathVariable Long programProductId, @RequestBody ProgramProductISA programProductISA) { programProductISA.setId(isaId); @@ -53,10 +60,10 @@ public void updateIsa(@PathVariable Long isaId,@PathVariable Long programProduct service.updateISA(programProductISA); } - @RequestMapping(value = "/facility/{facilityId}/programProduct/{programProductId}/isa", method = POST, headers = BaseController.ACCEPT_JSON) + @RequestMapping(value = "/facility/{facilityId}/program/{programId}/isa", method = POST, headers = ACCEPT_JSON) @PreAuthorize("@permissionEvaluator.hasPermission(principal,'MANAGE_FACILITY')") - public void overrideIsa(@PathVariable Long facilityId, @PathVariable Long programProductId, @RequestBody AllocationProgramProductList products) { - service.saveOverriddenIsa(facilityId, programProductId, products); + public void overrideIsa(@PathVariable Long facilityId, @RequestBody AllocationProgramProductList products) { + service.saveOverriddenIsa(facilityId, products); } diff --git a/modules/distribution/src/main/java/org/openlmis/distribution/repository/AllocationProgramProductRepository.java b/modules/distribution/src/main/java/org/openlmis/distribution/repository/AllocationProgramProductRepository.java index a257ccadc8..1cf3d235ec 100644 --- a/modules/distribution/src/main/java/org/openlmis/distribution/repository/AllocationProgramProductRepository.java +++ b/modules/distribution/src/main/java/org/openlmis/distribution/repository/AllocationProgramProductRepository.java @@ -38,6 +38,7 @@ public AllocationProgramProduct getByProgramProductId(Long programProductId) { ProgramProductISA isa = isaMapper.getIsa(programProductId); AllocationProgramProduct allocationProgramProduct = new AllocationProgramProduct(); allocationProgramProduct.setProgramProductIsa(isa); + allocationProgramProduct.setProgramProductId(programProductId); return allocationProgramProduct; } diff --git a/modules/distribution/src/main/java/org/openlmis/distribution/service/AllocationProgramProductService.java b/modules/distribution/src/main/java/org/openlmis/distribution/service/AllocationProgramProductService.java index 359f4c9cd7..6188e3150a 100644 --- a/modules/distribution/src/main/java/org/openlmis/distribution/service/AllocationProgramProductService.java +++ b/modules/distribution/src/main/java/org/openlmis/distribution/service/AllocationProgramProductService.java @@ -76,13 +76,12 @@ public void updateISA(ProgramProductISA isa) { repository.updateISA(isa); } - public void saveOverriddenIsa(final Long facilityId, final Long programProductId, AllocationProgramProductList products) { + public void saveOverriddenIsa(final Long facilityId, AllocationProgramProductList products) { forAllDo(products, new Closure() { @Override public void execute(Object o) { AllocationProgramProduct product = (AllocationProgramProduct) o; product.setFacilityId(facilityId); - product.setProgramProductId(programProductId); repository.save(product); } }); diff --git a/modules/distribution/src/test/java/org/openlmis/distribution/repository/AllocationProgramProductRepositoryTest.java b/modules/distribution/src/test/java/org/openlmis/distribution/repository/AllocationProgramProductRepositoryTest.java index 438dc35d2d..604a7c58ba 100644 --- a/modules/distribution/src/test/java/org/openlmis/distribution/repository/AllocationProgramProductRepositoryTest.java +++ b/modules/distribution/src/test/java/org/openlmis/distribution/repository/AllocationProgramProductRepositoryTest.java @@ -69,6 +69,7 @@ public void shouldGetAllocationProgramProductWithIsa() throws Exception { AllocationProgramProduct allocationProgramProduct = repository.getByProgramProductId(1L); assertThat(allocationProgramProduct.getProgramProductIsa(), is(expectedIsa)); + assertThat(allocationProgramProduct.getProgramProductId(), is(1l)); verify(isaMapper).getIsa(1L); } diff --git a/modules/distribution/src/test/java/org/openlmis/distribution/service/AllocationProgramProductServiceTest.java b/modules/distribution/src/test/java/org/openlmis/distribution/service/AllocationProgramProductServiceTest.java index de72affb86..d607747216 100644 --- a/modules/distribution/src/test/java/org/openlmis/distribution/service/AllocationProgramProductServiceTest.java +++ b/modules/distribution/src/test/java/org/openlmis/distribution/service/AllocationProgramProductServiceTest.java @@ -137,7 +137,7 @@ public void shouldSaveAllocationProgramProductList() throws Exception { add(allocationProduct2); }}; - service.saveOverriddenIsa(1l, 2l, allocationProgramProducts); + service.saveOverriddenIsa(1l, allocationProgramProducts); verify(repository).save(allocationProduct1); verify(repository).save(allocationProduct2); diff --git a/modules/openlmis-web/src/main/resources/messages_en.properties b/modules/openlmis-web/src/main/resources/messages_en.properties index e68e9b2f17..a9fca0ab83 100644 --- a/modules/openlmis-web/src/main/resources/messages_en.properties +++ b/modules/openlmis-web/src/main/resources/messages_en.properties @@ -185,6 +185,7 @@ error.geo.level.invalid = Invalid Geographic Level Code error.geo.zone.parent.invalid = Invalid Geographic Zone Parent Code error.facility.program.mapping.exists = Facility has already been mapped to the program error.facility.requisition.group.mapping.exists = Facility to Requisition Group mapping already exists +error.facility.allocation.product.save = Error saving facility allocation products title.manage.users = Manage Users - OpenLMIS user.data.length.incorrect = Incorrect data type or length diff --git a/modules/openlmis-web/src/main/webapp/public/js/facility/controller/facility-controller.js b/modules/openlmis-web/src/main/webapp/public/js/facility/controller/facility-controller.js index c8d87146b9..9fa0b43aec 100644 --- a/modules/openlmis-web/src/main/webapp/public/js/facility/controller/facility-controller.js +++ b/modules/openlmis-web/src/main/webapp/public/js/facility/controller/facility-controller.js @@ -4,7 +4,7 @@ * If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -function FacilityController($scope, facilityReferenceData, $routeParams, facility, Facility, RestoreFacility, $location, ProgramProducts, $dialog, messageService) { +function FacilityController($scope, facilityReferenceData, $routeParams, facility, Facility, RestoreFacility, $location, FacilityProgramProducts, $q, $dialog, messageService) { $scope.message = ""; initialize(); @@ -25,7 +25,7 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit updateProgramsToDisplay(); $scope.facility.dataReportable = "true"; } - $scope.allocationProgramProducts = []; + $scope.allocationProgramProductsList = []; } function getFacilityWithDateObjects(facility) { @@ -48,6 +48,27 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit $scope.programProductsISAModal = true; }; + function saveAllocationProgramProducts() { + var defers = []; + + var keys = _.keys($scope.allocationProgramProductsList); + + $(keys).each(function(index, key) { + defers.push($q.defer()); + + var program = $scope.allocationProgramProductsList[key][0].program; + + FacilityProgramProducts.post({facilityId: $routeParams.facilityId, programId: program.id}, $scope.allocationProgramProductsList[key], function (data) { + defers[index].resolve(); + }, function () { + defers[index].reject("error.facility.allocation.product.save"); + }); + + }) + + return defers; + } + $scope.saveFacility = function () { if ($scope.facilityForm.$error.pattern || $scope.facilityForm.$error.required) { $scope.showError = "true"; @@ -56,14 +77,23 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit return; } - var successFn = function (data) { - $scope.showError = "true"; - $scope.error = ""; - $scope.$parent.message = data.success; - $scope.facility = getFacilityWithDateObjects(data.facility); - $scope.$parent.facilityId = $scope.facility.id; - populateFlags($scope); - $location.path(''); + var facilitySaveCallback = function (data) { + + var promises = saveAllocationProgramProducts(); + + $q.all(promises).then(function () { + $scope.showError = "true"; + $scope.error = ""; + $scope.$parent.message = data.success; + $scope.facility = getFacilityWithDateObjects(data.facility); + $scope.$parent.facilityId = $scope.facility.id; + populateFlags($scope); + $location.path(''); + }, function(error) { + $scope.showError = "true"; + $scope.message = ""; + $scope.error = error; + }) }; var errorFn = function (data) { @@ -73,9 +103,9 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit }; if (!$scope.isEdit) { - Facility.save({}, $scope.facility, successFn, errorFn); + Facility.save({}, $scope.facility, facilitySaveCallback, errorFn); } else { - Facility.update({id:$scope.facility.id}, $scope.facility, successFn, errorFn); + Facility.update({id: $scope.facility.id}, $scope.facility, facilitySaveCallback, errorFn); } }; @@ -98,9 +128,9 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit $scope.showConfirmDateChangeWindow = function (program) { window.program = program; var dialogOpts = { - id:"dateChangeConfirmModal", - header:messageService.get('message.setProgramStartDate'), - body:messageService.get('message.dateChangeConfirmMessage') + id: "dateChangeConfirmModal", + header: messageService.get('message.setProgramStartDate'), + body: messageService.get('message.dateChangeConfirmMessage') }; OpenLmisDialog.newDialog(dialogOpts, $scope.dateChangeCallback, $dialog, messageService); }; @@ -121,7 +151,7 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit function getProgramById(id) { - return (_.findWhere($scope.programs, {'id':id})); + return (_.findWhere($scope.programs, {'id': id})); } var successFunc = function (data) { @@ -143,28 +173,28 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit $scope.restoreFacility = function (active) { $scope.activeConfirmModal = false; $scope.facility.active = active; - RestoreFacility.update({id:$scope.facility.id, active:active}, {}, successFunc, errorFunc); + RestoreFacility.update({id: $scope.facility.id, active: active}, {}, successFunc, errorFunc); }; $scope.deleteFacilityCallBack = function (result) { if (!result) return; - Facility.remove({id:$scope.facility.id}, {}, successFunc, errorFunc); + Facility.remove({id: $scope.facility.id}, {}, successFunc, errorFunc); }; $scope.showConfirmFacilityDeleteWindow = function () { var dialogOpts = { - id:"deleteFacilityDialog", - header:messageService.get('delete.facility.header'), - body:messageService.get('delete.facility.confirm', $scope.originalFacilityName, $scope.originalFacilityCode) + id: "deleteFacilityDialog", + header: messageService.get('delete.facility.header'), + body: messageService.get('delete.facility.confirm', $scope.originalFacilityName, $scope.originalFacilityCode) }; OpenLmisDialog.newDialog(dialogOpts, $scope.deleteFacilityCallBack, $dialog, messageService); }; $scope.showConfirmFacilityRestore = function () { var dialogOpts = { - id:"restoreConfirmModal", - header:messageService.get("create.facility.restoreFacility"), - body:"'{0}' / '{1}' will be restored to the system.".format($scope.originalFacilityName, $scope.originalFacilityCode) + id: "restoreConfirmModal", + header: messageService.get("create.facility.restoreFacility"), + body: "'{0}' / '{1}' will be restored to the system.".format($scope.originalFacilityName, $scope.originalFacilityCode) }; OpenLmisDialog.newDialog(dialogOpts, $scope.restoreFacilityCallBack, $dialog, messageService); }; @@ -176,9 +206,9 @@ function FacilityController($scope, facilityReferenceData, $routeParams, facilit $scope.showConfirmFacilityActivate = function () { var dialogOpts = { - id:"activeConfirmModel", - header:messageService.get("create.facility.activateFacility"), - body:messageService.get("create.facility.setFacilityActive") + id: "activeConfirmModel", + header: messageService.get("create.facility.activateFacility"), + body: messageService.get("create.facility.setFacilityActive") }; OpenLmisDialog.newDialog(dialogOpts, $scope.activateFacilityCallBack, $dialog, messageService); }; @@ -207,7 +237,7 @@ var populateFlags = function ($scope) { FacilityController.resolve = { - facilityReferenceData:function ($q, $timeout, FacilityReferenceData) { + facilityReferenceData: function ($q, $timeout, FacilityReferenceData) { var deferred = $q.defer(); $timeout(function () { FacilityReferenceData.get({}, function (data) { @@ -217,14 +247,14 @@ FacilityController.resolve = { return deferred.promise; }, - facility:function ($q, $timeout, Facility, $route) { + facility: function ($q, $timeout, Facility, $route) { if ($route.current.params.facilityId == undefined) return undefined; var deferred = $q.defer(); var facilityId = $route.current.params.facilityId; $timeout(function () { - Facility.get({id:facilityId}, function (data) { + Facility.get({id: facilityId}, function (data) { deferred.resolve(data.facility); }, {}); }, 100); diff --git a/modules/openlmis-web/src/main/webapp/public/js/facility/controller/isa-controller.js b/modules/openlmis-web/src/main/webapp/public/js/facility/controller/isa-controller.js index 4b71a3b2f1..d69773cec6 100644 --- a/modules/openlmis-web/src/main/webapp/public/js/facility/controller/isa-controller.js +++ b/modules/openlmis-web/src/main/webapp/public/js/facility/controller/isa-controller.js @@ -3,35 +3,49 @@ * * If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -function IsaModalController($scope, ProgramProducts) { +function IsaModalController($scope, FacilityProgramProducts, $routeParams) { + + $scope.$watch('$parent.programProductsISAModal', function () { + if (!$scope.$parent.programProductsISAModal) return; - $scope.$watch('currentProgram', function () { if (!$scope.currentProgram) return; - if ($scope.allocationProgramProducts[$scope.currentProgram.id]) return; + $scope.currentProgramProducts = []; + + if ($scope.$parent.allocationProgramProductsList[$scope.currentProgram.id]) { + $scope.currentProgramProducts = angular.copy($scope.$parent.allocationProgramProductsList[$scope.currentProgram.id]); + return; + } - ProgramProducts.get({programId: $scope.currentProgram.id}, function (data) { - $scope.allocationProgramProducts[$scope.currentProgram.id] = data.programProductList; + FacilityProgramProducts.get({programId: $scope.currentProgram.id, facilityId: $routeParams.facilityId}, function (data) { - var population = $scope.$parent.facility.catchmentPopulation; + $scope.$parent.allocationProgramProductsList[$scope.currentProgram.id] = angular.copy(data.programProductList); - if (isUndefined(population)) return; + $($scope.$parent.allocationProgramProductsList[$scope.currentProgram.id]).each(function (index, product) { - $($scope.allocationProgramProducts[$scope.currentProgram.id]).each(function (index, product) { + var population = $scope.$parent.facility.catchmentPopulation; - if (isUndefined(product.programProductIsa)) + if (isUndefined(population) || isUndefined(product.programProductIsa)) return; - product.calculatedIsa = Math.ceil(parseInt(population) * parseInt(product.programProductIsa.whoRatio) * parseInt(product.programProductIsa.dosesPerYear) * - parseInt(product.programProductIsa.wastageRate) / 12 * parseInt(product.programProductIsa.bufferPercentage) + parseInt(product.programProductIsa.adjustmentValue)); + product.calculatedIsa = Math.ceil(utils.parseIntWithBaseTen(population) * utils.parseIntWithBaseTen(product.programProductIsa.whoRatio) * + utils.parseIntWithBaseTen(product.programProductIsa.dosesPerYear) * utils.parseIntWithBaseTen(product.programProductIsa.wastageRate) / 12 * + utils.parseIntWithBaseTen(product.programProductIsa.bufferPercentage) + utils.parseIntWithBaseTen(product.programProductIsa.adjustmentValue)); }); + $scope.currentProgramProducts = angular.copy($scope.$parent.allocationProgramProductsList[$scope.currentProgram.id]); + }, function (data) { }); }); - $scope.saveISA = function () { + $scope.updateISA = function () { + $scope.$parent.allocationProgramProductsList[$scope.currentProgram.id] = angular.copy($scope.currentProgramProducts); + $scope.$parent.programProductsISAModal = false; + } + $scope.resetISAModal = function () { + $scope.$parent.programProductsISAModal = false; } } diff --git a/modules/openlmis-web/src/main/webapp/public/js/shared/services/services.js b/modules/openlmis-web/src/main/webapp/public/js/shared/services/services.js index 72afb6bfaa..29090c8665 100644 --- a/modules/openlmis-web/src/main/webapp/public/js/shared/services/services.js +++ b/modules/openlmis-web/src/main/webapp/public/js/shared/services/services.js @@ -15,7 +15,7 @@ services.factory('Programs', function ($resource) { }); services.factory('RnRColumnList', function ($resource) { - return $resource('/program/:programId/rnr-template.json', {}, {post:{isArray:true, method:'POST'}}); + return $resource('/program/:programId/rnr-template.json', {}, {post: {isArray: true, method: 'POST'}}); }); services.factory('ProgramRnRColumnList', function ($resource) { @@ -23,11 +23,11 @@ services.factory('ProgramRnRColumnList', function ($resource) { }); services.factory('Facility', function ($resource) { - return $resource('/facilities/:id.json', {}, {update:{method:'PUT'}}); + return $resource('/facilities/:id.json', {}, {update: {method: 'PUT'}}); }); services.factory('RestoreFacility', function ($resource) { - return $resource('/facilities/:id/restore.json', {}, {update:{method:'PUT'}}); + return $resource('/facilities/:id/restore.json', {}, {update: {method: 'PUT'}}); }); services.factory('UserContext', function ($resource) { @@ -39,7 +39,7 @@ services.factory('Users', function ($resource) { }); services.factory('User', function ($resource) { - return $resource('/users/:id.json', {}, {update:{method:'PUT'}}); + return $resource('/users/:id.json', {}, {update: {method: 'PUT'}}); }); @@ -80,7 +80,7 @@ services.factory('Rights', function ($resource) { }); services.factory('Role', function ($resource) { - return $resource('/roles/:id.json', {}, {update:{method:'PUT'}}); + return $resource('/roles/:id.json', {}, {update: {method: 'PUT'}}); }); services.factory('Roles', function ($resource) { @@ -100,7 +100,7 @@ services.factory('ReferenceData', function ($resource) { }); services.factory('Requisitions', function ($resource) { - return $resource('/requisitions/:id/:operation.json', {}, {update:{method:'PUT'}}); + return $resource('/requisitions/:id/:operation.json', {}, {update: {method: 'PUT'}}); }); services.factory('Requisition', function ($resource) { @@ -132,7 +132,7 @@ services.factory('Schedules', function ($resource) { }); services.factory('Schedule', function ($resource) { - return $resource('/schedules/:id.json', {}, {update:{method:'PUT'}}); + return $resource('/schedules/:id.json', {}, {update: {method: 'PUT'}}); }); services.factory('Periods', function ($resource) { @@ -168,7 +168,7 @@ services.factory('RequisitionLineItem', function ($resource) { }); services.factory('UpdateUserPassword', function ($resource) { - return $resource('/user/resetPassword/:token.json', {}, {update:{method:'PUT'}}); + return $resource('/user/resetPassword/:token.json', {}, {update: {method: 'PUT'}}); }); services.factory('ValidatePasswordToken', function ($resource) { @@ -192,7 +192,7 @@ services.factory('RequisitionComment', function ($resource) { }); services.factory('Orders', function ($resource) { - return $resource('/orders.json', {}, {post:{isArray:true, method:'POST'}}); + return $resource('/orders.json', {}, {post: {isArray: true, method: 'POST'}}); }); @@ -200,6 +200,9 @@ services.factory('ReportTemplates', function ($resource) { return $resource('/report-templates.json', {}, {}); }); +//Allocation + + services.factory('PushProgram', function ($resource) { return $resource('/push/programs.json', {}, {}); }); @@ -208,15 +211,16 @@ services.factory('ProgramProducts', function ($resource) { return $resource('/programProducts/programId/:programId.json', {}, {}); }); - -//Allocation +services.factory('FacilityProgramProducts', function ($resource) { + return $resource('/facility/:facilityId/program/:programId/isa.json', {}, {post: {method: 'POST', isArray: true}}); +}); services.factory('ProgramProductsISA', function ($resource) { - return $resource('/programProducts/:programProductId/isa/:isaId.json', {isaId:'@isaId'}, {update:{method:'PUT'}}); + return $resource('/programProducts/:programProductId/isa/:isaId.json', {isaId: '@isaId'}, {update: {method: 'PUT'}}); }); services.factory('AllocationProgramProducts', function ($resource) { - return $resource('/facility/:facilityId/programProduct/:programProductId.json', {isaId:'@isaId'}, {update:{method:'PUT'}}); + return $resource('/facility/:facilityId/programProduct/:programProductId.json', {isaId: '@isaId'}, {update: {method: 'PUT'}}); }); services.factory('DeliveryZones', function ($resource) { diff --git a/modules/openlmis-web/src/main/webapp/public/pages/admin/facility/partials/create.html b/modules/openlmis-web/src/main/webapp/public/pages/admin/facility/partials/create.html index 4f5c01dea3..3ecb01d6ab 100644 --- a/modules/openlmis-web/src/main/webapp/public/pages/admin/facility/partials/create.html +++ b/modules/openlmis-web/src/main/webapp/public/pages/admin/facility/partials/create.html @@ -7,7 +7,7 @@

-

+

-

+

-
-
- +
+
+ -
- +
+ -
-
+
+
-
- +
+ -
- -
+
+ +
+
-
-
-
- +
+
+ -
- +
+ -
-
- -
- - -
- +
+
+ +
+ + +
+ -
+
+
-
- -
-
- - -
- -
+ +
+
+ + +
+ +
+
-
- -
-
- - -
- -       - + +
+
+ + +
+ +       + -
-
- -
- - -
-     -   - +
+
+ +
+ + +
+     +   + -
+
+
-
-
-
- +
+
+ -
- +
+ -
+
+
+ +
+ + +
+ +
+
-
- +
+
+ -
- -
+
+ +
+
-
- -
-
- - -
- -
-
-
-

+

-
-
- +
+
+ -
- -
+
+ +
+
-
-
-
- +
+
+ -
- -
+
+ +
+
-
-
-
- +
+
+ -
- -
+
+ +
+
-
-
-
- +
+
+ -
- -
+
+ +
+
-
-

- -
-
- - - - - - - - - - - - - - - + + + + +
- +

+ +
+
+ + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - - - - -
+ - - - () - - -
- - + + + () + + +
+ + -
+
+
-
-
- - - - - +
+
+ + + + +
- +
-

- -
-
- - -
- +

+ +
+
+ + +
+ -
-
+
+
-
- +
+ -
- +
+ -
+
+
-
-
-
- +
+
+ -
- +
+ -
-
+
+
-
- +
+ -
- +
+ -
+
+
-
-
-
- +
+
+ -
- +
+ -
+
+
-
-

+

-
-
- +
+
+ -
- +
+ -
+
+
-
-
-
- +
+
+ -
- +
+ -
-
-
- -
-
- - -
- -       - -
+
+
-
- - -
-   -   -   - -
-
-
- -
-
- - -
-       - -
+
+
+ + +
+ +       + +
+
+ +
+ + +
+ +   +   +   + +
+
-
- - -
-       - -
+
+
+ + +
+       + +
+
+ +
+ + +
+       + +
+
-
- -
-
- - - - - -
- -
- -
- -       - -
+
+
+ + + + + +
+ +
+ + +
+ +       + +
+
-
-
-
- +
+
+ -
- -
+
+ +
+
-
-
- - -
-
- -
- -
-
+
+ + +
+
+ +
+ +
+