diff --git a/src/js/controller.js b/src/js/controller.js index 21df503..4c4b3a2 100644 --- a/src/js/controller.js +++ b/src/js/controller.js @@ -1,9 +1,9 @@ angular.module('focaAbmChofer') .controller('focaAbmChoferesController', [ '$scope', 'focaAbmChoferService', '$location', '$uibModal', - 'focaModalService', 'focaBotoneraLateralService', '$timeout', + 'focaModalService', 'focaBotoneraLateralService', '$timeout', '$localStorage', function($scope, focaAbmChoferService, $location, $uibModal, focaModalService, - focaBotoneraLateralService, $timeout) { + focaBotoneraLateralService, $timeout, $localStorage) { $scope.now = new Date(); $scope.filters = ''; @@ -20,20 +20,20 @@ angular.module('focaAbmChofer') focaBotoneraLateralService.showCancelar(false); focaBotoneraLateralService.showGuardar(false); focaBotoneraLateralService.addCustomButton('Salir', salir); - }); + }); - if(focaAbmChoferService.transportistaSeleccionado.COD) { + if (focaAbmChoferService.transportistaSeleccionado.COD) { elegirTransportista(focaAbmChoferService.transportistaSeleccionado); } - $scope.editar = function(id) { + $scope.editar = function(id) { $location.path('/chofer/' + id + '/' + $scope.idTransportista); }; $scope.solicitarConfirmacion = function(chofer) { focaModalService.confirm('¿Está seguro que desea borrar el chofer ' + chofer.nombre + ' ?').then(function(confirmed) { - if(confirmed) { + if (confirmed) { focaAbmChoferService.deleteChofer(chofer.id); $scope.choferes.splice($scope.choferes.indexOf(chofer), 1); } @@ -89,13 +89,19 @@ angular.module('focaAbmChofer') focaAbmChoferService.transportistaSeleccionado = {}; $location.path('/'); } + + if ($localStorage.chofer) { + var chofer = JSON.parse($localStorage.chofer); + if (!chofer.id) { chofer.id = 0; } + $location.path('/chofer/' + chofer.id + '/' + chofer.idTransportista); + } } ]) .controller('focaAbmChoferController', [ - '$scope', 'focaAbmChoferService', '$routeParams', - '$location', 'focaBotoneraLateralService', '$timeout', 'focaModalService', - function($scope, focaAbmChoferService, $routeParams, - $location, focaBotoneraLateralService, $timeout, focaModalService) { + '$scope', 'focaAbmChoferService', '$routeParams', '$localStorage', '$filter', + '$location', 'focaBotoneraLateralService', '$timeout', 'focaModalService', '$window', + function($scope, focaAbmChoferService, $routeParams, $localStorage, $filter, + $location, focaBotoneraLateralService, $timeout, focaModalService){ $scope.focused = 1; $scope.nuevo = $routeParams.id === '0'; @@ -118,13 +124,15 @@ angular.module('focaAbmChofer') focaBotoneraLateralService.showGuardar(true, $scope.guardar); }); - if($scope.nuevo) { + $timeout(function() {getLSChofer();}); + + if ($scope.nuevo) { focaAbmChoferService .getTransportistaPorId($routeParams.idTransportista) - .then(function(res) { - var codigo = ('00000' + res.data.COD).slice(-5); - $scope.chofer.idTransportista = res.data.COD; - $scope.chofer.transportista = res.data; + .then(function(res) { + var codigo = ('00000' + res.data.COD).slice(-5); + $scope.chofer.idTransportista = res.data.COD; + $scope.chofer.transportista = res.data; $scope.$broadcast('addCabecera', { label: 'Transportista:', valor: codigo + ' - ' + res.data.NOM @@ -139,7 +147,7 @@ angular.module('focaAbmChofer') $scope.$broadcast('addCabecera', { label: 'Transportista:', valor: codigo + ' - ' + res.data.transportista.NOM - }); + }); } }); @@ -147,8 +155,28 @@ angular.module('focaAbmChofer') $scope.transportistas = res.data; }); - $scope.cancelar = function() { - $location.path('/chofer'); + function setearChofer(chofer) { + $scope.chofer = chofer; + $scope.$broadcast('addCabecera', { + label: 'Transportista:', + valor: $filter('rellenarDigitos')(chofer.idTransportista.chofer, 2) + ' - ' + }); + } + function getLSChofer() { + var chofer = JSON.parse($localStorage.chofer || null); + + if (chofer) { + setearChofer(chofer); + delete $localStorage.chofer; + } + } + + $scope.cancelar = function() { + $location.path('/chofer'); + }; + + $scope.pausar = function() { + focaBotoneraLateralService.pausar(); }; $scope.guardar = function(key) { @@ -159,13 +187,13 @@ angular.module('focaAbmChofer') } else if (!$scope.chofer.idTipoDocumento) { focaModalService.alert('Seleccione tipo de documento'); return; - } else if (!$scope.chofer.dni){ + } else if (!$scope.chofer.dni) { focaModalService.alert('Ingrese DNI'); return; } key = (typeof key === 'undefined') ? 13 : key; - if(key === 13) { + if (key === 13) { validaDni().then(function() { $scope.chofer.idTransportista = $routeParams.idTransportista; delete $scope.chofer.transportista; @@ -177,6 +205,20 @@ angular.module('focaAbmChofer') }); } }; + + $scope.$watch('chofer', function(newValue) { + focaBotoneraLateralService.setPausarData({ + label: 'chofer', + val: { + dni: newValue.dni, + idTransportista: newValue.idTransportista, + nombre: newValue.nombre, + telefono: newValue.telefono, + idTipoDocumento: newValue.idTipoDocumento, + id: newValue.id + } + }); + }, true); function validaDni() { return new Promise(function(resolve, reject) {