parroquia 1.1.29 → 1.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6495f614e5e8d513e19b1495d68ef9c524b2ffd63f547bd48dc0fde367493bda
|
4
|
+
data.tar.gz: 644ea9ee67e656a430f596248c40acbe3ae6b8035392d794b387c6ea398c1bbc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecb0e740466c44d613b5e3c26758d4431ce07c8ea7d7951bcf80bea9b5bd32edfd8d32504f0973139d75e5e54f8d6f2af96a7fc74c8ac5dc577c2809607ab88c
|
7
|
+
data.tar.gz: 66b176a74d73f88c9e338fed8851d1eaaff6f031cfa351abb93582cfc861f9a6752e3149a95beaff8c08efea9fb0c1f8a628f87b0b3fb7b54011ba614937dc5e
|
data/lib/parroquia/main.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'pg'
|
4
4
|
require 'fox16'
|
5
|
+
require 'prawn'
|
5
6
|
include Fox
|
6
7
|
|
7
8
|
class Home < FXMainWindow
|
@@ -46,6 +47,8 @@ class Home < FXMainWindow
|
|
46
47
|
height: 30, x: 460, y: 150)
|
47
48
|
@btncatecismo = FXButton.new(self, 'Catecismo', opts: LAYOUT_EXPLICIT | BUTTON_NORMAL, width: 150,
|
48
49
|
height: 30, x: 460, y: 190)
|
50
|
+
@btnencabezado = FXButton.new(self, 'Encabezado', opts: LAYOUT_EXPLICIT | BUTTON_NORMAL, width: 150,
|
51
|
+
height: 30, x: 460, y: 230)
|
49
52
|
|
50
53
|
# Footer
|
51
54
|
@lblfooter = FXLabel.new(self, 'WebMinds Studio - 2023', opts: LAYOUT_EXPLICIT | JUSTIFY_CENTER_X, width: 700,
|
@@ -77,8 +80,43 @@ class Home < FXMainWindow
|
|
77
80
|
vtncatecismo.create
|
78
81
|
vtncatecismo.show(PLACEMENT_SCREEN)
|
79
82
|
end
|
83
|
+
@btnencabezado.connect(SEL_COMMAND) do
|
84
|
+
seleccionar_directorio
|
85
|
+
imprimir_pdf
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def seleccionar_directorio
|
90
|
+
dialog = FXDirDialog.new(self, 'Seleccionar directorio para guardar PDF')
|
91
|
+
return unless dialog.execute != 0
|
92
|
+
directorio = dialog.getDirectory
|
93
|
+
@archivo_pdf = "#{directorio}/Encabezado.pdf"
|
80
94
|
end
|
81
95
|
|
96
|
+
def imprimir_pdf
|
97
|
+
# Genera el archivo PDF
|
98
|
+
Prawn::Document.generate(@archivo_pdf, margin: [100, 100, 100, 100]) do |pdf|
|
99
|
+
pdf.font 'Helvetica'
|
100
|
+
pdf.font_size 12
|
101
|
+
# Definir tres casos en los que se puede imprimir el certificado y los distintos formatos para bautismo, confirmación y matrimonio
|
102
|
+
# Bautismo
|
103
|
+
# Encabezado
|
104
|
+
pdf.image File.join(File.dirname(__FILE__), './assets/images/arquidiocesisquito.png'), height: 80,
|
105
|
+
position: :absolute, at: [-60, 680]
|
106
|
+
pdf.text_box 'Arquidiócesis de Quito', align: :center, size: 16, style: :bold, at: [10, 670],
|
107
|
+
width: pdf.bounds.width
|
108
|
+
pdf.text_box 'Parroquia Eclesiástica "San Judas Tadeo"', align: :center, size: 14, style: :bold,
|
109
|
+
at: [10, 650], width: pdf.bounds.width
|
110
|
+
pdf.text_box "Jaime Roldós Aguilera, calle Oe13A y N82\nEl Condado, Quito - Ecuador\nTeléfono: 02496446",
|
111
|
+
align: :center, size: 10, at: [10, 630], width: pdf.bounds.width
|
112
|
+
pdf.image File.join(File.dirname(__FILE__), './assets/images/sanjudastadeo.png'), height: 80,
|
113
|
+
position: :absolute, at: [430, 680]
|
114
|
+
# Abre el archivo PDF con el visor de PDF predeterminado del sistema
|
115
|
+
system("xdg-open '#{@archivo_pdf}'")
|
116
|
+
# Mensaje de confirmación
|
117
|
+
FXMessageBox.information(self, MBOX_OK, 'Información', 'El archivo PDF se ha generado correctamente')
|
118
|
+
end
|
119
|
+
end
|
82
120
|
# Nombre del mes
|
83
121
|
def nombre_mes(mes)
|
84
122
|
meses = {
|
@@ -136,7 +136,7 @@ class ActualizarPreBautismal < FXMainWindow
|
|
136
136
|
cedula = @input_cedula.text.empty? ? nil : @input_cedula.text
|
137
137
|
padrino = @input_padrino.text.empty? ? nil : @input_padrino.text
|
138
138
|
cedula_padrino = @input_cedula_padrino.text.empty? ? nil : @input_cedula_padrino.text
|
139
|
-
madrina = @input_madrina.text.empty? ? nil : @input_madrina.
|
139
|
+
madrina = @input_madrina.text.empty? ? nil : @input_madrina.text
|
140
140
|
cedula_madrina = @input_cedula_madrina.text.empty? ? nil : @input_cedula_madrina.text
|
141
141
|
certifica = @input_certifica.text.empty? ? nil : @input_certifica.text
|
142
142
|
|
@@ -143,7 +143,7 @@ class ActualizarPreMatrimonial < FXMainWindow
|
|
143
143
|
# tabla registros_civiles (id, provincia_rc, canton_rc, parroquia_rc, anio_rc, tomo_rc, pagina_rc, acta_rc, fecha_rc)
|
144
144
|
$conn.transaction do
|
145
145
|
$conn.exec(
|
146
|
-
'UPDATE sacramentos SET sacramento = $1, fecha = $2, certifica = $3, testigo_novio = $4, testigo_novia = $5, nombres_novia = $6, apellidos_novia = $7, cedula_novia = $8 WHERE id = $
|
146
|
+
'UPDATE sacramentos SET sacramento = $1, fecha = $2, certifica = $3, testigo_novio = $4, testigo_novia = $5, nombres_novia = $6, apellidos_novia = $7, cedula_novia = $8 WHERE id = $9', [
|
147
147
|
sacramento, fecha, certifica, testigo_novio, testigo_novia, nombres_novia, apellidos_novia, cedula_novia, registro[0]
|
148
148
|
]
|
149
149
|
)
|
@@ -209,10 +209,18 @@ class ResultadosConsulta < FXMainWindow
|
|
209
209
|
if registros_seleccionados.nil? || registros_seleccionados.empty?
|
210
210
|
FXMessageBox.warning(self, MBOX_OK, 'Advertencia', 'No hay registros seleccionados')
|
211
211
|
else
|
212
|
-
|
212
|
+
name_part_1 = registros_seleccionados[0][23] || "" # Check if nil and provide a default value
|
213
|
+
name_part_2 = registros_seleccionados[0][24] || ""
|
214
|
+
name_part_3 = registros_seleccionados[0][1] || ""
|
215
|
+
|
216
|
+
@archivo_pdf = "#{directorio}/#{sanitize_file_name(name_part_1)} #{sanitize_file_name(name_part_2)} - #{sanitize_file_name(name_part_3)}.pdf"
|
213
217
|
end
|
214
218
|
end
|
215
219
|
|
220
|
+
def sanitize_file_name(name)
|
221
|
+
name.gsub(/[^0-9a-zA-Z_\s]/, '_')
|
222
|
+
end
|
223
|
+
|
216
224
|
def imprimir_pdf
|
217
225
|
if registros_seleccionados.empty?
|
218
226
|
FXMessageBox.warning(self, MBOX_OK, 'Advertencia', 'Debe seleccionar al menos un registro')
|