Commit b11fcc2bf10dde9fc3a230ebd0d26b2dd7b0aea8
Exists in
master
and in
1 other branch
Merge branch 'develop' into 'master'
Develop See merge request !17
Showing
1 changed file
Show diff stats
src/js/controller.js
| 1 | 1 | angular.module('focaAbmChofer') |
| 2 | 2 | .controller('focaAbmChoferesController', [ |
| 3 | 3 | '$scope', 'focaAbmChoferService', '$location', '$uibModal', |
| 4 | - 'focaModalService', 'focaBotoneraLateralService', '$timeout', | |
| 4 | + 'focaModalService', 'focaBotoneraLateralService', '$timeout', '$localStorage', | |
| 5 | 5 | function($scope, focaAbmChoferService, $location, $uibModal, focaModalService, |
| 6 | - focaBotoneraLateralService, $timeout) { | |
| 6 | + focaBotoneraLateralService, $timeout, $localStorage) { | |
| 7 | 7 | |
| 8 | 8 | $scope.now = new Date(); |
| 9 | 9 | $scope.filters = ''; |
| ... | ... | @@ -20,20 +20,20 @@ angular.module('focaAbmChofer') |
| 20 | 20 | focaBotoneraLateralService.showCancelar(false); |
| 21 | 21 | focaBotoneraLateralService.showGuardar(false); |
| 22 | 22 | focaBotoneraLateralService.addCustomButton('Salir', salir); |
| 23 | - }); | |
| 23 | + }); | |
| 24 | 24 | |
| 25 | - if(focaAbmChoferService.transportistaSeleccionado.COD) { | |
| 25 | + if (focaAbmChoferService.transportistaSeleccionado.COD) { | |
| 26 | 26 | elegirTransportista(focaAbmChoferService.transportistaSeleccionado); |
| 27 | 27 | } |
| 28 | 28 | |
| 29 | - $scope.editar = function(id) { | |
| 29 | + $scope.editar = function(id) { | |
| 30 | 30 | $location.path('/chofer/' + id + '/' + $scope.idTransportista); |
| 31 | 31 | }; |
| 32 | 32 | |
| 33 | 33 | $scope.solicitarConfirmacion = function(chofer) { |
| 34 | 34 | focaModalService.confirm('¿Está seguro que desea borrar el chofer ' + |
| 35 | 35 | chofer.nombre + ' ?').then(function(confirmed) { |
| 36 | - if(confirmed) { | |
| 36 | + if (confirmed) { | |
| 37 | 37 | focaAbmChoferService.deleteChofer(chofer.id); |
| 38 | 38 | $scope.choferes.splice($scope.choferes.indexOf(chofer), 1); |
| 39 | 39 | } |
| ... | ... | @@ -89,13 +89,19 @@ angular.module('focaAbmChofer') |
| 89 | 89 | focaAbmChoferService.transportistaSeleccionado = {}; |
| 90 | 90 | $location.path('/'); |
| 91 | 91 | } |
| 92 | + | |
| 93 | + if ($localStorage.chofer) { | |
| 94 | + var chofer = JSON.parse($localStorage.chofer); | |
| 95 | + if (!chofer.id) { chofer.id = 0; } | |
| 96 | + $location.path('/chofer/' + chofer.id + '/' + chofer.idTransportista); | |
| 97 | + } | |
| 92 | 98 | } |
| 93 | 99 | ]) |
| 94 | 100 | .controller('focaAbmChoferController', [ |
| 95 | - '$scope', 'focaAbmChoferService', '$routeParams', | |
| 96 | - '$location', 'focaBotoneraLateralService', '$timeout', 'focaModalService', | |
| 97 | - function($scope, focaAbmChoferService, $routeParams, | |
| 98 | - $location, focaBotoneraLateralService, $timeout, focaModalService) { | |
| 101 | + '$scope', 'focaAbmChoferService', '$routeParams', '$localStorage', '$filter', | |
| 102 | + '$location', 'focaBotoneraLateralService', '$timeout', 'focaModalService', '$window', | |
| 103 | + function($scope, focaAbmChoferService, $routeParams, $localStorage, $filter, | |
| 104 | + $location, focaBotoneraLateralService, $timeout, focaModalService){ | |
| 99 | 105 | |
| 100 | 106 | $scope.focused = 1; |
| 101 | 107 | $scope.nuevo = $routeParams.id === '0'; |
| ... | ... | @@ -114,11 +120,15 @@ angular.module('focaAbmChofer') |
| 114 | 120 | $timeout(function() { |
| 115 | 121 | focaBotoneraLateralService.showSalir(false); |
| 116 | 122 | focaBotoneraLateralService.showPausar(true); |
| 117 | - focaBotoneraLateralService.showCancelar(true); | |
| 123 | + focaBotoneraLateralService.showCancelar(false); | |
| 118 | 124 | focaBotoneraLateralService.showGuardar(true, $scope.guardar); |
| 125 | + focaBotoneraLateralService.addCustomButton('Salir', salir); | |
| 126 | + | |
| 119 | 127 | }); |
| 120 | 128 | |
| 121 | - if($scope.nuevo) { | |
| 129 | + $timeout(function() {getLSChofer();}); | |
| 130 | + | |
| 131 | + if ($scope.nuevo) { | |
| 122 | 132 | focaAbmChoferService |
| 123 | 133 | .getTransportistaPorId($routeParams.idTransportista) |
| 124 | 134 | .then(function(res) { |
| ... | ... | @@ -147,11 +157,27 @@ angular.module('focaAbmChofer') |
| 147 | 157 | $scope.transportistas = res.data; |
| 148 | 158 | }); |
| 149 | 159 | |
| 160 | + function setearChofer(chofer) { | |
| 161 | + $scope.chofer = chofer; | |
| 162 | + $scope.$broadcast('addCabecera', { | |
| 163 | + label: 'Transportista:', | |
| 164 | + valor: $filter('rellenarDigitos')(chofer.idTransportista.chofer, 2) + ' - ' | |
| 165 | + }); | |
| 166 | + } | |
| 167 | + function getLSChofer() { | |
| 168 | + var chofer = JSON.parse($localStorage.chofer || null); | |
| 169 | + | |
| 170 | + if (chofer) { | |
| 171 | + setearChofer(chofer); | |
| 172 | + delete $localStorage.chofer; | |
| 173 | + } | |
| 174 | + } | |
| 175 | + | |
| 150 | 176 | $scope.cancelar = function() { |
| 151 | 177 | $location.path('/chofer'); |
| 152 | 178 | }; |
| 153 | 179 | |
| 154 | - $scope.guardar = function(key) { | |
| 180 | + $scope.guardar = function(key) { | |
| 155 | 181 | |
| 156 | 182 | if (!$scope.chofer.nombre) { |
| 157 | 183 | focaModalService.alert('Ingrese nombre'); |
| ... | ... | @@ -159,13 +185,13 @@ angular.module('focaAbmChofer') |
| 159 | 185 | } else if (!$scope.chofer.idTipoDocumento) { |
| 160 | 186 | focaModalService.alert('Seleccione tipo de documento'); |
| 161 | 187 | return; |
| 162 | - } else if (!$scope.chofer.dni){ | |
| 188 | + } else if (!$scope.chofer.dni) { | |
| 163 | 189 | focaModalService.alert('Ingrese DNI'); |
| 164 | 190 | return; |
| 165 | 191 | } |
| 166 | 192 | |
| 167 | 193 | key = (typeof key === 'undefined') ? 13 : key; |
| 168 | - if(key === 13) { | |
| 194 | + if (key === 13) { | |
| 169 | 195 | validaDni().then(function() { |
| 170 | 196 | $scope.chofer.idTransportista = $routeParams.idTransportista; |
| 171 | 197 | delete $scope.chofer.transportista; |
| ... | ... | @@ -177,16 +203,44 @@ angular.module('focaAbmChofer') |
| 177 | 203 | }); |
| 178 | 204 | } |
| 179 | 205 | }; |
| 206 | + | |
| 207 | + $scope.$watch('chofer', function(newValue) { | |
| 208 | + focaBotoneraLateralService.setPausarData({ | |
| 209 | + label: 'chofer', | |
| 210 | + val: { | |
| 211 | + dni: newValue.dni, | |
| 212 | + idTransportista: newValue.idTransportista, | |
| 213 | + nombre: newValue.nombre, | |
| 214 | + telefono: newValue.telefono, | |
| 215 | + idTipoDocumento: newValue.idTipoDocumento, | |
| 216 | + id: newValue.id | |
| 217 | + } | |
| 218 | + }); | |
| 219 | + }, true); | |
| 220 | + | |
| 221 | + function salir() { | |
| 222 | + if ($scope.formChofer.$pristine == false) { | |
| 223 | + focaModalService.confirm( | |
| 224 | + '¿Está seguro de que desea salir? Se perderán todos los datos cargados.' | |
| 225 | + ).then(function(data) { | |
| 226 | + if (data) { | |
| 227 | + $location.path('/chofer'); | |
| 228 | + } | |
| 229 | + }); | |
| 230 | + } else { | |
| 231 | + $location.path('/chofer'); | |
| 232 | + } | |
| 233 | + } | |
| 180 | 234 | |
| 181 | 235 | function validaDni() { |
| 182 | 236 | return new Promise(function(resolve, reject) { |
| 183 | 237 | focaAbmChoferService |
| 184 | 238 | .getChoferPorDni($scope.chofer.dni) |
| 185 | 239 | .then(function(res) { |
| 186 | - if(res.data.id && | |
| 240 | + if (res.data.id && | |
| 187 | 241 | $scope.chofer.id !== res.data.id) { |
| 188 | 242 | reject(res.data); |
| 189 | - }else { | |
| 243 | + } else { | |
| 190 | 244 | resolve(); |
| 191 | 245 | } |
| 192 | 246 | }); |