controller.js
4.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
angular.module('focaModal')
.controller('focaModalConfirmController', [
'$uibModalInstance', '$scope', 'textoModal',
function($uibModalInstance, $scope, textoModal) {
$scope.textoModal = textoModal;
$scope.cancelar = function() {
$uibModalInstance.dismiss(false);
};
$scope.aceptar = function() {
$uibModalInstance.close(true);
};
}
])
.controller('focaModalAlertController', [
'$uibModalInstance', '$scope', 'textoModal',
function($uibModalInstance, $scope, textoModal) {
$scope.textoModal = textoModal;
$scope.aceptar = function() {
$uibModalInstance.close(true);
};
}
])
.controller('focaModalFechaController', [
'$uibModalInstance', '$scope', 'parametros',
function($uibModalInstance, $scope, parametros) {
$scope.parametros = parametros;
$scope.fecha = new Date();
$scope.options = {};
if (parametros.minDate) $scope.options.minDate = parametros.minDate;
$scope.cancelar = function() {
$uibModalInstance.dismiss();
};
$scope.aceptar = function() {
$uibModalInstance.close($scope.fecha);
};
}
])
.controller('focaModalPromptController', [
'$uibModalInstance', '$scope', 'options', 'focaModalService',
function($uibModalInstance, $scope, options, focaModalService) {
$scope.options = options;
$scope.cancelar = function() {
$uibModalInstance.dismiss();
};
$scope.aceptar = function(key) {
if (key === 13) {
if (options.email && !validateEmails($scope.options.value)) {
focaModalService.alert('Ingrese email/s válido/s');
return;
}
$uibModalInstance.close($scope.options.value);
}
};
function validateEmails(emails) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
var arr = emails.split(',');
var result = true;
arr.forEach(function(email) {
var val = String(email).trim().toLowerCase();
if (!re.test(val)) result = false;
});
return result;
}
}
])
.controller('focaModalMailController', [
'$scope',
'$uibModalInstance',
'FileSaver',
'Blob',
'focaModalEnviarMailService',
'focaModalService',
'options',
function($scope, $uibModalInstance, FileSaver, Blob,
focaModalEnviarMailService, focaModalService, options) {
var regexMail = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
$scope.descargado = false;
$scope.correoEnviado = false;
$scope.correoNoEnviado = false;
$scope.esperando = false;
$scope.titulo = options.titulo;
$scope.mailCliente = options.envio.mailCliente;
$scope.aceptar = function() {
$uibModalInstance.close();
};
$scope.salir = function() {
$uibModalInstance.close($scope.descargado);
};
$scope.imprimir = function () {
$scope.descargado = true;
$scope.esperando = true;
focaModalEnviarMailService
.imprimirComprobante(options.descarga.url, options.options)
.then(function(res) {
var data = new Blob([res.data], {type: 'application/pdf'});
FileSaver.saveAs(
data,
options.descarga.nombre
);
$scope.esperando = false;
});
};
$scope.enviarCorreo = function(key) {
if (key === 13) {
if (!validarMail()) {
focaModalService.alert('Ingrese email/s válido/s');
return;
}
$scope.descargado = true;
$scope.esperando = true;
Object.assign(options.options, {receiver: $scope.mailCliente});
focaModalEnviarMailService
.enviarCorreo(options.envio.url, options.options)
.then(function() {
$scope.correoEnviado = true;
$scope.esperando = false;
}, function() {
$scope.esperando = false;
$scope.correoNoEnviado = true;
});
}
};
function validarMail() {
var emails = $scope.mailCliente.split(',');
var result = true;
emails.forEach(function(email) {
if (!regexMail.test(email.trim())) result = false;
});
return result;
}
}
]);