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)"
>
-
+