assemblerpdf 1.0.0__py3-none-any.whl

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.
Files changed (85) hide show
  1. assemblerpdf/__init__.py +16 -0
  2. assemblerpdf/assemblers/__init__.py +9 -0
  3. assemblerpdf/assemblers/base.py +120 -0
  4. assemblerpdf/assemblers/form.py +257 -0
  5. assemblerpdf/assemblers/report.py +44 -0
  6. assemblerpdf/core.py +193 -0
  7. assemblerpdf/fonts/Inter-Bold.ttf +0 -0
  8. assemblerpdf/fonts/Inter-Medium.ttf +0 -0
  9. assemblerpdf/fonts/Inter-Regular.ttf +0 -0
  10. assemblerpdf/img/Logo-unp-rojo.png +0 -0
  11. assemblerpdf/img/logo-mininterior-rojo.jpg +0 -0
  12. assemblerpdf/templates/assemblerpdf/checkbox.html +16 -0
  13. assemblerpdf/templates/assemblerpdf/footer.html +16 -0
  14. assemblerpdf/templates/assemblerpdf/grid_row.html +7 -0
  15. assemblerpdf/templates/assemblerpdf/header.html +19 -0
  16. assemblerpdf/templates/assemblerpdf/input.html +12 -0
  17. assemblerpdf/templates/assemblerpdf/radio.html +14 -0
  18. assemblerpdf/templates/assemblerpdf/section.html +6 -0
  19. assemblerpdf/templates/assemblerpdf/signature.html +14 -0
  20. assemblerpdf/templates/assemblerpdf/style.html +318 -0
  21. assemblerpdf/templates/assemblerpdf/textarea.html +12 -0
  22. assemblerpdf/templates/sistema/anexos.html +38 -0
  23. assemblerpdf/templates/sistema/anexos_limpio.html +52 -0
  24. assemblerpdf/templates/sistema/archivese.html +18 -0
  25. assemblerpdf/templates/sistema/autoriza_envio.html +33 -0
  26. assemblerpdf/templates/sistema/checkbox.html +41 -0
  27. assemblerpdf/templates/sistema/control_cambios.html +43 -0
  28. assemblerpdf/templates/sistema/datos_basicosinf.html +16 -0
  29. assemblerpdf/templates/sistema/datos_ot.html +33 -0
  30. assemblerpdf/templates/sistema/encaso_de.html +5 -0
  31. assemblerpdf/templates/sistema/fiila_dos_check.html +54 -0
  32. assemblerpdf/templates/sistema/fila_cinco_zona.html +54 -0
  33. assemblerpdf/templates/sistema/fila_cuatro.html +20 -0
  34. assemblerpdf/templates/sistema/fila_cuatro_si_no.html +46 -0
  35. assemblerpdf/templates/sistema/fila_cuatro_zona.html +48 -0
  36. assemblerpdf/templates/sistema/fila_dos.html +12 -0
  37. assemblerpdf/templates/sistema/fila_dos_zona.html +40 -0
  38. assemblerpdf/templates/sistema/fila_instructivo.html +16 -0
  39. assemblerpdf/templates/sistema/fila_tres.html +16 -0
  40. assemblerpdf/templates/sistema/fila_tres_checkbox.html +66 -0
  41. assemblerpdf/templates/sistema/fila_tres_zona.html +45 -0
  42. assemblerpdf/templates/sistema/fila_uno.html +8 -0
  43. assemblerpdf/templates/sistema/firma.html +10 -0
  44. assemblerpdf/templates/sistema/firma_doble.html +32 -0
  45. assemblerpdf/templates/sistema/firmaop2.html +17 -0
  46. assemblerpdf/templates/sistema/firmas_oficializacion.html +66 -0
  47. assemblerpdf/templates/sistema/hechos_sobrevinientes.html +261 -0
  48. assemblerpdf/templates/sistema/hechos_sobrevinientes_vacio.html +209 -0
  49. assemblerpdf/templates/sistema/iformfilacuatro.html +20 -0
  50. assemblerpdf/templates/sistema/informacion_doble.html +0 -0
  51. assemblerpdf/templates/sistema/input_2checks.html +98 -0
  52. assemblerpdf/templates/sistema/input_check.html +40 -0
  53. assemblerpdf/templates/sistema/input_checkbox.html +53 -0
  54. assemblerpdf/templates/sistema/input_solitario.html +9 -0
  55. assemblerpdf/templates/sistema/label_input_dos.html +24 -0
  56. assemblerpdf/templates/sistema/leyenda_autoriza_correo.html +8 -0
  57. assemblerpdf/templates/sistema/leyenda_superiol.html +5 -0
  58. assemblerpdf/templates/sistema/logos.html +4 -0
  59. assemblerpdf/templates/sistema/manifiesto.html +41 -0
  60. assemblerpdf/templates/sistema/notificacion_correo.html +14 -0
  61. assemblerpdf/templates/sistema/oficializacion.html +21 -0
  62. assemblerpdf/templates/sistema/pregunta_si_no.html +34 -0
  63. assemblerpdf/templates/sistema/pregunta_tresopciones.html +47 -0
  64. assemblerpdf/templates/sistema/qr_oficializacion.html +7 -0
  65. assemblerpdf/templates/sistema/situacion_amenaza.html +82 -0
  66. assemblerpdf/templates/sistema/style.html +228 -0
  67. assemblerpdf/templates/sistema/subtitulo_icono.html +6 -0
  68. assemblerpdf/templates/sistema/subtitulo_icono_largo.html +6 -0
  69. assemblerpdf/templates/sistema/tabla_doble.html +15 -0
  70. assemblerpdf/templates/sistema/tabla_instructivo.html +12 -0
  71. assemblerpdf/templates/sistema/tabla_matriz_riesgo.html +135 -0
  72. assemblerpdf/templates/sistema/tabla_proyeccion.html +37 -0
  73. assemblerpdf/templates/sistema/tabla_simple.html +187 -0
  74. assemblerpdf/templates/sistema/texarea.html +9 -0
  75. assemblerpdf/templates/sistema/tipo_identificacion.html +55 -0
  76. assemblerpdf/templates/sistema/tipos_checkbox.html +47 -0
  77. assemblerpdf/templates/sistema/titulo.html +6 -0
  78. assemblerpdf/templates/sistema/titulo_logo.html +22 -0
  79. assemblerpdf/templates/sistema/titulo_principal.html +5 -0
  80. assemblerpdf/utils/__init__.py +1 -0
  81. assemblerpdf/utils/template_loader.py +48 -0
  82. assemblerpdf-1.0.0.dist-info/METADATA +86 -0
  83. assemblerpdf-1.0.0.dist-info/RECORD +85 -0
  84. assemblerpdf-1.0.0.dist-info/WHEEL +5 -0
  85. assemblerpdf-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,98 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-i" style="width: {{ ancho3 }};">
