diff --git a/src/js/controller.js b/src/js/controller.js index 40d67ad..fe791cf 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -12,14 +12,14 @@ angular.module('focaAbmChofer') label: 'Transportista', image: 'cliente.png' }]; - $scope.focused = 1; //SETEO BOTONERA LATERAL $timeout(function() { - focaBotoneraLateralService.showSalir(true); + focaBotoneraLateralService.showSalir(false); focaBotoneraLateralService.showPausar(false); focaBotoneraLateralService.showCancelar(false); focaBotoneraLateralService.showGuardar(false); + focaBotoneraLateralService.addCustomButton('Salir', salir); }); if(focaAbmChoferService.transportistaSeleccionado.COD) { @@ -79,13 +79,20 @@ angular.module('focaAbmChofer') $scope.choferes = res.data; }); } + + function salir() { + focaAbmChoferService.transportistaSeleccionado = {}; + $location.path('/'); + } } ]) .controller('focaAbmChoferController', [ '$scope', 'focaAbmChoferService', '$routeParams', - '$location', 'focaBotoneraLateralService', '$timeout', + '$location', 'focaBotoneraLateralService', '$timeout', 'focaModalService', function($scope, focaAbmChoferService, $routeParams, - $location, focaBotoneraLateralService, $timeout) { + $location, focaBotoneraLateralService, $timeout, focaModalService) { + + $scope.focused = 1; $scope.nuevo = $routeParams.id === '0'; $scope.chofer = {}; $scope.transportistas = []; @@ -135,12 +142,40 @@ angular.module('focaAbmChofer') $location.path('/chofer'); }; - $scope.guardar = function() { - $scope.chofer.idTransportista = $routeParams.idTransportista; - delete $scope.chofer.transportista; - focaAbmChoferService.guardarChofer($scope.chofer).then(function() { - $location.path('/chofer'); - }); + $scope.guardar = function(key) { + key = (typeof key === 'undefined') ? 13 : key; + + if(key === 13) { + validaDni().then(function() { + $scope.chofer.idTransportista = $routeParams.idTransportista; + delete $scope.chofer.transportista; + focaAbmChoferService.guardarChofer($scope.chofer).then(function() { + $location.path('/chofer'); + }); + }, function() { + focaModalService.alert('Dni existente'); + }); + } }; + + function validaDni() { + return new Promise(function(resolve, reject) { + focaAbmChoferService + .getChoferPorTransportista(parseInt($routeParams.idTransportista)) + .then(function(res) { + //Valida si existe dni + var existe = res.data.filter(function(chofer) { + return chofer.dni === $scope.chofer.dni && + chofer.id !== $scope.chofer.id; + }); + + if(existe.length) { + reject(existe); + }else { + resolve(); + } + }); + }); + } } ]); diff --git a/src/views/foca-abm-choferes-item.html b/src/views/foca-abm-choferes-item.html index 89333c5..36a8114 100644 --- a/src/views/foca-abm-choferes-item.html +++ b/src/views/foca-abm-choferes-item.html @@ -9,18 +9,6 @@
- -
- -
-
-
@@ -59,7 +48,7 @@ teclado-virtual ng-model="chofer.telefono" ng-required="true" - ng-keypress="next($event.keyCode)" + ng-keypress="guardar($event.keyCode)" foca-focus="focused == 3" ng-focus="focused = 3" /> diff --git a/src/views/foca-abm-choferes-listado.html b/src/views/foca-abm-choferes-listado.html index 9a2e5b7..107d185 100644 --- a/src/views/foca-abm-choferes-listado.html +++ b/src/views/foca-abm-choferes-listado.html @@ -15,7 +15,6 @@ - @@ -32,7 +31,6 @@ -
Código Nombre DNI Teléfono