controller.js 4.71 KB
angular.module('focaModalCheque')
    .controller('focaModalChequeController', 
        [
            '$filter',
            '$scope',
            '$uibModalInstance',
            '$uibModal',
            'sugerido',
            function($filter, $scope, $uibModalInstance, $uibModal, sugerido) {
                $scope.cheque = {
                    banco: {
                        desbco: ''//Nombre del banco
                    },
                    provincia: {
                        NOMBRE:''
                    },
                    localidad: {
                        NOMBRE: ''
                    },
                    fechaEmision: new Date()
                };
                $scope.focused = 1;

                if(sugerido && sugerido < 0) {
                    $scope.cheque.importe = Math.abs(sugerido);
                }

                $scope.seleccionarBanco = function(key) {
                    if(key === 13) {
                        var modalInstance = $uibModal.open(
                            {
                                ariaLabelledBy: 'Busqueda de Bancos',
                                templateUrl: 'modal-bancos.html',
                                controller: 'focaModalBancoController',
                                size: 'md',
                                resolve: {filters: function() {return $scope.cheque.banco.desbco;}}
                            }
                        );
                        modalInstance.result.then(function(banco) {
                            $scope.cheque.banco = banco;
                            $scope.focused = 2;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.seleccionarProvincia = function(key) {
                    if(key === 13) {
                        var modalInstance = $uibModal.open(
                            {
                                ariaLabelledBy: 'Busqueda de Provincias',
                                templateUrl: 'modal-provincias.html',
                                controller: 'focaModalProvinciaController',
                                size: 'md',
                                resolve: {filters: function() {
                                    return $scope.cheque.provincia.NOMBRE;
                                }}
                            }
                        );
                        modalInstance.result.then(function(provincia) {
                            $scope.cheque.provincia = provincia;
                            $scope.focused = 3;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.seleccionarLocalidad = function(key) {
                    if($scope.cheque.provincia.ID === undefined) {
                        //TODO: Poner modal alert de foca 
                        alert('Seleccione una provincia');
                        return;
                    }
                    if(key === 13) {
                        var modalInstance = $uibModal.open(
                            {
                                ariaLabelledBy: 'Busqueda de Localidades',
                                templateUrl: 'modal-localidades.html',
                                controller: 'focaModalLocalidadController',
                                size: 'md',
                                resolve: {
                                    filters: {
                                        idProvincia: $scope.cheque.provincia.ID,
                                        busqueda: $scope.cheque.localidad.nombre
                                    }
                                }
                            }
                        );
                        modalInstance.result.then(function(localidad) {
                            $scope.cheque.localidad = localidad;
                            $scope.focused = 4;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.aceptar = function() {
                    delete $scope.cheque.provincia.localidades;
                    //TODO: al enviar el importe con punto se pone como mil, no como decimal
                    $scope.cheque.importe = parseFloat($scope.cheque.importe);
                    $uibModalInstance.close($scope.cheque);
                };

                $scope.cancel = function() {
                    $uibModalInstance.dismiss('cancel');
                };
            }
        ]
    );