Commit 3618c6d772c5fbc5343a1ba69da0960bf116fb68
1 parent
e700dca0b1
Exists in
master
and in
2 other branches
ok cancelar cambiar contraseña
Showing
2 changed files
with
57 additions
and
34 deletions
Show diff stats
src/js/controllerItem.js
| ... | ... | @@ -5,6 +5,7 @@ angular.module('focaAbmVendedorCobrador') |
| 5 | 5 | function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, |
| 6 | 6 | $timeout, $uibModal, $location, focaModalService) { |
| 7 | 7 | |
| 8 | + $scope.guardado = false; | |
| 8 | 9 | $scope.now = new Date(); |
| 9 | 10 | $scope.focused = 0; |
| 10 | 11 | $scope.vendedorCobrador = { |
| ... | ... | @@ -59,35 +60,42 @@ angular.module('focaAbmVendedorCobrador') |
| 59 | 60 | }); |
| 60 | 61 | |
| 61 | 62 | $scope.guardar = function() { |
| 62 | - var vendedorCobrador = angular.copy($scope.vendedorCobrador); | |
| 63 | + if($scope.guardado) { | |
| 64 | + $scope.cambiarPassword(); | |
| 63 | 65 | |
| 64 | - vendedorCobrador.PciVen = vendedorCobrador.provincia.ID; | |
| 65 | - vendedorCobrador.LocVen = vendedorCobrador.localidad.ID; | |
| 66 | + } else { | |
| 66 | 67 | |
| 67 | - delete vendedorCobrador.provincia; | |
| 68 | - delete vendedorCobrador.localidad; | |
| 69 | - if (vendedorCobrador.rol == 1) { | |
| 70 | - delete vendedorCobrador.comisionCobrador; | |
| 71 | - } else if (vendedorCobrador.rol == 2) { | |
| 72 | - delete vendedorCobrador.ComVen; | |
| 68 | + var vendedorCobrador = angular.copy($scope.vendedorCobrador); | |
| 69 | + | |
| 70 | + vendedorCobrador.PciVen = vendedorCobrador.provincia.ID; | |
| 71 | + vendedorCobrador.LocVen = vendedorCobrador.localidad.ID; | |
| 72 | + | |
| 73 | + delete vendedorCobrador.provincia; | |
| 74 | + delete vendedorCobrador.localidad; | |
| 75 | + if (vendedorCobrador.rol == 1) { | |
| 76 | + delete vendedorCobrador.comisionCobrador; | |
| 77 | + } else if (vendedorCobrador.rol == 2) { | |
| 78 | + delete vendedorCobrador.ComVen; | |
| 79 | + } | |
| 80 | + vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; | |
| 81 | + | |
| 82 | + focaAbmVendedorCobradorService | |
| 83 | + .guardarVendedorCobrador(vendedorCobrador) | |
| 84 | + .then(function(res) { | |
| 85 | + if ($scope.edicion) { | |
| 86 | + $location.path('/vendedor-cobrador'); | |
| 87 | + } else { | |
| 88 | + $scope.vendedorCobrador = res.data; | |
| 89 | + $scope.cambiarPassword(); | |
| 90 | + $scope.guardado = true; | |
| 91 | + } | |
| 92 | + }) | |
| 93 | + .catch(function(err) { | |
| 94 | + if (err.status === 409) { | |
| 95 | + focaModalService.alert(err.data); | |
| 96 | + } | |
| 97 | + }); | |
| 73 | 98 | } |
| 74 | - vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; | |
| 75 | - | |
| 76 | - focaAbmVendedorCobradorService | |
| 77 | - .guardarVendedorCobrador(vendedorCobrador) | |
| 78 | - .then(function(res) { | |
| 79 | - if ($scope.edicion) { | |
| 80 | - $location.path('/vendedor-cobrador'); | |
| 81 | - } else { | |
| 82 | - $scope.vendedorCobrador = res.data; | |
| 83 | - $scope.cambiarContrasenia(); | |
| 84 | - } | |
| 85 | - }) | |
| 86 | - .catch(function(err) { | |
| 87 | - if (err.status === 409) { | |
| 88 | - focaModalService.alert(err.data); | |
| 89 | - } | |
| 90 | - }); | |
| 91 | 99 | }; |
| 92 | 100 | |
| 93 | 101 | $scope.seleccionarProvincia = function(key) { |
| ... | ... | @@ -157,14 +165,34 @@ angular.module('focaAbmVendedorCobrador') |
| 157 | 165 | }; |
| 158 | 166 | |
| 159 | 167 | $scope.cancelar = function() { |
| 160 | - $location.path('/vendedor-cobrador'); | |
| 168 | + if(!$scope.formVendedorCobrador.$pristine) { | |
| 169 | + | |
| 170 | + focaModalService.confirm('¿Está seguro de que desea salir?' + | |
| 171 | + 'Se perderán todos los datos cargados.') | |
| 172 | + .then(function(confirmed) { | |
| 173 | + if(confirmed && $scope.guardado && !$scope.edicion) { | |
| 174 | + | |
| 175 | + focaAbmVendedorCobradorService | |
| 176 | + .eliminarVendedorCobrador($scope.vendedorCobrador.CodVen) | |
| 177 | + .then(function() { | |
| 178 | + $location.path('/vendedor-cobrador'); | |
| 179 | + }); | |
| 180 | + | |
| 181 | + } else if (confirmed) { | |
| 182 | + $location.path('/vendedor-cobrador'); | |
| 183 | + } | |
| 184 | + }); | |
| 185 | + | |
| 186 | + } else { | |
| 187 | + $location.path('/vendedor-cobrador'); | |
| 188 | + } | |
| 161 | 189 | }; |
| 162 | 190 | |
| 163 | 191 | $scope.next = function(key) { |
| 164 | 192 | if(key === 13) $scope.focused++; |
| 165 | 193 | }; |
| 166 | 194 | |
| 167 | - $scope.cambiarContrasenia = function() { | |
| 195 | + $scope.cambiarPassword = function() { | |
| 168 | 196 | var vendedorCobrador = angular.copy($scope.vendedorCobrador); |
| 169 | 197 | vendedorCobrador.id = vendedorCobrador.CodVen; |
| 170 | 198 | vendedorCobrador.nombre = vendedorCobrador.NomVen; |
| ... | ... | @@ -192,11 +220,6 @@ angular.module('focaAbmVendedorCobrador') |
| 192 | 220 | |
| 193 | 221 | modalInstance.result.then(function() { |
| 194 | 222 | if (!$scope.edicion) $location.path('/vendedor-cobrador'); |
| 195 | - }, function() { | |
| 196 | - if (!$scope.edicion) { | |
| 197 | - $scope.cambiarContrasenia(); | |
| 198 | - focaModalService.alert('Debe crear una contraseña para el usuario'); | |
| 199 | - } | |
| 200 | 223 | }); |
| 201 | 224 | |
| 202 | 225 | }; |
src/views/foca-abm-vendedor-cobrador-item.html