From d4d5dd44ec24713b05241d9f2d427994d8291df2 Mon Sep 17 00:00:00 2001 From: Jose Pinto Date: Thu, 7 Feb 2019 11:00:08 -0300 Subject: [PATCH] valida codigo antes de guardar nuevo --- src/js/controllerItem.js | 64 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 19 deletions(-) diff --git a/src/js/controllerItem.js b/src/js/controllerItem.js index 6457413..1b8d21e 100644 --- a/src/js/controllerItem.js +++ b/src/js/controllerItem.js @@ -59,27 +59,35 @@ angular.module('focaAbmVendedorCobrador') }); $scope.guardar = function() { - if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { - focaModalService.alert('Las contraseñas deben coincidir'); - return; - } - $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; - $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; - - delete $scope.vendedorCobrador.provincia; - delete $scope.vendedorCobrador.localidad; - delete $scope.vendedorCobrador.ClaVen2; - if($scope.vendedorCobrador.rol == 1) { - delete $scope.vendedorCobrador.comisionCobrador; - }else if($scope.vendedorCobrador.rol == 2) { - delete $scope.vendedorCobrador.ComVen; - } - - focaAbmVendedorCobradorService - .guardarVendedorCobrador($scope.vendedorCobrador) + validarCodigo() .then(function() { - $location.path('/vendedor-cobrador'); + if($scope.vendedorCobrador.ClaVen !== $scope.vendedorCobrador.ClaVen2) { + focaModalService.alert('Las contraseñas deben coincidir'); + return; + } + $scope.vendedorCobrador.PciVen = $scope.vendedorCobrador.provincia.ID; + $scope.vendedorCobrador.LocVen = $scope.vendedorCobrador.localidad.ID; + + delete $scope.vendedorCobrador.provincia; + delete $scope.vendedorCobrador.localidad; + delete $scope.vendedorCobrador.ClaVen2; + if($scope.vendedorCobrador.rol == 1) { + delete $scope.vendedorCobrador.comisionCobrador; + }else if($scope.vendedorCobrador.rol == 2) { + delete $scope.vendedorCobrador.ComVen; + } + + return focaAbmVendedorCobradorService + .guardarVendedorCobrador($scope.vendedorCobrador) + .then(function() { + $location.path('/vendedor-cobrador'); + }); + + }) + .catch(function() { + focaModalService.alert('El codigo del vendedor/cobrador ya existe'); }); + }; $scope.seleccionarProvincia = function(key) { @@ -155,5 +163,23 @@ angular.module('focaAbmVendedorCobrador') $scope.next = function(key) { if(key === 13) $scope.focused++; }; + + function validarCodigo() { + return new Promise(function(resolve, reject) { + if(parseInt($routeParams.id) === 0){ + focaAbmVendedorCobradorService + .getVendedorCobradorById($scope.vendedorCobrador.CodVen) + .then(function(res) { + if(res.data){ + reject(res.data); + }else{ + resolve(); + } + }); + }else{ + resolve(); + } + }); + }; } ]); -- 1.9.1