4
+ <label>{{ label3 }}</label>
5
+ <input type="text" value="{{ valor3 }}">
6
+ </td>
7
+ <td class="celda-c" style="width: {{ ancho4 }};">
8
+ <label>{{ label4 }}</label>
9
+ <div style="position: relative; height: 35px;">
10
+ <!-- Opción Urbana -->
11
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 200px;">
12
+ <div style="position: relative;">
13
+ {% if valor4 == "Diurna" %}
14
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
15
+ {% else %}
16
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
17
+ {% endif %}
18
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
19
+ Diurna
20
+ </p>
21
+ </div>
22
+ </div>
23
+
24
+ <!-- Opción Rural -->
25
+ <div class="chequeo-i" style="position: absolute; left: 100px; min-width: 200px;">
26
+ <div style="position: relative;">
27
+ {% if valor4 == "noctura" %}
28
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
29
+ {% else %}
30
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
31
+ {% endif %}
32
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
33
+ Nocturna
34
+ </p>
35
+ </div>
36
+ </div>
37
+
38
+ <div class="chequeo-i" style="position: absolute; left: 100px; min-width: 200px;">
39
+ <div style="position: relative;">
40
+ {% if valor4 == "noctura" %}
41
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
42
+ {% else %}
43
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
44
+ {% endif %}
45
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
46
+ Mixto
47
+ </p>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </td>
52
+ <td class="celda-d" style="width: {{ ancho4 }};">
53
+ <label>{{ label4 }}</label>
54
+ <div style="position: relative; height: 35px;">
55
+ <!-- Opción Urbana -->
56
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 200px;">
57
+ <div style="position: relative;">
58
+ {% if valor4 == "Diurna" %}
59
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
60
+ {% else %}
61
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
62
+ {% endif %}
63
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
64
+ {{checkfila2_1}}
65
+ </p>
66
+ </div>
67
+ </div>
68
+
69
+ <!-- Opción Rural -->
70
+ <div class="chequeo-i" style="position: absolute; left: 100px; min-width: 200px;">
71
+ <div style="position: relative;">
72
+ {% if valor4 == "noctura" %}
73
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
74
+ {% else %}
75
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
76
+ {% endif %}
77
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
78
+ {{checkfila2_2}}
79
+ </p>
80
+ </div>
81
+ </div>
82
+
83
+ <div class="chequeo-i" style="position: absolute; left: 100px; min-width: 200px;">
84
+ <div style="position: relative;">
85
+ {% if valor4 == "noctura" %}
86
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
87
+ {% else %}
88
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
89
+ {% endif %}
90
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
91
+ {{checkfila2_3}}
92
+ </p>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </td>
97
+ </tr>
98
+ </table>
@@ -0,0 +1,40 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-i" style="width: {{ ancho1 }};">
4
+ <label>{{ label1 }}</label>
5
+ <input type="text" value="{{ valor1 }}">
6
+ </td>
7
+ <td class="celda-c" style="width: {{ ancho2 }};">
8
+ <label>{{ label2 }}</label>
9
+ <div style="position: relative; height: 35px;">
10
+ <!-- Opción Urbana -->
11
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 200px;">
12
+ <div style="position: relative;">
13
+ {% if valor4 == 1 %}
14
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
15
+ {% else %}
16
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
17
+ {% endif %}
18
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
19
+ {{check1}}
20
+ </p>
21
+ </div>
22
+ </div>
23
+
24
+ <!-- Opción Rural -->
25
+ <div class="chequeo-i" style="position: absolute; left: 150px; min-width: 200px;">
26
+ <div style="position: relative;">
27
+ {% if valor4 == 2 %}
28
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
29
+ {% else %}
30
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
31
+ {% endif %}
32
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
33
+ {{check2}}
34
+ </p>
35
+ </div>
36
+ </div>
37
+ </div>
38
+ </td>
39
+ </tr>
40
+ </table>
@@ -0,0 +1,53 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-i" style="width: {{ ancho3 }};">
4
+ <label>{{ label3 }}</label>
5
+ <input type="text" value="{{ valor3 }}">
6
+ </td>
7
+ <td class="celda-c" style="width: {{ ancho4 }};">
8
+ <label>{{ label4 }}</label>
9
+ <div style="position: relative; height: 35px;">
10
+ <!-- Opción Urbana -->
11
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 200px;">
12
+ <div style="position: relative;">
13
+ {% if valor4 == "Diurna" %}
14
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
15
+ {% else %}
16
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
17
+ {% endif %}
18
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
19
+ Diurna
20
+ </p>
21
+ </div>
22
+ </div>
23
+
24
+ <!-- Opción Rural -->
25
+ <div class="chequeo-i" style="position: absolute; left: 100px; min-width: 200px;">
26
+ <div style="position: relative;">
27
+ {% if valor4 == "noctura" %}
28
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
29
+ {% else %}
30
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
31
+ {% endif %}
32
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
33
+ Nocturna
34
+ </p>
35
+ </div>
36
+ </div>
37
+
38
+ <div class="chequeo-i" style="position: absolute; left: 100px; min-width: 200px;">
39
+ <div style="position: relative;">
40
+ {% if valor4 == "noctura" %}
41
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
42
+ {% else %}
43
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
44
+ {% endif %}
45
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
46
+ Mixto
47
+ </p>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ </td>
52
+ </tr>
53
+ </table>
@@ -0,0 +1,9 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-u" style="width: 960px;">
4
+ <label>{{ label }}</label>
5
+ <input type="text" value="{{ valor }}">
6
+ </td>
7
+ </tr>
8
+ </table>
9
+
@@ -0,0 +1,24 @@
1
+ <div style="position: relative; height: 35px;">
2
+ <table style="position: absolute; right: 0; width: 100%;">
3
+ <tr>
4
+ <td class="celda-i" style="width: {{ ancho1 }};">
5
+ <span style="font-size: 15px; color: #002857;">
6
+ <b>{{ titulo }}</b>
7
+ </span>
8
+ </td>
9
+ <td class="celda-c" style="width: {{ ancho2 }};">
10
+ <input type="text" value="{{ mision }}"
11
+ style="min-height: 30px; width: 100%; font-size: 15px; padding: 4px 8px; border: 1px solid #b0b0b0; border-radius: 4px;">
12
+ </td>
13
+ <td class="celda-c" style="width: {{ ancho3 }};">
14
+ <span style="font-size: 15px; color: #002857;">
15
+ <b>{{ titulo2 }}</b>
16
+ </span>
17
+ </td>
18
+ <td class="celda-d" style="width: {{ ancho4 }};">
19
+ <input type="text" value="{{ mision2 }}"
20
+ style="min-height: 30px; width: 100%; font-size: 15px; padding: 4px 8px; border: 1px solid #b0b0b0; border-radius: 4px;">
21
+ </td>
22
+ </tr>
23
+ </table>
24
+ </div>
@@ -0,0 +1,8 @@
1
+ <div class="columna" style="padding-top: 0px; margin-bottom: 8px;">
2
+ <p style=" font-size: 11px; color: #002857; font-weight: 500; text-align: justify; margin: 0px 20px 0px 20px">
3
+ * En caso de respuesta afirmativa, la UNP informa que durante el desarrollo de la actuación adelantada
4
+ por la Entidad podrá solicitar revocar esta autorización y solicitar por escrito que las notificaciones
5
+ o comunicaciones sucesivas se realicen a través de otros medios previstos en la Ley 1437 de 2011 -
6
+ CPACA.
7
+ </p>
8
+ </div>
@@ -0,0 +1,5 @@
1
+ <div class="columna" style="padding-top: 0px;">
2
+ <p style="font-size: 14px; color: #002857; font-weight: 500; text-align: left; margin: 10px 20px 10px 20px;">
3
+ {{ mensaje }}
4
+ </p>
5
+ </div>
@@ -0,0 +1,4 @@
1
+ <div class="encabezado" style="margin: 5px 20px 5px 20px; min-height: 83px">
2
+ <img src="data:image/png;base64,{{ logo_unp }}" alt="Logo UNP" class="img-izquierda">
3
+ <img src="data:image/jpeg;base64,{{ logo_min }}" alt="Logo MinInterior" class="img-derecha">
4
+ </div>
@@ -0,0 +1,41 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-u" style="width: 980px">
4
+ <p style=" font-size: 11px; color: #002857; text-align:justify ; margin: 0px">
5
+ De conformidad con el numeral 1° del artículo 74 de la Ley 1437 de 2011, frente a la presente resolución procede el RECURSO DE REPOSICIÓN,
6
+ el cual deberá interponerse dentro de los diez (10) días hábiles siguientes a la notificación del acto administrativo,
7
+ señalando expresamente los motivos de inconformidad y aportando las pruebas que se pretende hacer valer.
8
+ (Artículos 76 y 77 de la norma ibidem).
9
+ </p>
10
+ </td>
11
+ </tr>
12
+ </table>
13
+ <div class="subtitulo">
14
+ <i class="fa-solid fa-file"></i>
15
+ <p style=" font-size: 16px; color: #002857; font-weight: 700; text-align: left; margin: 0px">
16
+ {{numeracion}}Términos y Condiciones de la Política de Tratamiento de Datos Personales de la UNP *
17
+ </p>
18
+ </div>
19
+ <div class="especial" style=" width: 96%; margin-top: 10px;">
20
+ <table>
21
+ <tr>
22
+ <td class="celda-i" style="width: 46px;">
23
+ {% if consentimiento %}
24
+ <i class="fa-regular fa-square-check" style="font-size: 30px; color: #ccc;"></i>
25
+ {% else %}
26
+ <i class="fa-regular fa-square" style="font-size: 30px; color: #ccc;"></i>
27
+ {% endif %}
28
+
29
+ </td>
30
+ <td class="celda-d" style="width: 944px">
31
+ <p style="font-size: 15px; color: #002857">
32
+ Manifiesto y acepto que conozco los términos y condiciones de la <b>Política de Tratamiento y
33
+ Protección de Datos
34
+ Personales de la UNP</b> y autorizo el uso de mis datos personales para recibir
35
+ comunicaciones y/o notificaciones
36
+ sobre los trámites relacionados con las actividades misionales adelantadas por la Entidad.
37
+ </p>
38
+ </td>
39
+ </tr>
40
+ </table>
41
+ </div>
@@ -0,0 +1,14 @@
1
+ <table>
2
+ <tr>
3
+ <th>FECHA (DD-MM-AA)</th>
4
+ <th>CORREO ELECTRÓNICO</th>
5
+ <th>OBSERVACIONES</th>
6
+ </tr>
7
+ {% for fila in filas %}
8
+ <tr>
9
+ <td style="text-align: center;">{{ fila.fecha }}</td>
10
+ <td style="text-align: center;">{{ fila.correo }}</td>
11
+ <td style="text-align: center;">{{ fila.observaciones }}</td>
12
+ </tr>
13
+ {% endfor %}
14
+ </table>
@@ -0,0 +1,21 @@
1
+ <div style="margin-bottom: 12px;{% if force_page_break %}page-break-after: always;{% endif %}">
2
+ <table>
3
+ <tr>
4
+ <td class="celda-i" style="width: 323px;">
5
+ <p style="font-size: 12px; color: #969494; font-weight: 500; text-align: left; margin: 0px;">
6
+ Etiquetado:PC<span> {{ codigo }}</span>
7
+ </p>
8
+ </td>
9
+ <td class="celda-c" style="width: 334px;">
10
+ <p style="font-size: 12px; color: #969494; font-weight: 500; text-align: center; margin: 0px;">
11
+ {{ fecha }}
12
+ </p>
13
+ </td>
14
+ <td class="celda-d" style="width: 323px;">
15
+ <p style="font-size: 12px; color: #969494; font-weight: 500; text-align: right; margin: 0px;">
16
+ {{ pagina }}
17
+ </p>
18
+ </td>
19
+ </tr>
20
+ </table>
21
+ </div>
@@ -0,0 +1,34 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-i" style="width: {{ancho_pregunta}}">
4
+ <p style="font-size: 15px; color: #002857; text-align: left; margin: {{margen}}px 0px;">
5
+ {{ pregunta }} *
6
+ </p>
7
+ </td>
8
+ <td class="celda-d" style="width: {{ancho_respuesta}}">
9
+ <div style="position: relative; height: 20px; margin-top: 5px;">
10
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 50%;">
11
+ <div style="position: relative;">
12
+ {% if valor == True %}
13
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
14
+ {% else %}
15
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
16
+ {% endif %}
17
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; margin: 0;">Sí</p>
18
+ </div>
19
+ </div>
20
+ <div class="chequeo-i" style="position: absolute; left: 60px; min-width: 50%;">
21
+ <div style="position: relative;">
22
+ {% if valor == False %}
23
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
24
+ {% else %}
25
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
26
+ {% endif %}
27
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; margin: 0;">No</p>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </td>
32
+ </tr>
33
+ </table>
34
+
@@ -0,0 +1,47 @@
1
+ <table>
2
+ <tr>
3
+ <td class="celda-i" style="width: {{ancho_pregunta}}">
4
+ <p style="font-size: 15px; color: #002857; text-align: left; margin: {{margen}}px 0px;">
5
+ {{ pregunta }} *
6
+ </p>
7
+ </td>
8
+ <td class="celda-d" style="width: {{ancho_respuesta}}">
9
+ <div style="position: relative; height: 35px; margin-top: 5px;">
10
+ <!-- Opción Siempre -->
11
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 100px;">
12
+ <div style="position: relative;">
13
+ {% if valor == True %}
14
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
15
+ {% else %}
16
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
17
+ {% endif %}
18
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; margin: 0; white-space: nowrap;">Siempre</p>
19
+ </div>
20
+ </div>
21
+ <!-- Opción A Veces -->
22
+ <div class="chequeo-i" style="position: absolute; left: 110px; min-width: 100px;">
23
+ <div style="position: relative;">
24
+ {% if valor == "A Veces" %}
25
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
26
+ {% else %}
27
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
28
+ {% endif %}
29
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; margin: 0; white-space: nowrap;">A Veces</p>
30
+ </div>
31
+ </div>
32
+ <!-- Opción Nunca -->
33
+ <div class="chequeo-i" style="position: absolute; left: 220px; min-width: 100px;">
34
+ <div style="position: relative;">
35
+ {% if valor == False %}
36
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
37
+ {% else %}
38
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
39
+ {% endif %}
40
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; margin: 0; white-space: nowrap;">Nunca</p>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </td>
45
+ </tr>
46
+ </table>
47
+
@@ -0,0 +1,7 @@
1
+ <div style="display:flex; justify-content:space-between; align-items:center; padding: 8px 16px; border-top:1px solid #e5e7eb; margin-top: 8px; font-size: 12px; color:#475569;">
2
+ <div>
3
+ <span style="font-weight:700; color:#0f172a;">{{ codigo|default:"DOC-FT-01" }}</span>
4
+ <span style="margin-left:10px;">{{ fecha|default:"Oficialización: --/--/----" }}</span>
5
+ </div>
6
+ <div style="font-weight:700; color:#0f172a;">{{ pagina|default:"Pág. 1 de 1" }}</div>
7
+ <div style="page-break-after: always;"></div>
@@ -0,0 +1,82 @@
1
+ <div class="subtitulo">
2
+ <i class="fa-solid fa-align-left"></i>
3
+ <p style="font-size: 16px; color: #002857; font-weight: 700; text-align: left; margin: 0px">
4
+ Situación de amenaza y medio por el que se presentó
5
+ </p>
6
+ </div>
7
+
8
+ <div class="columna" style="padding-top: 0px;">
9
+ <p style="font-size: 14px; color: #002857; font-weight: 500; text-align: left; margin: 10px 20px 10px 20px">
10
+ {{ pregunta_titulo|default:"81. Situación de amenaza *" }}
11
+ </p>
12
+ </div>
13
+
14
+ <div class="especial-dos" style="margin-bottom: 10px;">
15
+
16
+ <!-- Agrupar las opciones en filas de 3 -->
17
+ {% for i in opciones|length|div:3|add:1|range %}
18
+ {% if opciones|slice:i*3:i*3+3 %}
19
+ <table style="margin-top: 4px;">
20
+ <tr>
21
+ <td class="celda-i" style="width: 980px">
22
+ <div style="position: relative; height: 35px;">
23
+ {% for opcion in opciones|slice:i*3:i*3+3 %}
24
+ {% with index=forloop.counter0 offset=i|mul:3 total_index=offset|add:index %}
25
+ <div class="chequeo-i" style="position: absolute; left: {{ total_index|div:3|mul:300 }}px; min-width: 300px; margin: 0px;">
26
+ <div style="position: relative;">
27
+ {% if seleccionadas and opcion.value in seleccionadas %}
28
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
29
+ {% else %}
30
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
31
+ {% endif %}
32
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
33
+ {{ opcion.label }}
34
+ </p>
35
+ <!-- Input oculto para envío (solo si está marcado) -->
36
+ <input type="checkbox" name="{{ nombre_campo }}" value="{{ opcion.value }}"
37
+ {% if seleccionadas and opcion.value in seleccionadas %}checked{% endif %}
38
+ style="opacity: 0; position: absolute; width: 30px; height: 30px; left: 0; top: 0;">
39
+ </div>
40
+ </div>
41
+ {% endwith %}
42
+ {% endfor %}
43
+ </div>
44
+ </td>
45
+ </tr>
46
+ </table>
47
+ {% endif %}
48
+ {% endfor %}
49
+
50
+ <!-- Opción "Otra" -->
51
+ <table>
52
+ <tr>
53
+ <td class="celda-i" style="width: 156px">
54
+ <div style="position: relative; height: 35px;">
55
+ <div class="chequeo-i" style="position: absolute; left: 0; min-width: 300px;">
56
+ <div style="position: relative;">
57
+ {% if seleccionadas and 'otra' in seleccionadas %}
58
+ <i class="fa-regular fa-square-check" style="position: absolute; left: 0; font-size: 30px; color: #888;"></i>
59
+ {% else %}
60
+ <i class="fa-regular fa-square" style="position: absolute; left: 0; font-size: 30px; color: #ccc;"></i>
61
+ {% endif %}
62
+ <p style="position: absolute; left: 35px; top: 5px; font-size: 15px; color: #002857; text-align: left; margin: 0px;">
63
+ Otra / 82. ¿Cuál?
64
+ </p>
65
+ <input type="checkbox" name="{{ nombre_campo }}" value="otra"
66
+ {% if seleccionadas and 'otra' in seleccionadas %}checked{% endif %}
67
+ style="opacity: 0; position: absolute; width: 30px; height: 30px; left: 0; top: 0;"
68
+ id="{{ nombre_campo }}_otra">
69
+ </div>
70
+ </div>
71
+ </div>
72
+ </td>
73
+ <td class="celda-i" style="width: 300px; display: inline-block; vertical-align: middle;">
74
+ <input type="text" name="{{ nombre_campo }}_texto"
75
+ value="{{ texto_otra|default:'' }}"
76
+ {% if not seleccionadas or 'otra' not in seleccionadas %}disabled{% endif %}
77
+ style="width: 100%; padding: 5px;">
78
+ </td>
79
+ </tr>
80
+ </table>
81
+
82
+ </div>