controller.js 4.24 KB
angular.module('focaModalCheque')
    .controller('focaModalChequeController', 
        [
            '$filter',
            '$scope',
            '$uibModalInstance',
            '$uibModal',
            function($filter, $scope, $uibModalInstance, $uibModal) {
                $scope.cheque = {
                    banco: '',
                    provincia: ''
                };

                $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;}}
                            }
                        );
                        modalInstance.result.then(function(banco) {
                            $scope.cheque.banco = (banco.ID + ' ' + banco.desbco).trim();
                        }, 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;}}
                            }
                        );
                        modalInstance.result.then(function(provincia) {
                            $scope.cheque.provincia = (provincia.ID +
                                ' ' + provincia.NOMBRE).trim();
                            $scope.cheque.idProvincia = provincia.ID;
                        }, function() {
                            //TODO: función llamada cuando cancela el modal
                        });
                    }
                };

                $scope.seleccionarLocalidad = function(key) {
                    if(!$scope.cheque.idProvincia) {
                        //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.idProvincia,
                                        busqueda: $scope.cheque.localidad
                                    }
                                }
                            }
                        );
                        modalInstance.result.then(function(localidad) {
                            $scope.cheque.localidad = (localidad.ID +
                                ' ' + localidad.NOMBRE).trim();
                        }, 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');
                };
            }
        ]
    );