coati-payroll 0.0.11__py3-none-any.whl → 0.0.13__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.
Potentially problematic release.
This version of coati-payroll might be problematic. Click here for more details.
- coati_payroll/__init__.py +7 -17
- coati_payroll/app.py +2 -13
- coati_payroll/audit_helpers.py +2 -13
- coati_payroll/auth.py +2 -13
- coati_payroll/cli.py +17 -14
- coati_payroll/config.py +2 -13
- coati_payroll/demo_data.py +2 -13
- coati_payroll/enums.py +2 -13
- coati_payroll/forms.py +7 -13
- coati_payroll/formula_engine/__init__.py +14 -13
- coati_payroll/formula_engine/ast/__init__.py +16 -1
- coati_payroll/formula_engine/ast/ast_visitor.py +15 -17
- coati_payroll/formula_engine/ast/expression_evaluator.py +12 -14
- coati_payroll/formula_engine/ast/safe_operators.py +16 -15
- coati_payroll/formula_engine/ast/type_converter.py +17 -17
- coati_payroll/formula_engine/data_sources.py +3 -13
- coati_payroll/formula_engine/engine.py +12 -13
- coati_payroll/formula_engine/exceptions.py +13 -13
- coati_payroll/formula_engine/execution/__init__.py +15 -13
- coati_payroll/formula_engine/execution/execution_context.py +12 -13
- coati_payroll/formula_engine/execution/step_executor.py +12 -14
- coati_payroll/formula_engine/execution/variable_store.py +13 -13
- coati_payroll/formula_engine/novelty_codes.py +3 -13
- coati_payroll/formula_engine/results/__init__.py +14 -13
- coati_payroll/formula_engine/results/execution_result.py +47 -35
- coati_payroll/formula_engine/steps/__init__.py +14 -14
- coati_payroll/formula_engine/steps/assignment_step.py +12 -13
- coati_payroll/formula_engine/steps/base_step.py +13 -13
- coati_payroll/formula_engine/steps/calculation_step.py +12 -13
- coati_payroll/formula_engine/steps/conditional_step.py +12 -13
- coati_payroll/formula_engine/steps/step_factory.py +11 -13
- coati_payroll/formula_engine/steps/tax_lookup_step.py +12 -13
- coati_payroll/formula_engine/tables/__init__.py +14 -13
- coati_payroll/formula_engine/tables/bracket_calculator.py +12 -13
- coati_payroll/formula_engine/tables/table_lookup.py +12 -14
- coati_payroll/formula_engine/tables/tax_table.py +13 -13
- coati_payroll/formula_engine/validation/__init__.py +14 -13
- coati_payroll/formula_engine/validation/schema_validator.py +12 -14
- coati_payroll/formula_engine/validation/security_validator.py +12 -13
- coati_payroll/formula_engine/validation/tax_table_validator.py +12 -13
- coati_payroll/formula_engine_examples.py +2 -13
- coati_payroll/i18n.py +2 -13
- coati_payroll/initial_data.py +2 -13
- coati_payroll/interes_engine.py +2 -13
- coati_payroll/liquidacion_engine/__init__.py +2 -13
- coati_payroll/liquidacion_engine/engine.py +2 -13
- coati_payroll/locale_config.py +2 -13
- coati_payroll/migrations/20260125_032900_initial_migration.py +2 -14
- coati_payroll/migrations/__init__.py +2 -13
- coati_payroll/model.py +83 -82
- coati_payroll/nomina_engine/__init__.py +2 -13
- coati_payroll/nomina_engine/calculators/__init__.py +2 -13
- coati_payroll/nomina_engine/calculators/benefit_calculator.py +2 -13
- coati_payroll/nomina_engine/calculators/concept_calculator.py +2 -1
- coati_payroll/nomina_engine/calculators/deduction_calculator.py +2 -13
- coati_payroll/nomina_engine/calculators/exchange_rate_calculator.py +2 -13
- coati_payroll/nomina_engine/calculators/perception_calculator.py +2 -13
- coati_payroll/nomina_engine/calculators/salary_calculator.py +2 -13
- coati_payroll/nomina_engine/domain/__init__.py +2 -13
- coati_payroll/nomina_engine/domain/calculation_items.py +2 -13
- coati_payroll/nomina_engine/domain/employee_calculation.py +2 -13
- coati_payroll/nomina_engine/domain/payroll_context.py +2 -13
- coati_payroll/nomina_engine/engine.py +2 -13
- coati_payroll/nomina_engine/processors/__init__.py +2 -13
- coati_payroll/nomina_engine/processors/accounting_processor.py +2 -13
- coati_payroll/nomina_engine/processors/accumulation_processor.py +2 -13
- coati_payroll/nomina_engine/processors/loan_processor.py +2 -13
- coati_payroll/nomina_engine/processors/novelty_processor.py +2 -13
- coati_payroll/nomina_engine/processors/vacation_processor.py +2 -13
- coati_payroll/nomina_engine/repositories/__init__.py +2 -13
- coati_payroll/nomina_engine/repositories/acumulado_repository.py +2 -13
- coati_payroll/nomina_engine/repositories/base_repository.py +2 -13
- coati_payroll/nomina_engine/repositories/config_repository.py +2 -13
- coati_payroll/nomina_engine/repositories/employee_repository.py +2 -13
- coati_payroll/nomina_engine/repositories/exchange_rate_repository.py +2 -13
- coati_payroll/nomina_engine/repositories/novelty_repository.py +2 -13
- coati_payroll/nomina_engine/repositories/planilla_repository.py +2 -13
- coati_payroll/nomina_engine/results/__init__.py +2 -13
- coati_payroll/nomina_engine/results/error_result.py +2 -13
- coati_payroll/nomina_engine/results/payroll_result.py +2 -13
- coati_payroll/nomina_engine/results/validation_result.py +2 -13
- coati_payroll/nomina_engine/services/__init__.py +2 -13
- coati_payroll/nomina_engine/services/accounting_voucher_service.py +2 -13
- coati_payroll/nomina_engine/services/employee_processing_service.py +2 -13
- coati_payroll/nomina_engine/services/payroll_execution_service.py +2 -13
- coati_payroll/nomina_engine/validators/__init__.py +2 -13
- coati_payroll/nomina_engine/validators/base_validator.py +2 -13
- coati_payroll/nomina_engine/validators/currency_validator.py +2 -13
- coati_payroll/nomina_engine/validators/employee_validator.py +2 -13
- coati_payroll/nomina_engine/validators/period_validator.py +2 -13
- coati_payroll/nomina_engine/validators/planilla_validator.py +2 -13
- coati_payroll/queue/__init__.py +2 -13
- coati_payroll/queue/driver.py +2 -13
- coati_payroll/queue/drivers/__init__.py +2 -13
- coati_payroll/queue/drivers/dramatiq_driver.py +9 -16
- coati_payroll/queue/drivers/huey_driver.py +2 -13
- coati_payroll/queue/drivers/noop_driver.py +2 -13
- coati_payroll/queue/selector.py +2 -13
- coati_payroll/queue/tasks.py +13 -20
- coati_payroll/rate_limiting.py +2 -13
- coati_payroll/rbac.py +12 -19
- coati_payroll/report_engine.py +2 -13
- coati_payroll/report_export.py +2 -13
- coati_payroll/schema_validator.py +2 -13
- coati_payroll/security.py +2 -13
- coati_payroll/static/schema_editor.js +862 -0
- coati_payroll/static/styles.css +5 -0
- coati_payroll/system_reports.py +2 -13
- coati_payroll/templates/auth/login.html +5 -0
- coati_payroll/templates/base.html +5 -1
- coati_payroll/templates/index.html +5 -0
- coati_payroll/templates/macros.html +5 -0
- coati_payroll/templates/modules/calculation_rule/form.html +5 -0
- coati_payroll/templates/modules/calculation_rule/index.html +5 -0
- coati_payroll/templates/modules/calculation_rule/schema_editor.html +292 -974
- coati_payroll/templates/modules/carga_inicial_prestacion/form.html +5 -0
- coati_payroll/templates/modules/carga_inicial_prestacion/index.html +5 -0
- coati_payroll/templates/modules/carga_inicial_prestacion/reporte.html +5 -0
- coati_payroll/templates/modules/config_calculos/index.html +5 -0
- coati_payroll/templates/modules/configuracion/index.html +24 -27
- coati_payroll/templates/modules/currency/form.html +5 -0
- coati_payroll/templates/modules/currency/index.html +5 -0
- coati_payroll/templates/modules/custom_field/form.html +5 -0
- coati_payroll/templates/modules/custom_field/index.html +5 -0
- coati_payroll/templates/modules/deduccion/form.html +5 -0
- coati_payroll/templates/modules/deduccion/index.html +5 -0
- coati_payroll/templates/modules/employee/form.html +5 -0
- coati_payroll/templates/modules/employee/index.html +5 -0
- coati_payroll/templates/modules/empresa/form.html +5 -0
- coati_payroll/templates/modules/empresa/index.html +5 -0
- coati_payroll/templates/modules/exchange_rate/form.html +5 -0
- coati_payroll/templates/modules/exchange_rate/import.html +5 -0
- coati_payroll/templates/modules/exchange_rate/index.html +5 -0
- coati_payroll/templates/modules/liquidacion/index.html +5 -0
- coati_payroll/templates/modules/liquidacion/nueva.html +5 -0
- coati_payroll/templates/modules/liquidacion/ver.html +5 -0
- coati_payroll/templates/modules/payroll_concepts/audit_log.html +5 -0
- coati_payroll/templates/modules/percepcion/form.html +5 -0
- coati_payroll/templates/modules/percepcion/index.html +5 -0
- coati_payroll/templates/modules/planilla/config.html +5 -0
- coati_payroll/templates/modules/planilla/config_deducciones.html +5 -0
- coati_payroll/templates/modules/planilla/config_empleados.html +5 -0
- coati_payroll/templates/modules/planilla/config_percepciones.html +5 -0
- coati_payroll/templates/modules/planilla/config_prestaciones.html +5 -0
- coati_payroll/templates/modules/planilla/config_reglas.html +5 -0
- coati_payroll/templates/modules/planilla/ejecutar_nomina.html +5 -0
- coati_payroll/templates/modules/planilla/form.html +5 -0
- coati_payroll/templates/modules/planilla/index.html +5 -0
- coati_payroll/templates/modules/planilla/listar_nominas.html +5 -0
- coati_payroll/templates/modules/planilla/log_nomina.html +5 -0
- coati_payroll/templates/modules/planilla/novedades/form.html +5 -0
- coati_payroll/templates/modules/planilla/novedades/index.html +5 -0
- coati_payroll/templates/modules/planilla/ver_nomina.html +5 -0
- coati_payroll/templates/modules/planilla/ver_nomina_empleado.html +5 -0
- coati_payroll/templates/modules/plugins/index.html +5 -0
- coati_payroll/templates/modules/prestacion/form.html +5 -0
- coati_payroll/templates/modules/prestacion/index.html +5 -0
- coati_payroll/templates/modules/prestacion_management/dashboard.html +5 -0
- coati_payroll/templates/modules/prestacion_management/initial_balance_bulk.html +5 -0
- coati_payroll/templates/modules/prestamo/approve.html +5 -0
- coati_payroll/templates/modules/prestamo/condonacion.html +5 -0
- coati_payroll/templates/modules/prestamo/detail.html +5 -0
- coati_payroll/templates/modules/prestamo/form.html +5 -0
- coati_payroll/templates/modules/prestamo/index.html +5 -0
- coati_payroll/templates/modules/prestamo/pago_extraordinario.html +5 -0
- coati_payroll/templates/modules/prestamo/tabla_pago_pdf.html +5 -0
- coati_payroll/templates/modules/report/admin_index.html +5 -0
- coati_payroll/templates/modules/report/detail.html +5 -0
- coati_payroll/templates/modules/report/execute.html +5 -0
- coati_payroll/templates/modules/report/index.html +5 -0
- coati_payroll/templates/modules/report/permissions.html +5 -0
- coati_payroll/templates/modules/settings/index.html +5 -0
- coati_payroll/templates/modules/shared/concept_form.html +19 -12
- coati_payroll/templates/modules/shared/concept_index.html +39 -27
- coati_payroll/templates/modules/tipo_planilla/form.html +5 -0
- coati_payroll/templates/modules/tipo_planilla/index.html +5 -0
- coati_payroll/templates/modules/user/form.html +5 -0
- coati_payroll/templates/modules/user/index.html +5 -0
- coati_payroll/templates/modules/user/profile.html +5 -0
- coati_payroll/templates/modules/vacation/account_detail.html +5 -0
- coati_payroll/templates/modules/vacation/account_form.html +5 -0
- coati_payroll/templates/modules/vacation/account_index.html +5 -0
- coati_payroll/templates/modules/vacation/dashboard.html +5 -0
- coati_payroll/templates/modules/vacation/initial_balance_bulk.html +5 -0
- coati_payroll/templates/modules/vacation/initial_balance_form.html +5 -0
- coati_payroll/templates/modules/vacation/leave_request_detail.html +5 -0
- coati_payroll/templates/modules/vacation/leave_request_form.html +5 -0
- coati_payroll/templates/modules/vacation/leave_request_index.html +5 -0
- coati_payroll/templates/modules/vacation/policy_detail.html +5 -0
- coati_payroll/templates/modules/vacation/policy_form.html +5 -0
- coati_payroll/templates/modules/vacation/policy_index.html +5 -0
- coati_payroll/templates/modules/vacation/register_taken_form.html +5 -0
- coati_payroll/translations/en/LC_MESSAGES/messages.mo +0 -0
- coati_payroll/translations/en/LC_MESSAGES/messages.po +2963 -3561
- coati_payroll/vacation_service.py +2 -13
- coati_payroll/version.py +3 -14
- coati_payroll/vistas/__init__.py +2 -13
- coati_payroll/vistas/calculation_rule.py +14 -24
- coati_payroll/vistas/carga_inicial_prestacion.py +2 -13
- coati_payroll/vistas/config_calculos.py +2 -13
- coati_payroll/vistas/configuracion.py +29 -39
- coati_payroll/vistas/constants.py +2 -13
- coati_payroll/vistas/currency.py +2 -13
- coati_payroll/vistas/custom_field.py +2 -13
- coati_payroll/vistas/employee.py +2 -13
- coati_payroll/vistas/empresa.py +2 -13
- coati_payroll/vistas/exchange_rate.py +2 -13
- coati_payroll/vistas/liquidacion.py +2 -13
- coati_payroll/vistas/payroll_concepts.py +2 -13
- coati_payroll/vistas/planilla/__init__.py +2 -13
- coati_payroll/vistas/planilla/association_routes.py +8 -17
- coati_payroll/vistas/planilla/config_routes.py +2 -13
- coati_payroll/vistas/planilla/export_routes.py +28 -35
- coati_payroll/vistas/planilla/helpers/__init__.py +2 -13
- coati_payroll/vistas/planilla/helpers/association_helpers.py +2 -13
- coati_payroll/vistas/planilla/helpers/excel_helpers.py +2 -13
- coati_payroll/vistas/planilla/helpers/form_helpers.py +2 -13
- coati_payroll/vistas/planilla/nomina_routes.py +2 -13
- coati_payroll/vistas/planilla/novedad_routes.py +2 -13
- coati_payroll/vistas/planilla/routes.py +2 -13
- coati_payroll/vistas/planilla/services/__init__.py +2 -13
- coati_payroll/vistas/planilla/services/export_service.py +4 -15
- coati_payroll/vistas/planilla/services/nomina_service.py +2 -13
- coati_payroll/vistas/planilla/services/novedad_service.py +3 -16
- coati_payroll/vistas/planilla/services/planilla_service.py +2 -13
- coati_payroll/vistas/planilla/validators/__init__.py +2 -13
- coati_payroll/vistas/planilla/validators/planilla_validators.py +2 -13
- coati_payroll/vistas/prestacion.py +2 -13
- coati_payroll/vistas/prestamo.py +2 -13
- coati_payroll/vistas/report.py +2 -13
- coati_payroll/vistas/settings.py +2 -13
- coati_payroll/vistas/tipo_planilla.py +2 -13
- coati_payroll/vistas/user.py +2 -13
- coati_payroll/vistas/vacation.py +15 -13
- coati_payroll/wsgi_server.py +37 -0
- {coati_payroll-0.0.11.dist-info → coati_payroll-0.0.13.dist-info}/METADATA +11 -4
- coati_payroll-0.0.13.dist-info/RECORD +248 -0
- coati_payroll/translations/es/LC_MESSAGES/messages.mo +0 -0
- coati_payroll/translations/es/LC_MESSAGES/messages.po +0 -7374
- coati_payroll-0.0.11.dist-info/RECORD +0 -248
- {coati_payroll-0.0.11.dist-info → coati_payroll-0.0.13.dist-info}/LICENSE +0 -0
- {coati_payroll-0.0.11.dist-info → coati_payroll-0.0.13.dist-info}/WHEEL +0 -0
- {coati_payroll-0.0.11.dist-info → coati_payroll-0.0.13.dist-info}/entry_points.txt +0 -0
- {coati_payroll-0.0.11.dist-info → coati_payroll-0.0.13.dist-info}/top_level.txt +0 -0
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
SPDX-FileCopyrightText: 2025 - 2026 BMO Soluciones, S.A.
|
|
4
|
+
-#}
|
|
5
|
+
|
|
1
6
|
{% extends "base.html" %}
|
|
2
7
|
{% from "macros.html" import render_field %}
|
|
3
8
|
|
|
@@ -8,7 +13,8 @@
|
|
|
8
13
|
<nav aria-label="breadcrumb">
|
|
9
14
|
<ol class="breadcrumb">
|
|
10
15
|
<li class="breadcrumb-item">
|
|
11
|
-
<a
|
|
16
|
+
<a
|
|
17
|
+
href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'index') }}">{{ config.plural }}</a>
|
|
12
18
|
</li>
|
|
13
19
|
<li class="breadcrumb-item active" aria-current="page">{{ title }}</li>
|
|
14
20
|
</ol>
|
|
@@ -28,12 +34,12 @@
|
|
|
28
34
|
<div class="card-body">
|
|
29
35
|
<form method="POST" novalidate>
|
|
30
36
|
{{ form.hidden_tag() }}
|
|
31
|
-
|
|
37
|
+
|
|
32
38
|
<!-- Basic Information -->
|
|
33
39
|
<h5 class="border-bottom pb-2 mb-3">
|
|
34
40
|
<i class="bi bi-info-circle me-2"></i>{{ _('Información Básica') }}
|
|
35
41
|
</h5>
|
|
36
|
-
|
|
42
|
+
|
|
37
43
|
<div class="row">
|
|
38
44
|
<div class="col-md-4">
|
|
39
45
|
{{ render_field(form.codigo) }}
|
|
@@ -42,7 +48,7 @@
|
|
|
42
48
|
{{ render_field(form.nombre) }}
|
|
43
49
|
</div>
|
|
44
50
|
</div>
|
|
45
|
-
|
|
51
|
+
|
|
46
52
|
<div class="row">
|
|
47
53
|
<div class="col-12">
|
|
48
54
|
{{ render_field(form.descripcion) }}
|
|
@@ -69,7 +75,7 @@
|
|
|
69
75
|
<h5 class="border-bottom pb-2 mb-3 mt-4">
|
|
70
76
|
<i class="bi bi-calculator me-2"></i>{{ _('Configuración de Cálculo') }}
|
|
71
77
|
</h5>
|
|
72
|
-
|
|
78
|
+
|
|
73
79
|
<div class="row">
|
|
74
80
|
<div class="col-md-4">
|
|
75
81
|
{{ render_field(form.formula_tipo) }}
|
|
@@ -81,7 +87,7 @@
|
|
|
81
87
|
{{ render_field(form.porcentaje) }}
|
|
82
88
|
</div>
|
|
83
89
|
</div>
|
|
84
|
-
|
|
90
|
+
|
|
85
91
|
<div class="row">
|
|
86
92
|
<div class="col-md-6">
|
|
87
93
|
{{ render_field(form.base_calculo) }}
|
|
@@ -105,7 +111,7 @@
|
|
|
105
111
|
<h5 class="border-bottom pb-2 mb-3 mt-4">
|
|
106
112
|
<i class="bi bi-toggles me-2"></i>{{ _('Opciones') }}
|
|
107
113
|
</h5>
|
|
108
|
-
|
|
114
|
+
|
|
109
115
|
<div class="row">
|
|
110
116
|
{% if form.gravable is defined %}
|
|
111
117
|
<div class="col-md-3">
|
|
@@ -132,7 +138,7 @@
|
|
|
132
138
|
</div>
|
|
133
139
|
</div>
|
|
134
140
|
</div>
|
|
135
|
-
|
|
141
|
+
|
|
136
142
|
{% if form.editable_en_nomina is defined %}
|
|
137
143
|
<div class="row">
|
|
138
144
|
<div class="col-md-6">
|
|
@@ -147,7 +153,7 @@
|
|
|
147
153
|
<h5 class="border-bottom pb-2 mb-3 mt-4">
|
|
148
154
|
<i class="bi bi-calendar-range me-2"></i>{{ _('Vigencia') }}
|
|
149
155
|
</h5>
|
|
150
|
-
|
|
156
|
+
|
|
151
157
|
<div class="row">
|
|
152
158
|
{% if form.vigente_desde is defined %}
|
|
153
159
|
<div class="col-md-6">
|
|
@@ -165,7 +171,7 @@
|
|
|
165
171
|
<h5 class="border-bottom pb-2 mb-3 mt-4">
|
|
166
172
|
<i class="bi bi-journal-text me-2"></i>{{ _('Configuración Contable') }}
|
|
167
173
|
</h5>
|
|
168
|
-
|
|
174
|
+
|
|
169
175
|
<div class="row">
|
|
170
176
|
<div class="col-md-4">
|
|
171
177
|
<div class="mb-3">
|
|
@@ -173,7 +179,7 @@
|
|
|
173
179
|
</div>
|
|
174
180
|
</div>
|
|
175
181
|
</div>
|
|
176
|
-
|
|
182
|
+
|
|
177
183
|
<div class="row">
|
|
178
184
|
<div class="col-md-6">
|
|
179
185
|
{{ render_field(form.codigo_cuenta_debe) }}
|
|
@@ -185,7 +191,8 @@
|
|
|
185
191
|
|
|
186
192
|
<!-- Actions -->
|
|
187
193
|
<div class="d-flex justify-content-between mt-4 pt-3 border-top">
|
|
188
|
-
<a href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'index') }}"
|
|
194
|
+
<a href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'index') }}"
|
|
195
|
+
class="btn btn-outline-secondary">
|
|
189
196
|
<i class="bi bi-arrow-left me-1"></i> {{ _('Cancelar') }}
|
|
190
197
|
</a>
|
|
191
198
|
<button type="submit" class="btn btn-primary">
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
{#-
|
|
2
|
+
SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
SPDX-FileCopyrightText: 2025 - 2026 BMO Soluciones, S.A.
|
|
4
|
+
-#}
|
|
5
|
+
|
|
1
6
|
{% extends "base.html" %}
|
|
2
|
-
{% from "macros.html" import render_field %}
|
|
7
|
+
{% from "macros.html" import render_field, render_messages%}
|
|
3
8
|
|
|
4
9
|
{% block content %}
|
|
10
|
+
{{ render_messages() }}
|
|
5
11
|
<div class="container-fluid py-4">
|
|
6
12
|
<div class="row">
|
|
7
13
|
<div class="col-12">
|
|
@@ -69,15 +75,16 @@
|
|
|
69
75
|
{% endif %}
|
|
70
76
|
</td>
|
|
71
77
|
<td class="text-end">
|
|
72
|
-
<a href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'edit', concept_id=item.id) }}"
|
|
73
|
-
|
|
74
|
-
title="{{ _('Editar') }}">
|
|
78
|
+
<a href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'edit', concept_id=item.id) }}"
|
|
79
|
+
class="btn btn-sm btn-outline-primary" title="{{ _('Editar') }}">
|
|
75
80
|
<i class="bi bi-pencil"></i>
|
|
76
81
|
</a>
|
|
77
|
-
<form
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
<form
|
|
83
|
+
action="{{ url_for(config.blueprint + '.' + config.route_prefix + 'delete', concept_id=item.id) }}"
|
|
84
|
+
method="post" class="d-inline"
|
|
85
|
+
onsubmit="return confirm('{{ _('¿Está seguro de eliminar esta %(type)s?', type=config.singular) }}');">
|
|
86
|
+
<button type="submit" class="btn btn-sm btn-outline-danger"
|
|
87
|
+
title="{{ _('Eliminar') }}">
|
|
81
88
|
<i class="bi bi-trash"></i>
|
|
82
89
|
</button>
|
|
83
90
|
</form>
|
|
@@ -94,31 +101,34 @@
|
|
|
94
101
|
<ul class="pagination justify-content-center mb-0">
|
|
95
102
|
{% if pagination.has_prev %}
|
|
96
103
|
<li class="page-item">
|
|
97
|
-
<a class="page-link"
|
|
104
|
+
<a class="page-link"
|
|
105
|
+
href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'index', page=pagination.prev_num) }}">
|
|
98
106
|
<i class="bi bi-chevron-left"></i>
|
|
99
107
|
</a>
|
|
100
108
|
</li>
|
|
101
109
|
{% endif %}
|
|
102
|
-
|
|
110
|
+
|
|
103
111
|
{% for page_num in pagination.iter_pages(left_edge=1, right_edge=1, left_current=2, right_current=2) %}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
</
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
{% if page_num %}
|
|
113
|
+
{% if page_num == pagination.page %}
|
|
114
|
+
<li class="page-item active">
|
|
115
|
+
<span class="page-link">{{ page_num }}</span>
|
|
116
|
+
</li>
|
|
117
|
+
{% else %}
|
|
118
|
+
<li class="page-item">
|
|
119
|
+
<a class="page-link"
|
|
120
|
+
href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'index', page=page_num) }}">{{ page_num }}</a>
|
|
121
|
+
</li>
|
|
122
|
+
{% endif %}
|
|
123
|
+
{% else %}
|
|
124
|
+
<li class="page-item disabled"><span class="page-link">...</span></li>
|
|
125
|
+
{% endif %}
|
|
117
126
|
{% endfor %}
|
|
118
|
-
|
|
127
|
+
|
|
119
128
|
{% if pagination.has_next %}
|
|
120
129
|
<li class="page-item">
|
|
121
|
-
<a class="page-link"
|
|
130
|
+
<a class="page-link"
|
|
131
|
+
href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'index', page=pagination.next_num) }}">
|
|
122
132
|
<i class="bi bi-chevron-right"></i>
|
|
123
133
|
</a>
|
|
124
134
|
</li>
|
|
@@ -131,8 +141,10 @@
|
|
|
131
141
|
<div class="text-center py-5">
|
|
132
142
|
<i class="bi {{ config.icon }} display-1 text-muted"></i>
|
|
133
143
|
<h4 class="mt-3">{{ _('No hay %(type)s registradas', type=config.plural|lower) }}</h4>
|
|
134
|
-
<p class="text-muted">{{ _('Comience creando una nueva %(type)s', type=config.singular|lower) }}
|
|
135
|
-
|
|
144
|
+
<p class="text-muted">{{ _('Comience creando una nueva %(type)s', type=config.singular|lower) }}
|
|
145
|
+
</p>
|
|
146
|
+
<a href="{{ url_for(config.blueprint + '.' + config.route_prefix + 'new') }}"
|
|
147
|
+
class="btn btn-primary">
|
|
136
148
|
<i class="bi bi-plus-lg me-1"></i> {{ _('Nueva %(type)s', type=config.singular) }}
|
|
137
149
|
</a>
|
|
138
150
|
</div>
|
|
Binary file
|