Commit 5ee870b97c41b527de9a54e2aa2c1a676c91e5d5

Authored by Eric Fernandez
Exists in master

Merge branch 'develop' into 'master'

Develop

See merge request !27
spec/controllerSpec.js
1 describe('Controladores abm vendedor cobrador', function() { 1 describe('Controladores abm vendedor cobrador', function() {
2 2
3 var $controller; 3 var $controller;
4 4
5 beforeEach(function() { 5 beforeEach(function() {
6 module('focaAbmVendedorCobrador'); 6 module('focaAbmVendedorCobrador');
7 inject(function(_$controller_) { 7 inject(function(_$controller_) {
8 $controller = _$controller_; 8 $controller = _$controller_;
9 }); 9 });
10 }); 10 });
11 describe('controlador focaAbmVendedoresCobradoresController', function() { 11 describe('controlador focaAbmVendedoresCobradoresController', function() {
12 12
13 var focaBotoneraLateralService = { 13 var focaBotoneraLateralService = {
14 showSalir: function() { }, 14 showSalir: function() { },
15 showPausar: function() { }, 15 showPausar: function() { },
16 showCancelar: function() { }, 16 showCancelar: function() { },
17 showGuardar: function() { } 17 showGuardar: function() { }
18 }; 18 };
19 19
20 it('existe el controlador focaAbmVendedoresCobradoresController', function() { 20 it('existe el controlador focaAbmVendedoresCobradoresController', function() {
21 //act 21 //act
22 var controlador = $controller('focaAbmVendedoresCobradoresController', { 22 var controlador = $controller('focaAbmVendedoresCobradoresController', {
23 $scope: {}, 23 $scope: {},
24 focaAbmVendedorCobradorService: {}, 24 focaAbmVendedorCobradorService: {},
25 $location: {}, 25 $location: {},
26 $localStorage: {},
26 $filter: {}, 27 $filter: {},
27 focaBotoneraLateralService: focaBotoneraLateralService, 28 focaBotoneraLateralService: focaBotoneraLateralService,
28 focaModalService: {} 29 focaModalService: {}
29 }); 30 });
30 31
31 //arrange 32 //arrange
32 expect(typeof controlador).toEqual('object'); 33 expect(typeof controlador).toEqual('object');
33 }); 34 });
34 35
35 it('la función $scope.editar llama a la url correcta', function() { 36 it('la función $scope.editar llama a la url correcta', function() {
36 inject(function($location) { 37 inject(function($location) {
37 38
38 //arrange 39 //arrange
39 var scope = {}; 40 var scope = {};
40 $controller('focaAbmVendedoresCobradoresController', { 41 $controller('focaAbmVendedoresCobradoresController', {
41 $scope: scope, 42 $scope: scope,
42 focaAbmVendedorCobradorService: {}, 43 focaAbmVendedorCobradorService: {},
43 $location: $location, 44 $location: $location,
45 $localStorage: {},
44 $filter: {}, 46 $filter: {},
45 focaBotoneraLateralService: focaBotoneraLateralService, 47 focaBotoneraLateralService: focaBotoneraLateralService,
46 focaModalService: {} 48 focaModalService: {}
47 }); 49 });
48 var paramFake = 1; 50 var paramFake = 1;
49 51
50 //act 52 //act
51 scope.editar(paramFake); 53 scope.editar(paramFake);
52 //arrange 54 //arrange
53 expect($location.url()).toEqual('/vendedor-cobrador/' + paramFake); 55 expect($location.url()).toEqual('/vendedor-cobrador/' + paramFake);
54 }); 56 });
55 }); 57 });
56 58
57 it('la función $scope.eliminar llama a modal confirmar', function() { 59 it('la función $scope.eliminar llama a modal confirmar', function() {
58 inject(function($location) { 60 inject(function($location) {
59 61
60 //arrange 62 //arrange
61 var scope = {}; 63 var scope = {};
62 var focaModalService = { 64 var focaModalService = {
63 confirm: function() { } 65 confirm: function() { }
64 }; 66 };
65 $controller('focaAbmVendedoresCobradoresController', { 67 $controller('focaAbmVendedoresCobradoresController', {
66 $scope: scope, 68 $scope: scope,
67 focaAbmVendedorCobradorService: {}, 69 focaAbmVendedorCobradorService: {},
68 $location: $location, 70 $location: $location,
71 $localStorage: {},
69 $filter: {}, 72 $filter: {},
70 focaBotoneraLateralService: focaBotoneraLateralService, 73 focaBotoneraLateralService: focaBotoneraLateralService,
71 focaModalService: focaModalService 74 focaModalService: focaModalService
72 }); 75 });
73 var paramFake = 1; 76 var paramFake = 1;
74 77
75 //act 78 //act
76 spyOn(focaModalService, 'confirm').and.returnValue({ then: function() { } }); 79 spyOn(focaModalService, 'confirm').and.returnValue({ then: function() { } });
77 scope.eliminar(paramFake); 80 scope.eliminar(paramFake);
78 81
79 //arrange 82 //arrange
80 expect(focaModalService.confirm).toHaveBeenCalled(); 83 expect(focaModalService.confirm).toHaveBeenCalled();
81 }); 84 });
82 }); 85 });
83 86
84 it('función $scope.eliminar llama eliminarVendedorCobrador al confirm ok', function(done) { 87 it('función $scope.eliminar llama eliminarVendedorCobrador al confirm ok', function(done) {
85 inject(function($location) { 88 inject(function($location) {
86 89
87 //arrange 90 //arrange
88 var scope = {}; 91 var scope = {};
89 var focaModalService = { 92 var focaModalService = {
90 confirm: function() { } 93 confirm: function() { }
91 }; 94 };
92 var focaAbmVendedorCobradorService = { 95 var focaAbmVendedorCobradorService = {
93 eliminarVendedorCobrador: function() { } 96 eliminarVendedorCobrador: function() { }
94 }; 97 };
95 $controller('focaAbmVendedoresCobradoresController', { 98 $controller('focaAbmVendedoresCobradoresController', {
96 $scope: scope, 99 $scope: scope,
97 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 100 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
98 $location: $location, 101 $location: $location,
102 $localStorage: {},
99 $filter: {}, 103 $filter: {},
100 focaBotoneraLateralService: focaBotoneraLateralService, 104 focaBotoneraLateralService: focaBotoneraLateralService,
101 focaModalService: focaModalService 105 focaModalService: focaModalService
102 }); 106 });
103 var paramFake = 1; 107 var paramFake = 1;
104 var promesaConfirmar = Promise.resolve(true); 108 var promesaConfirmar = Promise.resolve(true);
105 109
106 //act 110 //act
107 spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirmar); 111 spyOn(focaModalService, 'confirm').and.returnValue(promesaConfirmar);
108 spyOn(focaAbmVendedorCobradorService, 'eliminarVendedorCobrador') 112 spyOn(focaAbmVendedorCobradorService, 'eliminarVendedorCobrador')
109 .and.returnValue({ then: function() { } }); 113 .and.returnValue({ then: function() { } });
110 scope.eliminar(paramFake); 114 scope.eliminar(paramFake);
111 115
112 //arrange 116 //arrange
113 promesaConfirmar.then(function() { 117 promesaConfirmar.then(function() {
114 expect(focaAbmVendedorCobradorService.eliminarVendedorCobrador) 118 expect(focaAbmVendedorCobradorService.eliminarVendedorCobrador)
115 .toHaveBeenCalled(); 119 .toHaveBeenCalled();
116 done(); 120 done();
117 }); 121 });
118 }); 122 });
119 }); 123 });
120 124
121 it('función $scope.resetPage llama a $scope.selectPage', function() { 125 it('función $scope.resetPage llama a $scope.selectPage', function() {
122 126
123 //arrange 127 //arrange
124 var scope = {}; 128 var scope = {};
125 $controller('focaAbmVendedoresCobradoresController', { 129 $controller('focaAbmVendedoresCobradoresController', {
126 $scope: scope, 130 $scope: scope,
127 focaAbmVendedorCobradorService: {}, 131 focaAbmVendedorCobradorService: {},
128 $location: {}, 132 $location: {},
133 $localStorage: {},
129 $filter: {}, 134 $filter: {},
130 focaBotoneraLateralService: focaBotoneraLateralService, 135 focaBotoneraLateralService: focaBotoneraLateralService,
131 focaModalService: {} 136 focaModalService: {}
132 }); 137 });
133 138
134 //act 139 //act
135 spyOn(scope, 'selectPage'); 140 spyOn(scope, 'selectPage');
136 scope.resetPage(); 141 scope.resetPage();
137 142
138 //arrange 143 //arrange
139 expect(scope.selectPage).toHaveBeenCalled(); 144 expect(scope.selectPage).toHaveBeenCalled();
140 }); 145 });
141 146
142 it('función $scope.search llama a getVendedoresCobradores', function() { 147 it('función $scope.search llama a getVendedoresCobradores', function() {
143 148
144 //arrange 149 //arrange
145 var scope = {}; 150 var scope = {};
146 var focaAbmVendedorCobradorService = { 151 var focaAbmVendedorCobradorService = {
147 getVendedoresCobradores: function() { } 152 getVendedoresCobradores: function() { }
148 }; 153 };
149 $controller('focaAbmVendedoresCobradoresController', { 154 $controller('focaAbmVendedoresCobradoresController', {
150 $scope: scope, 155 $scope: scope,
151 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 156 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
152 $location: {}, 157 $location: {},
158 $localStorage: {},
153 $filter: {}, 159 $filter: {},
154 focaBotoneraLateralService: focaBotoneraLateralService, 160 focaBotoneraLateralService: focaBotoneraLateralService,
155 focaModalService: {} 161 focaModalService: {}
156 }); 162 });
157 163
158 //act 164 //act
159 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores') 165 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores')
160 .and.returnValue({ then: function() { } }); 166 .and.returnValue({ then: function() { } });
161 scope.search(13); 167 scope.search(13);
162 168
163 //arrange 169 //arrange
164 expect(focaAbmVendedorCobradorService.getVendedoresCobradores).toHaveBeenCalled(); 170 expect(focaAbmVendedorCobradorService.getVendedoresCobradores).toHaveBeenCalled();
165 }); 171 });
166 172
167 it('función scope.search llama getVendedoresCobradores y llama resetPage', function(done) { 173 it('función scope.search llama getVendedoresCobradores y llama resetPage', function(done) {
168 174
169 //arrange 175 //arrange
170 var scope = {}; 176 var scope = {};
171 var focaAbmVendedorCobradorService = { 177 var focaAbmVendedorCobradorService = {
172 getVendedoresCobradores: function() { } 178 getVendedoresCobradores: function() { }
173 }; 179 };
174 $controller('focaAbmVendedoresCobradoresController', { 180 $controller('focaAbmVendedoresCobradoresController', {
175 $scope: scope, 181 $scope: scope,
176 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 182 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
177 $location: {}, 183 $location: {},
184 $localStorage: {},
178 $filter: {}, 185 $filter: {},
179 focaBotoneraLateralService: focaBotoneraLateralService, 186 focaBotoneraLateralService: focaBotoneraLateralService,
180 focaModalService: {} 187 focaModalService: {}
181 }); 188 });
182 var promesaVendedores = Promise.resolve({ data: [] }); 189 var promesaVendedores = Promise.resolve({ data: [] });
183 190
184 //act 191 //act
185 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores') 192 spyOn(focaAbmVendedorCobradorService, 'getVendedoresCobradores')
186 .and.returnValue(promesaVendedores); 193 .and.returnValue(promesaVendedores);
187 spyOn(scope, 'resetPage'); 194 spyOn(scope, 'resetPage');
188 scope.vendedoresCobradores = []; 195 scope.vendedoresCobradores = [];
189 scope.search(13); 196 scope.search(13);
190 197
191 //arrange 198 //arrange
192 promesaVendedores.then(function() { 199 promesaVendedores.then(function() {
193 expect(scope.resetPage).toHaveBeenCalled(); 200 expect(scope.resetPage).toHaveBeenCalled();
194 done(); 201 done();
195 }); 202 });
196 }); 203 });
197 }); 204 });
198 205
199 describe('Controlador focaAbmVendedorCobradorController', function() { 206 describe('Controlador focaAbmVendedorCobradorController', function() {
200 207
201 var timeout; 208 var timeout;
202 209
203 beforeEach(function() { 210 beforeEach(function() {
204 inject(function($timeout) { 211 inject(function($timeout) {
205 timeout = $timeout; 212 timeout = $timeout;
206 }); 213 });
207 }); 214 });
208 215
209 it('existe el controlador focaAbmVendedorCobradorController', function() { 216 it('existe el controlador focaAbmVendedorCobradorController', function() {
210 217
211 //act 218 //act
212 var controlador = $controller('focaAbmVendedorCobradorController', { 219 var controlador = $controller('focaAbmVendedorCobradorController', {
213 $scope: {}, 220 $scope: {
221 $watch: function() {}
222 },
214 focaAbmVendedorCobradorService: { 223 focaAbmVendedorCobradorService: {
215 getCodigoSiguiente: function() { 224 getCodigoSiguiente: function() {
216 return { 225 return {
217 then: function() { } 226 then: function() { }
218 }; 227 };
219 }, 228 },
220 getVendedorCobradorById: function() { 229 getVendedorCobradorById: function() {
221 return { 230 return {
222 then: function() { } 231 then: function() { }
223 }; 232 };
224 } 233 }
225 }, 234 },
226 $routeParams: {}, 235 $routeParams: {},
227 focaBotoneraLateralService: {}, 236 focaBotoneraLateralService: {},
228 $timeout: timeout, 237 $timeout: timeout,
229 $uibModal: {}, 238 $uibModal: {},
230 $location: {}, 239 $location: {},
231 focaModalService: {} 240 $localStorage: {},
241 focaModalService: {
242 }
232 }); 243 });
233 244
234 //assert 245 //assert
235 expect(typeof controlador).toEqual('object'); 246 expect(typeof controlador).toEqual('object');
236 }); 247 });
237 248
238 it('la función $scope.guardar llama a guardaVendedorCobrador del servicio', function() { 249 it('la función $scope.guardar llama a guardaVendedorCobrador del servicio', function() {
239 //arrange 250 //arrange
240 var scope= {}; 251 var scope = {
252 $watch: function() {},
253 };
241 var focaAbmVendedorCobradorService = { 254 var focaAbmVendedorCobradorService = {
242 getCodigoSiguiente: function() { 255 getCodigoSiguiente: function() {
243 return { 256 return {
244 then: function() { } 257 then: function() { }
245 }; 258 };
246 }, 259 },
247 getVendedorCobradorById: function() { 260 getVendedorCobradorById: function() {
248 return { 261 return {
249 then: function() { } 262 then: function() { }
250 }; 263 };
251 }, 264 },
252 guardarVendedorCobrador: function() { } 265 guardarVendedorCobrador: function() { }
253 }; 266 };
254 $controller('focaAbmVendedorCobradorController', { 267 $controller('focaAbmVendedorCobradorController', {
255 $scope: scope, 268 $scope: scope,
256 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 269 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
257 $routeParams: {}, 270 $routeParams: {},
258 focaBotoneraLateralService: {}, 271 focaBotoneraLateralService: {},
259 $timeout: timeout, 272 $timeout: timeout,
260 $uibModal: {}, 273 $uibModal: {},
261 $location: {}, 274 $location: {},
262 focaModalService: {} 275 $localStorage: {},
276 guardarVendedorCobrador: {},
277 focaModalService: {
278 alert: function() {}
279 }
263 }); 280 });
264 var responseFake = { 281 var responseFake = {
265 then: function() { 282 then: function() {
266 return { 283 return {
267 catch: function() { } 284 catch: function() { }
268 }; 285 };
269 } 286 }
270 }; 287 };
288 scope.vendedorCobrador = {
289 NOM: true,
290 domicilio: true,
291 codigoPostal: true,
292 dni: true,
293 rol: true,
294 provincia: {
295 NOMBRE: true
296 },
297 localidad: {
298 NOMBRE: true
299 },
300 };
271 301
272 //act 302 //act
273 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 303 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
274 .and.returnValue(responseFake); 304 .and.returnValue(responseFake);
275 scope.guardar(); 305 scope.guardar();
276 306
277 //assert 307 //assert
278 expect(focaAbmVendedorCobradorService.guardarVendedorCobrador).toHaveBeenCalled(); 308 expect(focaAbmVendedorCobradorService.guardarVendedorCobrador).toHaveBeenCalled();
279 }); 309 });
280 310
281 it('la función $scope.guardar llama a guardaVendedorCobrador y edicion true' + 311 it('la función $scope.guardar llama a guardaVendedorCobrador y edicion true ' +
282 'llama a $location.path', function(done) 312 'llama a $location.path', function(done)
283 { 313 {
284 inject(function($location) { 314 inject(function($location) {
285 315
286 //arrange 316 //arrange
287 var scope= {}; 317 var scope= {
318 $watch: function(){},
319 };
288 var focaAbmVendedorCobradorService = { 320 var focaAbmVendedorCobradorService = {
289 getCodigoSiguiente: function() { 321 getCodigoSiguiente: function() {
290 return { 322 return {
291 then: function() { } 323 then: function() { }
292 }; 324 };
293 }, 325 },
294 getVendedorCobradorById: function() { 326 getVendedorCobradorById: function() {
295 return { 327 return {
296 then: function() { } 328 then: function() { }
297 }; 329 };
298 }, 330 },
299 guardarVendedorCobrador: function() { } 331 guardarVendedorCobrador: function() { }
300 }; 332 };
301 $controller('focaAbmVendedorCobradorController', { 333 $controller('focaAbmVendedorCobradorController', {
302 $scope: scope, 334 $scope: scope,
303 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 335 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
304 $routeParams: {}, 336 $routeParams: {},
305 focaBotoneraLateralService: {}, 337 focaBotoneraLateralService: {},
306 $timeout: timeout, 338 $timeout: timeout,
307 $uibModal: {}, 339 $uibModal: {},
308 $location: $location, 340 $location: $location,
309 focaModalService: {} 341 $localStorage: {},
342 focaModalService: {
343 alert: function() {}
344 }
310 }); 345 });
311 var promiseFake = Promise.resolve(true, false); 346 var promiseFake = Promise.resolve(true, false);
312 347
348 scope.vendedorCobrador = {
349 NOM: true,
350 domicilio: true,
351 codigoPostal: true,
352 dni: true,
353 rol: true,
354 provincia: {
355 NOMBRE: true
356 },
357 localidad: {
358 NOMBRE: true
359 },
360 };
361
313 //act 362 //act
314 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 363 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
315 .and.returnValue(promiseFake); 364 .and.returnValue(promiseFake);
316 scope.edicion = true; 365 scope.edicion = true;
317 scope.guardar(); 366 scope.guardar();
318 367
319 //assert 368 //assert
320 promiseFake.then(function() { 369 promiseFake.then(function() {
321 expect($location.url()).toEqual('/vendedor-cobrador'); 370 expect($location.url()).toEqual('/vendedor-cobrador');
322 done(); 371 done();
323 }); 372 });
324 }); 373 });
325 }); 374 });
326 375
327 it('la función $scope.guardar llama a guardaVendedorCobrador y scope.edicion false' + 376 it('la función $scope.guardar llama a guardaVendedorCobrador y scope.edicion false ' +
328 'llama a scope.cambiarContraseña', function(done) 377 'llama a scope.cambiarContraseña', function(done)
329 { 378 {
330 //arrange 379 //arrange
331 var scope= {}; 380 var scope= {
381 $watch: function() {}
382 };
332 var focaAbmVendedorCobradorService = { 383 var focaAbmVendedorCobradorService = {
333 getCodigoSiguiente: function() { 384 getCodigoSiguiente: function() {
334 return { 385 return {
335 then: function() { } 386 then: function() { }
336 }; 387 };
337 }, 388 },
338 getVendedorCobradorById: function() { 389 getVendedorCobradorById: function() {
339 return { 390 return {
340 then: function() { } 391 then: function() { }
341 }; 392 };
342 }, 393 },
343 guardarVendedorCobrador: function() { } 394 guardarVendedorCobrador: function() { }
344 }; 395 };
345 $controller('focaAbmVendedorCobradorController', { 396 $controller('focaAbmVendedorCobradorController', {
346 $scope: scope, 397 $scope: scope,
347 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 398 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
348 $routeParams: {}, 399 $routeParams: {},
349 focaBotoneraLateralService: {}, 400 focaBotoneraLateralService: {},
350 $timeout: timeout, 401 $timeout: timeout,
351 $uibModal: {}, 402 $uibModal: {},
352 $location: {}, 403 $location: {},
353 focaModalService: {} 404 $localStorage: {},
405 focaModalService: {
406 alert: function() {}
407 }
354 }); 408 });
355 var promiseFake = Promise.resolve(true, false); 409 var promiseFake = Promise.resolve(true, false);
356 410
411 scope.vendedorCobrador = {
412 NOM: true,
413 domicilio: true,
414 codigoPostal: true,
415 dni: true,
416 rol: true,
417 provincia: {
418 NOMBRE: true
419 },
420 localidad: {
421 NOMBRE: true
422 },
423 };
424
357 //act 425 //act
358 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 426 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
359 .and.returnValue(promiseFake); 427 .and.returnValue(promiseFake);
360 spyOn(scope, 'cambiarPassword'); 428 spyOn(scope, 'cambiarPassword');
361 scope.edicion = false; 429 scope.edicion = false;
362 scope.guardar(); 430 scope.guardar();
363 431
364 //assert 432 //assert
365 promiseFake.then(function() { 433 promiseFake.then(function() {
366 expect(scope.cambiarPassword).toHaveBeenCalled(); 434 expect(scope.cambiarPassword).toHaveBeenCalled();
367 done(); 435 done();
368 }); 436 });
369 }); 437 });
370 438
371 it('la función $scope.guardar llama a guardaVendedorCobrador y llama foca modal alert' + 439 it('la función $scope.guardar llama a guardaVendedorCobrador y llama foca modal alert' +
372 'cuando la promsa es rechazada y el error es 409', function(done) 440 'cuando la promesa es rechazada y el error es 409', function(done)
373 { 441 {
374 //arrange 442 //arrange
375 var scope= {}; 443 var scope= {
444 $watch: function() {}
445 };
376 var focaAbmVendedorCobradorService = { 446 var focaAbmVendedorCobradorService = {
377 getCodigoSiguiente: function() { 447 getCodigoSiguiente: function() {
378 return { 448 return {
379 then: function() { } 449 then: function() { }
380 }; 450 };
381 }, 451 },
382 getVendedorCobradorById: function() { 452 getVendedorCobradorById: function() {
383 return { 453 return {
384 then: function() { } 454 then: function() { }
385 }; 455 };
386 }, 456 },
387 guardarVendedorCobrador: function() { } 457 guardarVendedorCobrador: function() { }
388 }; 458 };
389 var focaModalService = { 459 var focaModalService = {
390 alert: function() { } 460 alert: function() { }
391 }; 461 };
392 $controller('focaAbmVendedorCobradorController', { 462 $controller('focaAbmVendedorCobradorController', {
393 $scope: scope, 463 $scope: scope,
394 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 464 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
395 $routeParams: {}, 465 $routeParams: {},
396 focaBotoneraLateralService: {}, 466 focaBotoneraLateralService: {},
397 $timeout: timeout, 467 $timeout: timeout,
398 $uibModal: {}, 468 $uibModal: {},
399 $location: {}, 469 $location: {},
470 $localStorage: {},
400 focaModalService: focaModalService 471 focaModalService: focaModalService
401 }); 472 });
402 var promiseFake = Promise.reject({ status: 409 }); 473 var promiseFake = Promise.reject({ status: 409 });
403 474
404 //act 475 //act
405 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador') 476 spyOn(focaAbmVendedorCobradorService, 'guardarVendedorCobrador')
406 .and.returnValue(promiseFake); 477 .and.returnValue(promiseFake);
407 spyOn(focaModalService, 'alert'); 478 spyOn(focaModalService, 'alert');
408 scope.guardar(); 479 scope.guardar();
409 480
410 //assert 481 //assert
411 promiseFake.catch(function() { 482 promiseFake.catch(function() {
412 setTimeout(function() { 483 setTimeout(function() {
413 expect(focaModalService.alert).toHaveBeenCalled(); 484 expect(focaModalService.alert).toHaveBeenCalled();
414 done(); 485 done();
415 }, 100); 486 }, 100);
416 }); 487 });
417 }); 488 });
418 489
419 it('la función $scope.seleccionarProvincia llama a foca Modal', function() { 490 it('la función $scope.seleccionarProvincia llama a foca Modal', function() {
420 //arrange 491 //arrange
421 var scope= {}; 492 var scope= {
493 $watch: function() {}
494 };
422 var focaAbmVendedorCobradorService = { 495 var focaAbmVendedorCobradorService = {
423 getCodigoSiguiente: function() { 496 getCodigoSiguiente: function() {
424 return { 497 return {
425 then: function() { } 498 then: function() { }
426 }; 499 };
427 }, 500 },
428 getVendedorCobradorById: function() { 501 getVendedorCobradorById: function() {
429 return { 502 return {
430 then: function() { } 503 then: function() { }
431 }; 504 };
432 }, 505 },
433 }; 506 };
434 var focaModalService = { 507 var focaModalService = {
435 modal: function() { } 508 modal: function() { }
436 }; 509 };
437 $controller('focaAbmVendedorCobradorController', { 510 $controller('focaAbmVendedorCobradorController', {
438 $scope: scope, 511 $scope: scope,
439 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 512 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
440 $routeParams: {}, 513 $routeParams: {},
441 focaBotoneraLateralService: {}, 514 focaBotoneraLateralService: {},
442 $timeout: timeout, 515 $timeout: timeout,
443 $uibModal: {}, 516 $uibModal: {},
444 $location: {}, 517 $location: {},
518 $localStorage: {},
445 focaModalService: focaModalService 519 focaModalService: focaModalService
446 }); 520 });
447 521
448 //act 522 //act
449 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } }); 523 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } });
450 scope.seleccionarProvincia(13); 524 scope.seleccionarProvincia(13);
451 525
452 //assert 526 //assert
453 expect(focaModalService.modal).toHaveBeenCalled(); 527 expect(focaModalService.modal).toHaveBeenCalled();
454 }); 528 });
455 529
456 it('función $scope.seleccionarLocalidad llama foca alert si no hay provincia', function() { 530 it('función $scope.seleccionarLocalidad llama foca alert si no hay provincia', function() {
457 //arrange 531 //arrange
458 var scope= {}; 532 var scope = {
533 $watch: function() {}
534 };
459 var focaAbmVendedorCobradorService = { 535 var focaAbmVendedorCobradorService = {
460 getCodigoSiguiente: function() { 536 getCodigoSiguiente: function() {
461 return { 537 return {
462 then: function() { } 538 then: function() { }
463 }; 539 };
464 }, 540 },
465 getVendedorCobradorById: function() { 541 getVendedorCobradorById: function() {
466 return { 542 return {
467 then: function() { } 543 then: function() { }
468 }; 544 };
469 }, 545 },
470 }; 546 };
471 var focaModalService = { 547 var focaModalService = {
472 alert: function() { } 548 alert: function() { }
473 }; 549 };
474 $controller('focaAbmVendedorCobradorController', { 550 $controller('focaAbmVendedorCobradorController', {
475 $scope: scope, 551 $scope: scope,
476 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 552 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
477 $routeParams: {}, 553 $routeParams: {},
478 focaBotoneraLateralService: {}, 554 focaBotoneraLateralService: {},
479 $timeout: timeout, 555 $timeout: timeout,
480 $uibModal: {}, 556 $uibModal: {},
481 $location: {}, 557 $location: {},
558 $localStorage: {},
482 focaModalService: focaModalService 559 focaModalService: focaModalService
483 }); 560 });
484 561
485 //act 562 //act
486 spyOn(focaModalService, 'alert'); 563 spyOn(focaModalService, 'alert');
487 scope.vendedorCobrador.provincia.ID = false; 564 scope.vendedorCobrador.provincia.ID = false;
488 scope.seleccionarLocalidad(); 565 scope.seleccionarLocalidad();
489 566
490 //assert 567 //assert
491 expect(focaModalService.alert).toHaveBeenCalled(); 568 expect(focaModalService.alert).toHaveBeenCalled();
492 }); 569 });
493 570
494 it('función $scope.seleccionarLocalidad llama foca modal', function() { 571 it('función $scope.seleccionarLocalidad llama foca modal', function() {
495 //arrange 572 //arrange
496 var scope= {}; 573 var scope= {
574 $watch: function() {}
575 };
497 var focaAbmVendedorCobradorService = { 576 var focaAbmVendedorCobradorService = {
498 getCodigoSiguiente: function() { 577 getCodigoSiguiente: function() {
499 return { 578 return {
500 then: function() { } 579 then: function() { }
501 }; 580 };
502 }, 581 },
503 getVendedorCobradorById: function() { 582 getVendedorCobradorById: function() {
504 return { 583 return {
505 then: function() { } 584 then: function() { }
506 }; 585 };
507 }, 586 },
508 }; 587 };
509 var focaModalService = { 588 var focaModalService = {
510 modal: function() { } 589 modal: function() { }
511 }; 590 };
512 $controller('focaAbmVendedorCobradorController', { 591 $controller('focaAbmVendedorCobradorController', {
513 $scope: scope, 592 $scope: scope,
514 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService, 593 focaAbmVendedorCobradorService: focaAbmVendedorCobradorService,
515 $routeParams: {}, 594 $routeParams: {},
516 focaBotoneraLateralService: {}, 595 focaBotoneraLateralService: {},
517 $timeout: timeout, 596 $timeout: timeout,
518 $uibModal: {}, 597 $uibModal: {},
519 $location: {}, 598 $location: {},
599 $localStorage: {},
520 focaModalService: focaModalService 600 focaModalService: focaModalService
521 }); 601 });
522 602
523 //act 603 //act
524 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } }); 604 spyOn(focaModalService, 'modal').and.returnValue({ then: function() { } });
525 scope.vendedorCobrador.provincia.ID = true; 605 scope.vendedorCobrador.provincia.ID = true;
526 scope.seleccionarLocalidad(13); 606 scope.seleccionarLocalidad(13);
527 607
528 //assert 608 //assert
529 expect(focaModalService.modal).toHaveBeenCalled(); 609 expect(focaModalService.modal).toHaveBeenCalled();
530 }); 610 });
531 611
532 it('la función scope.cancelar lleva a location correcte', function() { 612 it('la función scope.cancelar lleva a location correcte', function() {
533 613
534 inject(function($location) { 614 inject(function($location) {
535 //arrange 615 //arrange
536 var scope = {}; 616 var scope = {
617 $watch: function() {}
618 };
537 $controller('focaAbmVendedorCobradorController', { 619 $controller('focaAbmVendedorCobradorController', {
538 $scope: scope, 620 $scope: scope,
539 focaAbmVendedorCobradorService: { 621 focaAbmVendedorCobradorService: {
540 getCodigoSiguiente: function() { 622 getCodigoSiguiente: function() {
541 return { 623 return {
542 then: function() { } 624 then: function() { }
543 }; 625 };
544 }, 626 },
545 getVendedorCobradorById: function() { 627 getVendedorCobradorById: function() {
546 return { 628 return {
547 then: function() { } 629 then: function() { }
548 }; 630 };
549 } 631 }
550 }, 632 },
551 $routeParams: {}, 633 $routeParams: {},
552 focaBotoneraLateralService: {}, 634 focaBotoneraLateralService: {},
553 $timeout: timeout, 635 $timeout: timeout,
554 $uibModal: {}, 636 $uibModal: {},
555 $location: $location, 637 $location: $location,
638 $localStorage: {},
556 focaModalService: {} 639 focaModalService: {}
557 }); 640 });
558 641
559 //act 642 //act
560 scope.formVendedorCobrador = { 643 scope.formVendedorCobrador = {
561 $pristine: true 644 $pristine: true
562 }; 645 };
563 scope.cancelar(); 646 scope.cancelar();
564 647
565 //assert 648 //assert
566 expect($location.url()).toEqual('/vendedor-cobrador'); 649 expect($location.url()).toEqual('/vendedor-cobrador');
567 }); 650 });
568 }); 651 });
569 652
570 it('la funcion scope.next suma uno a scope.focused', function() { 653 it('la funcion scope.next suma uno a scope.focused', function() {
571 654
572 //arrange 655 //arrange
573 var scope = {}; 656 var scope = {
657 $watch: function() {}
658 };
574 $controller('focaAbmVendedorCobradorController', { 659 $controller('focaAbmVendedorCobradorController', {
575 $scope: scope, 660 $scope: scope,
576 focaAbmVendedorCobradorService: { 661 focaAbmVendedorCobradorService: {
577 getCodigoSiguiente: function() { 662 getCodigoSiguiente: function() {
578 return { 663 return {
579 then: function() { } 664 then: function() { }
580 }; 665 };
581 }, 666 },
582 getVendedorCobradorById: function() { 667 getVendedorCobradorById: function() {
583 return { 668 return {
584 then: function() { } 669 then: function() { }
585 }; 670 };
586 } 671 }
587 }, 672 },
588 $routeParams: {}, 673 $routeParams: {},
589 focaBotoneraLateralService: {}, 674 focaBotoneraLateralService: {},
590 $timeout: timeout, 675 $timeout: timeout,
591 $uibModal: {}, 676 $uibModal: {},
592 $location: {}, 677 $location: {},
678 $localStorage: {},
593 focaModalService: {} 679 focaModalService: {}
594 }); 680 });
595 681
596 //act 682 //act
597 var esperado = scope.focused + 1; 683 var esperado = scope.focused + 1;
598 scope.next(13); 684 scope.next(13);
599 685
600 //assert 686 //assert
601 expect(scope.focused).toEqual(esperado); 687 expect(scope.focused).toEqual(esperado);
602 }); 688 });
603 689
604 it('la funcion scope.cambiarPassword abre modal', function() { 690 it('la funcion scope.cambiarPassword abre modal', function() {
605 691
606 //arrange 692 //arrange
607 var scope = {}; 693 var scope = {
694 $watch: function() {}
695 };
608 var uibModal = { 696 var uibModal = {
609 open: function() { } 697 open: function() { }
610 }; 698 };
611 $controller('focaAbmVendedorCobradorController', { 699 $controller('focaAbmVendedorCobradorController', {
612 $scope: scope, 700 $scope: scope,
613 focaAbmVendedorCobradorService: { 701 focaAbmVendedorCobradorService: {
614 getCodigoSiguiente: function() { 702 getCodigoSiguiente: function() {
615 return { 703 return {
616 then: function() { } 704 then: function() { }
617 }; 705 };
618 }, 706 },
619 getVendedorCobradorById: function() { 707 getVendedorCobradorById: function() {
620 return { 708 return {
621 then: function() { } 709 then: function() { }
622 }; 710 };
623 } 711 }
624 }, 712 },
625 $routeParams: {}, 713 $routeParams: {},
626 focaBotoneraLateralService: {}, 714 focaBotoneraLateralService: {},
627 $timeout: timeout, 715 $timeout: timeout,
628 $uibModal: uibModal, 716 $uibModal: uibModal,
629 $location: {}, 717 $location: {},
718 $localStorage: {},
630 focaModalService: {} 719 focaModalService: {}
631 }); 720 });
632 var responseFake = { 721 var responseFake = {
633 result: { 722 result: {
634 then: function() { } 723 then: function() { }
635 } 724 }
636 }; 725 };
637 726
638 //act 727 //act
639 spyOn(uibModal, 'open').and.returnValue(responseFake); 728 spyOn(uibModal, 'open').and.returnValue(responseFake);
640 scope.cambiarPassword(); 729 scope.cambiarPassword();
641 730
642 //assert 731 //assert
643 expect(uibModal.open).toHaveBeenCalled(); 732 expect(uibModal.open).toHaveBeenCalled();
644 }); 733 });
645 734
646 it('la funcion scope.cambiarPassword abre modal y llama a location cuando edicion es ' + 735 it('la funcion scope.cambiarPassword abre modal y llama a location cuando edicion es ' +
647 'falso', function(done) 736 'falso', function(done)
648 { 737 {
649 inject(function($location) { 738 inject(function($location) {
650 739
651 //arrange 740 //arrange
652 var scope = {}; 741 var scope = {
742 $watch: function() {}
743 };
653 var uibModal = { 744 var uibModal = {
654 open: function() { } 745 open: function() { }
655 }; 746 };
656 $controller('focaAbmVendedorCobradorController', { 747 $controller('focaAbmVendedorCobradorController', {
657 $scope: scope, 748 $scope: scope,
658 focaAbmVendedorCobradorService: { 749 focaAbmVendedorCobradorService: {
659 getCodigoSiguiente: function() { 750 getCodigoSiguiente: function() {
660 return { 751 return {
661 then: function() { } 752 then: function() { }
662 }; 753 };
663 }, 754 },
664 getVendedorCobradorById: function() { 755 getVendedorCobradorById: function() {
665 return { 756 return {
666 then: function() { } 757 then: function() { }
667 }; 758 };
668 } 759 }
669 }, 760 },
670 $routeParams: {}, 761 $routeParams: {},
671 focaBotoneraLateralService: {}, 762 focaBotoneraLateralService: {},
672 $timeout: timeout, 763 $timeout: timeout,
673 $uibModal: uibModal, 764 $uibModal: uibModal,
674 $location: $location, 765 $location: $location,
766 $localStorage: {},
675 focaModalService: {} 767 focaModalService: {}
676 }); 768 });
677 var responseFake = { 769 var responseFake = {
678 result: Promise.resolve(true) 770 result: Promise.resolve(true)
679 }; 771 };
680 772
681 //act 773 //act
682 spyOn(uibModal, 'open').and.returnValue(responseFake); 774 spyOn(uibModal, 'open').and.returnValue(responseFake);
683 scope.edicion = false; 775 scope.edicion = false;
684 scope.cambiarPassword(); 776 scope.cambiarPassword();
685 777
686 //assert 778 //assert
687 responseFake.result.then(function() { 779 responseFake.result.then(function() {
688 expect($location.url()).toEqual('/vendedor-cobrador'); 780 expect($location.url()).toEqual('/vendedor-cobrador');
689 done(); 781 done();
690 }); 782 });
691 }); 783 });
692 }); 784 });
693 }); 785 });
694 }); 786 });
695 787
src/js/controller.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedoresCobradoresController', [ 2 .controller('focaAbmVendedoresCobradoresController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter', 3 '$scope', 'focaAbmVendedorCobradorService', '$location', '$filter',
4 'focaBotoneraLateralService', 'focaModalService', 4 'focaBotoneraLateralService', 'focaModalService', '$localStorage',
5 function($scope, focaAbmVendedorCobradorService, $location, $filter, 5 function($scope, focaAbmVendedorCobradorService, $location, $filter,
6 focaBotoneraLateralService, focaModalService) { 6 focaBotoneraLateralService, focaModalService, $localStorage) {
7 $scope.now = new Date(); 7 $scope.now = new Date();
8 $scope.vendedoresCobradores = []; 8 $scope.vendedoresCobradores = [];
9 $scope.filters = ''; 9 $scope.filters = '';
10 $scope.numPerPage = 10; 10 $scope.numPerPage = 10;
11 $scope.currentPageVendedoresCobradores = []; 11 $scope.currentPageVendedoresCobradores = [];
12 $scope.vendedoresCobradores = []; 12 $scope.vendedoresCobradores = [];
13 13
14 //SETEO BOTONERA LATERAL 14 //SETEO BOTONERA LATERAL
15 focaBotoneraLateralService.showSalir(true); 15 focaBotoneraLateralService.showSalir(true);
16 focaBotoneraLateralService.showPausar(false); 16 focaBotoneraLateralService.showPausar(false);
17 focaBotoneraLateralService.showCancelar(false); 17 focaBotoneraLateralService.showCancelar(false);
18 focaBotoneraLateralService.showGuardar(false); 18 focaBotoneraLateralService.showGuardar(false);
19 19
20
21
20 $scope.editar = function(id) { 22 $scope.editar = function(id) {
21 $location.path('/vendedor-cobrador/' + id); 23 $location.path('/vendedor-cobrador/' + id);
22 }; 24 };
23 25
24 $scope.eliminar = function(vendedorCobrador) { 26 $scope.eliminar = function(vendedorCobrador) {
25 var tipo = !!(vendedorCobrador.rol | 2) ? 'cobrador' : 'vendedor'; 27 var tipo = !!(vendedorCobrador.rol | 2) ? 'cobrador' : 'vendedor';
26 focaModalService.confirm('¿Está seguro que desea borrar el ' + tipo + 28 focaModalService.confirm('¿Está seguro que desea borrar el ' + tipo +
27 ' ' + vendedorCobrador.NOM + '?') 29 ' ' + vendedorCobrador.NOM + '?')
28 .then(function(data) { 30 .then(function(data) {
29 if(data) { 31 if (data) {
30 focaAbmVendedorCobradorService 32 focaAbmVendedorCobradorService
31 .eliminarVendedorCobrador(vendedorCobrador.id) 33 .eliminarVendedorCobrador(vendedorCobrador.id)
32 .then(function() { 34 .then(function() {
33 $scope.search(13); 35 $scope.search(13);
34 }); 36 });
35 } 37 }
36 }); 38 });
37 }; 39 };
38 40
39 $scope.selectPage = function(page) { 41 $scope.selectPage = function(page) {
40 var start = (page - 1) * $scope.numPerPage; 42 var start = (page - 1) * $scope.numPerPage;
41 var end = start + $scope.numPerPage; 43 var end = start + $scope.numPerPage;
42 $scope.paginas = []; 44 $scope.paginas = [];
43 $scope.paginas = calcularPages(page); 45 $scope.paginas = calcularPages(page);
44 $scope.currentPageVendedoresCobradores = 46 $scope.currentPageVendedoresCobradores =
45 $scope.vendedoresCobradores.slice(start, end); 47 $scope.vendedoresCobradores.slice(start, end);
46 $scope.currentPage = page; 48 $scope.currentPage = page;
47 }; 49 };
48 50
49 $scope.resetPage = function() { 51 $scope.resetPage = function() {
50 $scope.currentPage = 1; 52 $scope.currentPage = 1;
51 $scope.selectPage(1); 53 $scope.selectPage(1);
52 }; 54 };
53 55
54 $scope.search = function(key) { 56 $scope.search = function(key) {
55 if(key !== 13) return; 57 if (key !== 13) return;
56 58
57 focaAbmVendedorCobradorService 59 focaAbmVendedorCobradorService
58 .getVendedoresCobradores($scope.filters) 60 .getVendedoresCobradores($scope.filters)
59 .then(function(res) { 61 .then(function(res) {
60 $scope.vendedoresCobradores = res.data; 62 $scope.vendedoresCobradores = res.data;
61 63
62 $scope.lastPage = Math.ceil( 64 $scope.lastPage = Math.ceil(
63 $scope.vendedoresCobradores.length / $scope.numPerPage 65 $scope.vendedoresCobradores.length / $scope.numPerPage
64 ); 66 );
65 67
66 $scope.resetPage(); 68 $scope.resetPage();
67 }); 69 });
68 }; 70 };
69 71
72 if ($localStorage.vendedorCobrador) {
73 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador);
74 $location.path('/vendedor-cobrador/' + vendedorCobrador.NUM);
75 }
76
70 function calcularPages(paginaActual) { 77 function calcularPages(paginaActual) {
71 var paginas = []; 78 var paginas = [];
72 paginas.push(paginaActual); 79 paginas.push(paginaActual);
73 80
74 if(paginaActual - 1 > 1) { 81 if (paginaActual - 1 > 1) {
75 82
76 paginas.unshift(paginaActual - 1); 83 paginas.unshift(paginaActual - 1);
77 if(paginaActual - 2 > 1) { 84 if (paginaActual - 2 > 1) {
78 paginas.unshift(paginaActual - 2); 85 paginas.unshift(paginaActual - 2);
79 } 86 }
80 } 87 }
81 88
82 if(paginaActual + 1 < $scope.lastPage) { 89 if (paginaActual + 1 < $scope.lastPage) {
83 paginas.push(paginaActual + 1); 90 paginas.push(paginaActual + 1);
84 if(paginaActual + 2 < $scope.lastPage) { 91 if (paginaActual + 2 < $scope.lastPage) {
85 paginas.push(paginaActual + 2); 92 paginas.push(paginaActual + 2);
86 } 93 }
87 } 94 }
88 95
89 if(paginaActual !== 1) { 96 if (paginaActual !== 1) {
90 paginas.unshift(1); 97 paginas.unshift(1);
91 } 98 }
92 99
93 if(paginaActual !== $scope.lastPage) { 100 if (paginaActual !== $scope.lastPage) {
94 paginas.push($scope.lastPage); 101 paginas.push($scope.lastPage);
95 } 102 }
96
97 return paginas; 103 return paginas;
98 } 104 }
105
99 // TODO: descomentar cuando se use 106 // TODO: descomentar cuando se use
100 // function primera() { 107 // function primera() {
101 // $scope.selectedClientes = 0; 108 // $scope.selectedClientes = 0;
102 // } 109 // }
103 110
104 // function anterior() { 111 // function anterior() {
105 // if ($scope.selectedClientes === 0 && $scope.currentPage > 1) { 112 // if ($scope.selectedClientes === 0 && $scope.currentPage > 1) {
106 // retrocederPagina(); 113 // retrocederPagina();
107 // } else { 114 // } else {
108 // $scope.selectedClientes--; 115 // $scope.selectedClientes--;
109 // } 116 // }
110 // } 117 // }
111 118
112 // function siguiente() { 119 // function siguiente() {
113 // if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 ) 120 // if ($scope.selectedClientes < $scope.currentPageVendedoresCobradores.length - 1 )
114 //{ 121 //{
115 // $scope.selectedClientes++; 122 // $scope.selectedClientes++;
116 // } else { 123 // } else {
117 // avanzarPagina(); 124 // avanzarPagina();
118 // } 125 // }
119 // } 126 // }
120 127
121 // function retrocederPagina() { 128 // function retrocederPagina() {
122 // if ($scope.currentPage > 1) { 129 // if ($scope.currentPage > 1) {
123 // $scope.selectPage($scope.currentPage - 1); 130 // $scope.selectPage($scope.currentPage - 1);
124 // $scope.selectedClientes = $scope.numPerPage - 1; 131 // $scope.selectedClientes = $scope.numPerPage - 1;
125 // } 132 // }
126 // } 133 // }
127 134
128 // function avanzarPagina() { 135 // function avanzarPagina() {
129 // if ($scope.currentPage < $scope.lastPage) { 136 // if ($scope.currentPage < $scope.lastPage) {
130 // $scope.selectPage($scope.currentPage + 1); 137 // $scope.selectPage($scope.currentPage + 1);
131 // $scope.selectedClientes = 0; 138 // $scope.selectedClientes = 0;
132 // } 139 // }
133 // } 140 // }
134 } 141 }
135 ]); 142 ]);
src/js/controllerItem.js
1 angular.module('focaAbmVendedorCobrador') 1 angular.module('focaAbmVendedorCobrador')
2 .controller('focaAbmVendedorCobradorController', [ 2 .controller('focaAbmVendedorCobradorController', [
3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService', 3 '$scope', 'focaAbmVendedorCobradorService', '$routeParams', 'focaBotoneraLateralService',
4 '$timeout', '$uibModal', '$location', 'focaModalService', 4 '$timeout', '$uibModal', '$location', 'focaModalService', '$localStorage', '$filter',
5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService, 5 function($scope, focaAbmVendedorCobradorService, $routeParams, focaBotoneraLateralService,
6 $timeout, $uibModal, $location, focaModalService) { 6 $timeout, $uibModal, $location, focaModalService, $localStorage, $filter) {
7 7
8 $scope.guardado = false; 8 $scope.guardado = false;
9 $scope.now = new Date(); 9 $scope.now = new Date();
10 $scope.focused = 0; 10 $scope.focused = 0;
11 $scope.vendedorCobrador = { 11 $scope.vendedorCobrador = {
12 dni: '', 12 dni: '',
13 CNET: '0', 13 CNET: '0',
14 CFIN: '0', 14 CFIN: '0',
15 CCOB: '0', 15 CCOB: '0',
16 comisionVendedor: '0.00', 16 comisionVendedor: '0.00',
17 comisionCobrador: '0.00', 17 comisionCobrador: '0.00',
18 provincia: { 18 provincia: {
19 NOMBRE: '' 19 NOMBRE: ''
20 }, 20 },
21 localidad: { 21 localidad: {
22 NOMBRE: '' 22 NOMBRE: ''
23 }, 23 },
24 rol: '' 24 rol: ''
25 }; 25 };
26 $scope.options = [ 26 $scope.options = [
27 { 27 {
28 label: 'Vendedor', 28 label: 'Vendedor',
29 value: 1 29 value: 1
30 }, 30 },
31 { 31 {
32 label: 'Cobrador', 32 label: 'Cobrador',
33 value: 2 33 value: 2
34 }, 34 },
35 { 35 {
36 label: 'Vendedor y cobrador', 36 label: 'Vendedor y cobrador',
37 value: 3 37 value: 3
38 } 38 }
39 ]; 39 ];
40 //SETEO BOTONERA LATERAL 40 //SETEO BOTONERA LATERAL
41 $timeout(function() { 41 $timeout(function() {
42 focaBotoneraLateralService.showSalir(false); 42 focaBotoneraLateralService.showSalir(false);
43 focaBotoneraLateralService.showPausar(true); 43 focaBotoneraLateralService.showPausar(true);
44 focaBotoneraLateralService.showCancelar(false); 44 focaBotoneraLateralService.showCancelar(false);
45 focaBotoneraLateralService.showGuardar(true, $scope.guardar); 45 focaBotoneraLateralService.showGuardar(true, $scope.guardar);
46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar); 46 focaBotoneraLateralService.addCustomButton('Salir', $scope.cancelar);
47 }); 47 });
48
49 $timeout(function() {getLSVendedor();});
50
48 focaAbmVendedorCobradorService 51 focaAbmVendedorCobradorService
49 .getCodigoSiguiente() 52 .getCodigoSiguiente()
50 .then(function(res) { 53 .then(function(res) {
51 $scope.vendedorCobrador.NUM = res.data.mayor; 54 $scope.vendedorCobrador.NUM = res.data.mayor;
52 }); 55 });
53 56
54 focaAbmVendedorCobradorService 57 focaAbmVendedorCobradorService
55 .getVendedorCobradorById($routeParams.id) 58 .getVendedorCobradorById($routeParams.id)
56 .then(function(res) { 59 .then(function(res) {
57 if (res.data) { 60 if (res.data) {
58 $scope.edicion = true; 61 $scope.edicion = true;
59 $scope.vendedorCobrador = res.data; 62 $scope.vendedorCobrador = res.data;
60 } 63 }
61 }); 64 });
62 65
63 $scope.guardar = function() { 66 $scope.guardar = function() {
64 67
65 if (!$scope.vendedorCobrador.NOM) { 68 if (!$scope.vendedorCobrador.NOM) {
66 focaModalService.alert('Ingrese nombre'); 69 focaModalService.alert('Ingrese nombre');
67 return; 70 return;
68 } else if (!$scope.vendedorCobrador.domicilio) { 71 } else if (!$scope.vendedorCobrador.domicilio) {
69 focaModalService.alert('Ingrese domicilio'); 72 focaModalService.alert('Ingrese domicilio');
70 return; 73 return;
71 } else if (!$scope.vendedorCobrador.codigoPostal) { 74 } else if (!$scope.vendedorCobrador.codigoPostal) {
72 focaModalService.alert('Ingrese código postal'); 75 focaModalService.alert('Ingrese código postal');
73 return; 76 return;
74 } else if (!$scope.vendedorCobrador.dni) { 77 } else if (!$scope.vendedorCobrador.dni) {
75 focaModalService.alert('Ingrese dni'); 78 focaModalService.alert('Ingrese dni');
76 return; 79 return;
77 } else if (!$scope.vendedorCobrador.rol) { 80 } else if (!$scope.vendedorCobrador.rol) {
78 focaModalService.alert('Seleccione tipo'); 81 focaModalService.alert('Seleccione tipo');
79 return; 82 return;
80 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) { 83 } else if (!$scope.vendedorCobrador.provincia.NOMBRE) {
81 focaModalService.alert('Seleccione una Provincia'); 84 focaModalService.alert('Seleccione una provincia');
82 return; 85 return;
83 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) { 86 } else if (!$scope.vendedorCobrador.localidad.NOMBRE) {
84 focaModalService.alert('Seleccione una Localidad'); 87 focaModalService.alert('Seleccione una localidad');
88 return;
89 } else if (!isNaN($scope.vendedorCobrador.comisionCobrador) ||
90 !isNaN($scope.vendedorCobrador.comisionVendedor)) {
91 focaModalService.alert('Ingrese una comision válida');
85 return; 92 return;
86 } 93 }
87 94
88 if ($scope.guardado) { 95 if ($scope.guardado) {
89 $scope.cambiarPassword(); 96 $scope.cambiarPassword();
90 } else { 97 } else {
91 98
92 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 99 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
93 100
94 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID; 101 vendedorCobrador.idProvincia = vendedorCobrador.provincia.ID;
95 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID; 102 vendedorCobrador.idLocalidad = vendedorCobrador.localidad.ID;
96 103
97 delete vendedorCobrador.provincia; 104 delete vendedorCobrador.provincia;
98 delete vendedorCobrador.localidad; 105 delete vendedorCobrador.localidad;
99 if (vendedorCobrador.rol == 1) { 106 if (vendedorCobrador.rol == 1) {
100 delete vendedorCobrador.comisionCobrador; 107 delete vendedorCobrador.comisionCobrador;
101 } else if (vendedorCobrador.rol == 2) { 108 } else if (vendedorCobrador.rol == 2) {
102 delete vendedorCobrador.comisionVendedor; 109 delete vendedorCobrador.comisionVendedor;
103 } 110 }
104 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar'; 111 vendedorCobrador.metodo = ($routeParams.id === '0') ? 'crear' : 'actualizar';
105 112
106 focaAbmVendedorCobradorService 113 focaAbmVendedorCobradorService
107 .guardarVendedorCobrador(vendedorCobrador) 114 .guardarVendedorCobrador(vendedorCobrador)
108 .then(function(res) { 115 .then(function(res) {
109 if ($scope.edicion) { 116 if ($scope.edicion) {
110 $location.path('/vendedor-cobrador'); 117 $location.path('/vendedor-cobrador');
111 } else { 118 } else {
112 $scope.vendedorCobrador = res.data; 119 $scope.vendedorCobrador = res.data;
113 $scope.cambiarPassword(); 120 $scope.cambiarPassword();
114 $scope.guardado = true; 121 $scope.guardado = true;
115 } 122 }
116 }) 123 })
117 .catch(function(err) { 124 .catch(function(err) {
118 if (err.status === 409) { 125 if (err.status === 409) {
119 focaModalService.alert(err.data); 126 focaModalService.alert(err.data);
120 } 127 }
121 }); 128 });
122 } 129 }
123 }; 130 };
124 131
125 $scope.seleccionarProvincia = function(key) { 132 $scope.seleccionarProvincia = function(key) {
126 if (key === 13) { 133 if (key === 13) {
127 var parametrosModal = { 134 var parametrosModal = {
135 searchText: $scope.vendedorCobrador.provincia.NOMBRE,
128 query: '/provincia', 136 query: '/provincia',
129 columnas: [ 137 columnas: [
130 { 138 {
131 propiedad: 'ID', 139 propiedad: 'ID',
132 nombre: 'Codigo', 140 nombre: 'Codigo',
133 filtro: { 141 filtro: {
134 nombre: 'rellenarDigitos', 142 nombre: 'rellenarDigitos',
135 parametro: 3 143 parametro: 3
136 } 144 }
137 }, 145 },
138 { 146 {
139 propiedad: 'NOMBRE', 147 propiedad: 'NOMBRE',
140 nombre: 'Nombre' 148 nombre: 'Nombre'
141 } 149 }
142 ], 150 ],
143 titulo: 'Búsqueda de provincias', 151 titulo: 'Búsqueda de provincias',
144 size: 'md' 152 size: 'md'
145 }; 153 };
146 focaModalService.modal(parametrosModal).then(function(provincia) { 154 focaModalService.modal(parametrosModal).then(function(provincia) {
147 $scope.vendedorCobrador.provincia = provincia; 155 $scope.vendedorCobrador.provincia = provincia;
148 $timeout(function() { 156 $timeout(function() {
149 $scope.focused = 5; 157 $scope.focused = 5;
150 }); 158 });
151 }, function() { 159 }, function() {
152 //TODO: función llamada cuando cancela el modal 160 //TODO: función llamada cuando cancela el modal
153 }); 161 });
154 } 162 }
155 }; 163 };
164
156 $scope.seleccionarLocalidad = function(key) { 165 $scope.seleccionarLocalidad = function(key) {
157 if (!$scope.vendedorCobrador.provincia.ID) { 166 if (!$scope.vendedorCobrador.provincia.ID) {
158 focaModalService.alert('Seleccione una provincia'); 167 focaModalService.alert('Seleccione una provincia');
159 return; 168 return;
160 } 169 }
161 if (key === 13) { 170 if (key === 13) {
162 var parametrosModal = { 171 var parametrosModal = {
172 searchText: $scope.vendedorCobrador.localidad.NOMBRE,
163 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID, 173 query: '/localidad/' + $scope.vendedorCobrador.provincia.ID,
164 columnas: [ 174 columnas: [
165 { 175 {
166 propiedad: 'ID', 176 propiedad: 'ID',
167 nombre: 'Código', 177 nombre: 'Código',
168 filtro: { 178 filtro: {
169 nombre: 'rellenarDigitos', 179 nombre: 'rellenarDigitos',
170 parametro: 3 180 parametro: 3
171 } 181 }
172 }, 182 },
173 { 183 {
174 propiedad: 'NOMBRE', 184 propiedad: 'NOMBRE',
175 nombre: 'Nombre' 185 nombre: 'Nombre'
176 } 186 }
177 ], 187 ],
178 titulo: 'Búsqueda de localidades', 188 titulo: 'Búsqueda de localidades',
179 size: 'md' 189 size: 'md'
180 }; 190 };
181 focaModalService.modal(parametrosModal).then(function(localidad) { 191 focaModalService.modal(parametrosModal).then(function(localidad) {
182 $scope.vendedorCobrador.localidad = localidad; 192 $scope.vendedorCobrador.localidad = localidad;
183 $timeout(function() { 193 $timeout(function() {
184 $scope.focused = 6; 194 $scope.focused = 6;
185 }); 195 });
186 }, function() { 196 }, function() {
187 //TODO: función llamada cuando cancela el modal 197 //TODO: función llamada cuando cancela el modal
188 }); 198 });
189 } 199 }
190 }; 200 };
191 201
202 $scope.$watch('vendedorCobrador', function(newValue) {
203 focaBotoneraLateralService.setPausarData({
204 label:'vendedorCobrador',
205 val: newValue
206 });
207 }, true);
208
209 function getLSVendedor() {
210 var vendedorCobrador = JSON.parse($localStorage.vendedorCobrador || null);
211 if (vendedorCobrador) {
212 setearVendedor(vendedorCobrador);
213 delete $localStorage.vendedorCobrador;
214 }
215 }
216
217 function setearVendedor(vendedorCobrador) {
218 $scope.vendedorCobrador = vendedorCobrador;
219 $scope.$broadcast('addCabecera', {
220 label: 'Vendedor / Cobrador:',
221 valor: $filter('rellenarDigitos')(vendedorCobrador.NUM, 2) + ' - ' + vendedorCobrador.NOM
222 });
223 }
224
192 $scope.cancelar = function() { 225 $scope.cancelar = function() {
193 if (!$scope.formVendedorCobrador.$pristine) { 226 if (!$scope.formVendedorCobrador.$pristine) {
194 227
195 focaModalService.confirm('¿Está seguro de que desea salir?' + 228 focaModalService.confirm('¿Está seguro de que desea salir?' +
196 'Se perderán todos los datos cargados.') 229 'Se perderán todos los datos cargados.')
197 .then(function(confirmed) { 230 .then(function(confirmed) {
198 if (confirmed && $scope.guardado && !$scope.edicion) { 231 if (confirmed && $scope.guardado && !$scope.edicion) {
199 232
200 focaAbmVendedorCobradorService 233 focaAbmVendedorCobradorService
201 .destroyVendedorCobrador($scope.vendedorCobrador.id) 234 .destroyVendedorCobrador($scope.vendedorCobrador.id)
202 .then(function() { 235 .then(function() {
203 $location.path('/vendedor-cobrador'); 236 $location.path('/vendedor-cobrador');
204 }); 237 });
205 238
206 } else if (confirmed) { 239 } else if (confirmed) {
207 $location.path('/vendedor-cobrador'); 240 $location.path('/vendedor-cobrador');
208 } 241 }
209 }); 242 });
210 243
211 } else { 244 } else {
212 $location.path('/vendedor-cobrador'); 245 $location.path('/vendedor-cobrador');
213 } 246 }
214 }; 247 };
215 248
216 $scope.next = function(key) { 249 $scope.next = function(key) {
217 if (key === 13) $scope.focused++; 250 if (key === 13) $scope.focused++;
218 }; 251 };
219 252
220 $scope.cambiarPassword = function() { 253 $scope.cambiarPassword = function() {
221 var vendedorCobrador = angular.copy($scope.vendedorCobrador); 254 var vendedorCobrador = angular.copy($scope.vendedorCobrador);
222 vendedorCobrador.nombre = vendedorCobrador.NOM; 255 vendedorCobrador.nombre = vendedorCobrador.NOM;
223 vendedorCobrador.codigo = vendedorCobrador.NUM; 256 vendedorCobrador.codigo = vendedorCobrador.NUM;
224 257
225 var parametros = { 258 var parametros = {
226 cuenta: vendedorCobrador, 259 cuenta: vendedorCobrador,
227 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores' 260 tipo: ($scope.vendedorCobrador.rol === 2) ? 'Cobradores' : 'Vendedores'
228 }; 261 };
229 262
230 var modalInstance = $uibModal.open( 263 var modalInstance = $uibModal.open(
231 { 264 {
232 ariaLabelledBy: 'Configuracion de Logueo', 265 ariaLabelledBy: 'Configuracion de Logueo',
233 templateUrl: 'modal-login.html', 266 templateUrl: 'modal-login.html',
234 controller: 'focaModalLoginController', 267 controller: 'focaModalLoginController',
235 size: 'md', 268 size: 'md',
236 resolve: { 269 resolve: {
237 parametros: function() { 270 parametros: function() {
238 return parametros; 271 return parametros;
239 } 272 }
240 } 273 }
241 } 274 }
242 ); 275 );
243 276
244 modalInstance.result.then(function() { 277 modalInstance.result.then(function() {
245 if (!$scope.edicion) $location.path('/vendedor-cobrador'); 278 if (!$scope.edicion) $location.path('/vendedor-cobrador');
246 }); 279 });
247 280
248 }; 281 };
249 } 282 }
250 ]); 283 ]);
251 284
src/views/foca-abm-vendedor-cobrador-item.html
1 <div class="row"> 1 <div class="row">
2 <foca-cabecera-facturador 2 <foca-cabecera-facturador
3 titulo="'Vendedores / Cobradores'" 3 titulo="'Vendedores / Cobradores'"
4 fecha="now" 4 fecha="now"
5 class="mb-0 col-lg-12" 5 class="mb-0 col-lg-12"
6 ></foca-cabecera-facturador> 6 ></foca-cabecera-facturador>
7 </div> 7 </div>
8 <div class="row"> 8 <div class="row">
9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded"> 9 <div class="col-12 col-md-10 p-0 mt-4 border border-white rounded">
10 <form name="formVendedorCobrador" class="px-3" autocomplete="off"> 10 <form name="formVendedorCobrador" class="px-3" autocomplete="off">
11 <div class="row mt-3"> 11 <div class="row mt-3">
12 <div class="form-group d-flex mb-2 col-md-6"> 12 <div class="form-group d-flex mb-2 col-md-6">
13 <label class="col-form-label col-md-4">Código</label> 13 <label class="col-form-label col-md-4">Código</label>
14 <div class="col-md-8 pl-0"> 14 <div class="col-md-8 pl-0">
15 <input 15 <input
16 class="form-control form-control-sm" 16 class="form-control form-control-sm"
17 ng-model="vendedorCobrador.NUM" 17 ng-model="vendedorCobrador.NUM"
18 ng-disabled="edicion"/> 18 ng-disabled="edicion"/>
19 </div> 19 </div>
20 </div> 20 </div>
21 <div class="form-group d-flex mb-2 col-md-6"> 21 <div class="form-group d-flex mb-2 col-md-6">
22 <label class="col-form-label col-md-4">Tipo</label> 22 <label class="col-form-label col-md-4">Tipo</label>
23 <div class="col-md-8 pl-0"> 23 <div class="col-md-8 pl-0">
24 <select 24 <select
25 class="form-control form-control-sm" 25 class="form-control form-control-sm"
26 ng-model="vendedorCobrador.rol" 26 ng-model="vendedorCobrador.rol"
27 ng-options="option.value as option.label for option in options" 27 ng-options="option.value as option.label for option in options"
28 foca-focus="focused == 0" 28 foca-focus="focused == 0"
29 ng-focus="focused = 0"> 29 ng-focus="focused = 0">
30 </select> 30 </select>
31 </div> 31 </div>
32 </div> 32 </div>
33 <div class="form-group d-flex mb-2 col-md-6"> 33 <div class="form-group d-flex mb-2 col-md-6">
34 <label class="col-form-label col-md-4">Nombre</label> 34 <label class="col-form-label col-md-4">Nombre</label>
35 <div class="input-group col-md-8 pl-0"> 35 <div class="input-group col-md-8 pl-0">
36 <input 36 <input
37 class="form-control form-control-sm" 37 class="form-control form-control-sm"
38 type="text" 38 type="text"
39 teclado-virtual 39 teclado-virtual
40 ng-model="vendedorCobrador.NOM" 40 ng-model="vendedorCobrador.NOM"
41 foca-focus="focused == 1" 41 foca-focus="focused == 1"
42 ng-focus="focused = 1" 42 ng-focus="focused = 1"
43 ng-keypress="next($event.keyCode)" 43 ng-keypress="next($event.keyCode)"
44 autocomplete="off" 44 autocomplete="off"
45 uppercase-only 45 uppercase-only
46 46
47 /> 47 />
48 </div> 48 </div>
49 </div> 49 </div>
50 <div class="form-group d-flex mb-2 col-md-6"> 50 <div class="form-group d-flex mb-2 col-md-6">
51 <label class="col-form-label col-md-4">Domicilio</label> 51 <label class="col-form-label col-md-4">Domicilio</label>
52 <div class="input-group col-md-8 pl-0"> 52 <div class="input-group col-md-8 pl-0">
53 <input 53 <input
54 class="form-control form-control-sm" 54 class="form-control form-control-sm"
55 type="text" 55 type="text"
56 teclado-virtual 56 teclado-virtual
57 ng-model="vendedorCobrador.domicilio" 57 ng-model="vendedorCobrador.domicilio"
58 ng-required="true" 58 ng-required="true"
59 foca-focus="focused == 2" 59 foca-focus="focused == 2"
60 ng-focus="focused = 2" 60 ng-focus="focused = 2"
61 ng-keypress="next($event.keyCode)" 61 ng-keypress="next($event.keyCode)"
62 autocomplete="off" 62 autocomplete="off"
63 uppercase-only 63 uppercase-only
64 /> 64 />
65 </div> 65 </div>
66 </div> 66 </div>
67 <div class="form-group d-flex mb-2 col-md-6"> 67 <div class="form-group d-flex mb-2 col-md-6">
68 <label class="col-form-label col-md-4">Código postal</label> 68 <label class="col-form-label col-md-4">Código postal</label>
69 <div class="input-group col-md-8 pl-0"> 69 <div class="input-group col-md-8 pl-0">
70 <input 70 <input
71 class="form-control form-control-sm" 71 class="form-control form-control-sm"
72 foca-tipo-input 72 foca-tipo-input
73 teclado-virtual 73 teclado-virtual
74 ng-model="vendedorCobrador.codigoPostal" 74 ng-model="vendedorCobrador.codigoPostal"
75 ng-required="true" 75 ng-required="true"
76 foca-focus="focused == 3" 76 foca-focus="focused == 3"
77 ng-focus="focused = 3" 77 ng-focus="focused = 3"
78 ng-keypress="next($event.keyCode)" 78 ng-keypress="next($event.keyCode)"
79 autocomplete="off" 79 autocomplete="off"
80 string-to-number 80 string-to-number
81 /> 81 />
82 </div> 82 </div>
83 </div> 83 </div>
84 <div class="form-group d-flex mb-2 col-md-6"> 84 <div class="form-group d-flex mb-2 col-md-6">
85 <label class="col-form-label col-md-4">Provincia</label> 85 <label class="col-form-label col-md-4">Provincia</label>
86 <div class="input-group col-md-8 pl-0"> 86 <div class="input-group col-md-8 pl-0">
87 <input 87 <input
88 type="text" 88 type="text"
89 class="form-control form-control-sm" 89 class="form-control form-control-sm"
90 ng-model="vendedorCobrador.provincia.NOMBRE" 90 ng-model="vendedorCobrador.provincia.NOMBRE"
91 ng-keypress="seleccionarProvincia($event.keyCode)" 91 ng-keypress="seleccionarProvincia($event.keyCode)"
92 ng-required="true" 92 ng-required="true"
93 foca-focus="focused == 4" 93 foca-focus="focused == 4"
94 ng-focus="focused = 4" 94 ng-focus="focused = 4"
95 teclado-virtual 95 teclado-virtual
96 /> 96 />
97 <div class="input-group-append"> 97 <div class="input-group-append">
98 <button 98 <button
99 ladda="searchLoading" 99 ladda="searchLoading"
100 class="btn btn-outline-secondary form-control-sm" 100 class="btn btn-outline-secondary form-control-sm"
101 type="button" 101 type="button"
102 ng-click="seleccionarProvincia(13)" 102 ng-click="seleccionarProvincia(13)"
103 > 103 >
104 <i class="fa fa-search" aria-hidden="true"></i> 104 <i class="fa fa-search" aria-hidden="true"></i>
105 </button> 105 </button>
106 </div> 106 </div>
107 </div> 107 </div>
108 </div> 108 </div>
109 <div class="form-group d-flex mb-2 col-md-6"> 109 <div class="form-group d-flex mb-2 col-md-6">
110 <label class="col-form-label col-md-4">Localidad</label> 110 <label class="col-form-label col-md-4">Localidad</label>
111 <div class="input-group col-md-8 pl-0"> 111 <div class="input-group col-md-8 pl-0">
112 <input 112 <input
113 type="text" 113 type="text"
114 class="form-control form-control-sm" 114 class="form-control form-control-sm"
115 ng-model="vendedorCobrador.localidad.NOMBRE" 115 ng-model="vendedorCobrador.localidad.NOMBRE"
116 ng-keypress="seleccionarLocalidad($event.keyCode)" 116 ng-keypress="seleccionarLocalidad($event.keyCode)"
117 ng-required="true" 117 ng-required="true"
118 foca-focus="focused == 5" 118 foca-focus="focused == 5"
119 ng-focus="focused = 5" 119 ng-focus="focused = 5"
120 teclado-virtual 120 teclado-virtual
121 autocomplete="off" 121 autocomplete="off"
122 /> 122 />
123 <div class="input-group-append"> 123 <div class="input-group-append">
124 <button 124 <button
125 ladda="searchLoading" 125 ladda="searchLoading"
126 class="btn btn-outline-secondary form-control-sm" 126 class="btn btn-outline-secondary form-control-sm"
127 type="button" 127 type="button"
128 ng-click="seleccionarLocalidad(13)" 128 ng-click="seleccionarLocalidad(13)"
129 > 129 >
130 <i class="fa fa-search" aria-hidden="true"></i> 130 <i class="fa fa-search" aria-hidden="true"></i>
131 </button> 131 </button>
132 </div> 132 </div>
133 </div> 133 </div>
134 </div> 134 </div>
135 <div class="form-group d-flex mb-2 col-md-6"> 135 <div class="form-group d-flex mb-2 col-md-6">
136 <label class="col-form-label col-md-4">Teléfono</label> 136 <label class="col-form-label col-md-4">Teléfono</label>
137 <div class="input-group col-md-8 pl-0"> 137 <div class="input-group col-md-8 pl-0">
138 <input 138 <input
139 class="form-control form-control-sm" 139 class="form-control form-control-sm"
140 foca-tipo-input 140 foca-tipo-input
141 teclado-virtual 141 teclado-virtual
142 ng-model="vendedorCobrador.telefono" 142 ng-model="vendedorCobrador.telefono"
143 ng-required="true" 143 ng-required="true"
144 foca-focus="focused == 6" 144 foca-focus="focused == 6"
145 ng-focus="focused = 6" 145 ng-focus="focused = 6"
146 ng-keypress="next($event.keyCode)" 146 ng-keypress="next($event.keyCode)"
147 autocomplete="off" 147 autocomplete="off"
148 string-to-number 148 string-to-number
149 /> 149 />
150 </div> 150 </div>
151 </div> 151 </div>
152 <div class="form-group d-flex mb-2 col-md-6"> 152 <div class="form-group d-flex mb-2 col-md-6">
153 <label class="col-form-label col-md-4">DNI</label> 153 <label class="col-form-label col-md-4">DNI</label>
154 <div class="input-group col-md-8 pl-0"> 154 <div class="input-group col-md-8 pl-0">
155 <input 155 <input
156 class="form-control form-control-sm" 156 class="form-control form-control-sm"
157 foca-tipo-input 157 foca-tipo-input
158 teclado-virtual 158 teclado-virtual
159 ng-model="vendedorCobrador.dni" 159 ng-model="vendedorCobrador.dni"
160 ng-required="true" 160 ng-required="true"
161 foca-focus="focused == 7" 161 foca-focus="focused == 7"
162 ng-focus="focused = 7" 162 ng-focus="focused = 7"
163 ng-keypress="next($event.keyCode)" 163 ng-keypress="next($event.keyCode)"
164 autocomplete="off" 164 autocomplete="off"
165 string-to-number 165 string-to-number
166 /> 166 />
167 </div> 167 </div>
168 </div> 168 </div>
169 <div class="form-group d-flex mb-2 col-md-6" 169 <div class="form-group d-flex mb-2 col-md-6"
170 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3"> 170 ng-show="vendedorCobrador.rol == 1 || vendedorCobrador.rol == 3">
171 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label> 171 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">vendedor</span></label>
172 <div class="input-group col-md-8 pl-0"> 172 <div class="input-group col-md-8 pl-0">
173 <input 173 <input
174 class="form-control form-control-sm" 174 class="form-control form-control-sm"
175 foca-tipo-input 175 foca-tipo-input
176 teclado-virtual 176 teclado-virtual
177 ng-model="vendedorCobrador.comisionVendedor" 177 ng-model="vendedorCobrador.comisionVendedor"
178 ng-required="true" 178 ng-required="true"
179 foca-focus="focused == 10" 179 foca-focus="focused == 10"
180 ng-focus="focused = 10" 180 ng-focus="focused = 10"
181 ng-keypress="next($event.keyCode)" 181 ng-keypress="next($event.keyCode)"
182 autocomplete="off" 182 autocomplete="off"
183 string-to-number 183 string-to-number
184 solo-positivo
184 /> 185 />
185 </div> 186 </div>
186 </div> 187 </div>
187 <div class="form-group d-flex mb-2 col-md-6" 188 <div class="form-group d-flex mb-2 col-md-6"
188 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3"> 189 ng-show="vendedorCobrador.rol == 2 || vendedorCobrador.rol == 3">
189 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label> 190 <label class="col-form-label col-md-4">Porcentaje de comisión <span ng-show="vendedorCobrador.rol == 3">cobrador</span></label>
190 <div class="input-group col-md-8 pl-0"> 191 <div class="input-group col-md-8 pl-0">
191 <input 192 <input
192 class="form-control form-control-sm" 193 class="form-control form-control-sm"
193 foca-tipo-input 194 foca-tipo-input
194 teclado-virtual 195 teclado-virtual
195 ng-model="vendedorCobrador.comisionCobrador" 196 ng-model="vendedorCobrador.comisionCobrador"
196 ng-required="true" 197 ng-required="true"
197 foca-focus="focused == 10" 198 foca-focus="focused == 10"
198 ng-focus="focused = 10" 199 ng-focus="focused = 10"
199 ng-keypress="next($event.keyCode)" 200 ng-keypress="next($event.keyCode)"
200 autocomplete="off" 201 autocomplete="off"
201 string-to-number 202 string-to-number
203 solo-positivo
202 /> 204 />
203 </div> 205 </div>
204 </div> 206 </div>
205 <div class="ml-auto w-50"> 207 <div class="ml-auto w-50">
206 <button 208 <button
207 class="btn btn-primary float-right mr-3" 209 class="btn btn-primary float-right mr-3"
208 type="button" 210 type="button"
209 ng-click="cambiarPassword()" 211 ng-click="cambiarPassword()"
210 ng-show="edicion" 212 ng-show="edicion"
211 >Cambiar contraseña</button> 213 >Cambiar contraseña</button>
212 </div> 214 </div>
213 </div> 215 </div>
214 </form> 216 </form>
215 </div> 217 </div>
216 </div> 218 </div>
217 219