From 51c9800474fefcd60faa0fb41a71931bac13349e Mon Sep 17 00:00:00 2001 From: Luigi Date: Tue, 25 Jun 2019 13:03:20 -0300 Subject: [PATCH] Validacion al salir - Boton check al guardar cisterna --- src/js/controller.js | 40 +++++++++++++++++++++++----------- src/views/foca-abm-vehiculos-item.html | 4 ++-- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/js/controller.js b/src/js/controller.js index 4c7a767..c50d79a 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -171,10 +171,14 @@ angular.module('focaAbmVehiculo') }; $scope.salir = function () { - if (!$scope.formVehiculo.$pristine && focaAbmVehiculoService.cisternasPristine) { - focaModalService.confirm( - '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' - ).then(function (data) { + var cisternaEdit = []; + $scope.cisternas.forEach( function (cisterna) { + if (cisterna.editando === true) { + cisternaEdit.push(cisterna); + } + }); + if (!$scope.formVehiculo.$pristine || cisternaEdit.length > 0) { + focaModalService.confirm('¿Está seguro de que desea salir? Se perderán todos los datos cargados.').then(function (data) { if (data) { $location.path('/vehiculo'); } @@ -245,9 +249,13 @@ angular.module('focaAbmVehiculo') $scope.salir(); return; } - $scope.cisternas.forEach(function (cisterna) { - if (cisterna.id === 0) cisterna.id = undefined; - }); + + for (var i = 0; i < $scope.cisternas.length; i++) { + if (!validarCisterna($scope.cisternas[i])){ + return; + } + if ($scope.cisternas[i].id === 0) $scope.cisternas[i].id = undefined; + } if (!$scope.vehiculo.codigo) { focaModalService.alert('Ingrese unidad'); @@ -376,23 +384,29 @@ angular.module('focaAbmVehiculo') return focaAbmVehiculoService.guardarCisternas(cisternas); } - $scope.agregarCisterna = function (cisterna) { + function validarCisterna(cisterna) { if (!cisterna) { focaModalService.alert('Ingrese valores'); - return; + return false; } else if (!cisterna.codigo) { focaModalService.alert('Ingrese codigo de cisterna'); - return; + return false; } else if (!cisterna.capacidad) { focaModalService.alert('Ingrese capacidad'); - return; + return false; } else if (!cisterna.idUnidadMedida) { focaModalService.alert('Ingrese unidad de medida'); - return; + return false; } else if (cisterna.id === undefined) { cisterna.id = 0; } - + return true; + } + + $scope.agregarCisterna = function (cisterna) { + if(!validarCisterna(cisterna)) { + return; + } validaTotalCargas(); validaCodigo(cisterna); }; diff --git a/src/views/foca-abm-vehiculos-item.html b/src/views/foca-abm-vehiculos-item.html index 5c357d9..052cc30 100644 --- a/src/views/foca-abm-vehiculos-item.html +++ b/src/views/foca-abm-vehiculos-item.html @@ -146,7 +146,7 @@ class="btn btn-outline-dark boton-accion" ng-click="agregarCisterna()" > - + @@ -223,7 +223,7 @@ class="btn btn-outline-dark boton-accion" ng-click="agregarCisterna(cisterna)" > - +