Commit 2f621a2c3dc48f0d3e20f208e55487a26a5f189b
1 parent
2d4580fb71
Exists in
master
ok validaciones vehiculo y cisterna
Showing
3 changed files
with
21 additions
and
14 deletions
Show diff stats
src/js/controller.js
| ... | ... | @@ -154,7 +154,7 @@ angular.module('focaAbmVehiculo') |
| 154 | 154 | }; |
| 155 | 155 | |
| 156 | 156 | function salir() { |
| 157 | - if (!$scope.formVehiculo.$pristine) { | |
| 157 | + if (!$scope.formVehiculo.$pristine && focaAbmVehiculoService.cisternasPristine) { | |
| 158 | 158 | focaModalService.confirm( |
| 159 | 159 | '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' |
| 160 | 160 | ).then(function(data) { |
| ... | ... | @@ -181,8 +181,8 @@ angular.module('focaAbmVehiculo') |
| 181 | 181 | |
| 182 | 182 | if (key === 13) { |
| 183 | 183 | |
| 184 | - if ($scope.formVehiculo.$pristine) { | |
| 185 | - $scope.cancelar(); | |
| 184 | + if ($scope.formVehiculo.$pristine && focaAbmVehiculoService.cisternasPristine) { | |
| 185 | + salir(); | |
| 186 | 186 | return; |
| 187 | 187 | } |
| 188 | 188 | |
| ... | ... | @@ -299,7 +299,7 @@ angular.module('focaAbmVehiculo') |
| 299 | 299 | total += parseInt(cisterna.capacidad); |
| 300 | 300 | } |
| 301 | 301 | }); |
| 302 | - return $scope.vehiculo.capacidad === total; | |
| 302 | + return $scope.vehiculo.capacidad == total; | |
| 303 | 303 | } |
| 304 | 304 | |
| 305 | 305 | function guardarCisternas() { |
| ... | ... | @@ -316,5 +316,6 @@ angular.module('focaAbmVehiculo') |
| 316 | 316 | |
| 317 | 317 | return focaAbmVehiculoService.guardarCisternas(cisternas); |
| 318 | 318 | } |
| 319 | + | |
| 319 | 320 | } |
| 320 | 321 | ]); |
src/js/controllerCisterna.js
| 1 | 1 | angular.module('focaAbmVehiculo') |
| 2 | 2 | .controller('focaAbmVehiculoCisternaController', [ |
| 3 | 3 | '$scope', 'focaAbmVehiculoService', '$routeParams', '$location', '$uibModal', |
| 4 | - 'focaModalService', 'focaBotoneraLateralService', '$timeout','$localStorage', '$filter', | |
| 4 | + 'focaModalService', 'focaBotoneraLateralService', '$timeout', '$window', | |
| 5 | 5 | function($scope, focaAbmVehiculoService, $routeParams, $location, $uibModal, |
| 6 | - focaModalService, focaBotoneraLateralService, $timeout, $localStorage, $filter) { | |
| 6 | + focaModalService, focaBotoneraLateralService, $timeout, $window) { | |
| 7 | 7 | $scope.nuevo = ($routeParams.idx > -1) ? false : true; |
| 8 | 8 | $scope.editar = false; |
| 9 | 9 | $scope.now = new Date(); |
| ... | ... | @@ -66,6 +66,8 @@ angular.module('focaAbmVehiculo') |
| 66 | 66 | $location.path('/vehiculo'); |
| 67 | 67 | } |
| 68 | 68 | }); |
| 69 | + } else { | |
| 70 | + $window.history.back(); | |
| 69 | 71 | } |
| 70 | 72 | }; |
| 71 | 73 | |
| ... | ... | @@ -74,9 +76,7 @@ angular.module('focaAbmVehiculo') |
| 74 | 76 | if ($scope.formCisterna.$pristine) { |
| 75 | 77 | $scope.cancelar(); |
| 76 | 78 | return; |
| 77 | - } | |
| 78 | - | |
| 79 | - if (!$scope.cisterna.codigo) { | |
| 79 | + } else if (!$scope.cisterna.codigo) { | |
| 80 | 80 | focaModalService.alert('Ingrese codigo de cisterna'); |
| 81 | 81 | return; |
| 82 | 82 | } else if (!$scope.cisterna.capacidad) { |
| ... | ... | @@ -130,7 +130,7 @@ angular.module('focaAbmVehiculo') |
| 130 | 130 | cisternas.forEach(function(cisterna, idx) { |
| 131 | 131 | //SI EL CODIGO YA EXISTE |
| 132 | 132 | if (cisterna.codigo === $scope.cisterna.codigo && |
| 133 | - idx !== $routeParams.idx && | |
| 133 | + idx != $routeParams.idx && | |
| 134 | 134 | !cisterna.desactivado) { |
| 135 | 135 | reject('Código de cisterna existente'); |
| 136 | 136 | } |
src/js/service.js
| 1 | 1 | angular.module('focaAbmVehiculo') |
| 2 | 2 | .factory('focaAbmVehiculoService', ['$http', 'API_ENDPOINT', function($http, API_ENDPOINT) { |
| 3 | 3 | var cisternas = []; |
| 4 | + var cisternasPristine = true; | |
| 4 | 5 | return { |
| 5 | 6 | getVehiculos: function() { |
| 6 | 7 | return $http.get(API_ENDPOINT.URL + '/vehiculo'); |
| ... | ... | @@ -18,9 +19,11 @@ angular.module('focaAbmVehiculo') |
| 18 | 19 | return $http.delete(API_ENDPOINT.URL + '/vehiculo/' + id); |
| 19 | 20 | }, |
| 20 | 21 | getCisternas: function(idVehiculo) { |
| 21 | - if(cisternas.length) { | |
| 22 | + if (cisternas.length) { | |
| 23 | + cisternasPristine = true; | |
| 22 | 24 | return Promise.resolve(angular.copy(cisternas)); |
| 23 | - }else { | |
| 25 | + } else { | |
| 26 | + cisternasPristine = true; | |
| 24 | 27 | return new Promise(function(resolve) { |
| 25 | 28 | $http.get(API_ENDPOINT.URL + '/cisterna/listar/' + idVehiculo) |
| 26 | 29 | .then(function(res) { |
| ... | ... | @@ -31,12 +34,14 @@ angular.module('focaAbmVehiculo') |
| 31 | 34 | } |
| 32 | 35 | }, |
| 33 | 36 | guardarCisterna: function(cisterna, idx) { |
| 34 | - if(idx !== '-1') { | |
| 37 | + if (idx !== '-1') { | |
| 35 | 38 | //update |
| 36 | 39 | cisternas[idx] = cisterna; |
| 37 | - }else { | |
| 40 | + cisternasPristine = false; | |
| 41 | + } else { | |
| 38 | 42 | //insert |
| 39 | 43 | cisternas.push(cisterna); |
| 44 | + cisternasPristine = false; | |
| 40 | 45 | } |
| 41 | 46 | }, |
| 42 | 47 | guardarCisternas: function(cisternas) { |
| ... | ... | @@ -44,6 +49,7 @@ angular.module('focaAbmVehiculo') |
| 44 | 49 | }, |
| 45 | 50 | deleteCisterna: function(idx) { |
| 46 | 51 | cisternas[idx].desactivado = true; |
| 52 | + cisternasPristine = false; | |
| 47 | 53 | }, |
| 48 | 54 | cleanCisternas: function() { |
| 49 | 55 | cisternas = []; |