coati-payroll 0.0.3__tar.gz → 0.0.5__tar.gz
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-0.0.3 → coati_payroll-0.0.5}/PKG-INFO +2 -1
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/cli.py +187 -9
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/version.py +1 -1
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll.egg-info/PKG-INFO +2 -1
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/pyproject.toml +1 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/LICENSE +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/README.md +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/app.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/audit_helpers.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/auth.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/config.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/demo_data.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/enums.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/forms.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/ast_visitor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/expression_evaluator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/safe_operators.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/type_converter.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/data_sources.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/engine.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/exceptions.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/execution_context.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/step_executor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/variable_store.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/novelty_codes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/results/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/results/execution_result.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/assignment_step.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/base_step.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/calculation_step.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/conditional_step.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/step_factory.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/tax_lookup_step.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/tables/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/tables/bracket_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/tables/table_lookup.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/tables/tax_table.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/validation/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/validation/schema_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/validation/security_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/validation/tax_table_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine_examples.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/i18n.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/initial_data.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/interes_engine.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/liquidacion_engine/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/liquidacion_engine/engine.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/locale_config.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/log.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/model.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/benefit_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/concept_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/deduction_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/exchange_rate_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/perception_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/salary_calculator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/domain/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/domain/calculation_items.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/domain/employee_calculation.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/domain/payroll_context.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/engine.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/accounting_processor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/accumulation_processor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/loan_processor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/novelty_processor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/vacation_processor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/acumulado_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/base_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/config_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/employee_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/exchange_rate_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/novelty_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/planilla_repository.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/error_result.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/payroll_result.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/validation_result.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/accounting_voucher_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/employee_processing_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/payroll_execution_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/snapshot_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/base_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/currency_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/employee_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/period_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/planilla_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/plugin_manager.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/driver.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/drivers/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/drivers/dramatiq_driver.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/drivers/huey_driver.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/drivers/noop_driver.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/selector.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/queue/tasks.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/rate_limiting.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/rbac.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/report_engine.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/report_export.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/schema_validator.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/security.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/static/styles.css +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/system_reports.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/auth/login.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/base.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/macros.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/calculation_rule/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/calculation_rule/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/calculation_rule/schema_editor.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/carga_inicial_prestacion/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/carga_inicial_prestacion/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/carga_inicial_prestacion/reporte.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/config_calculos/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/configuracion/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/currency/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/currency/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/custom_field/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/custom_field/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/deduccion/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/deduccion/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/employee/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/employee/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/empresa/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/empresa/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/exchange_rate/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/exchange_rate/import.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/exchange_rate/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/liquidacion/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/liquidacion/nueva.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/liquidacion/ver.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/payroll_concepts/audit_log.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/percepcion/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/percepcion/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/config.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/config_deducciones.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/config_empleados.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/config_percepciones.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/config_prestaciones.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/config_reglas.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/ejecutar_nomina.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/listar_nominas.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/log_nomina.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/novedades/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/novedades/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/ver_nomina.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/planilla/ver_nomina_empleado.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/plugins/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestacion/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestacion/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestacion_management/dashboard.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestacion_management/initial_balance_bulk.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/approve.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/condonacion.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/detail.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/pago_extraordinario.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/prestamo/tabla_pago_pdf.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/report/admin_index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/report/detail.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/report/execute.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/report/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/report/permissions.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/settings/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/shared/concept_form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/shared/concept_index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/tipo_planilla/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/tipo_planilla/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/user/form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/user/index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/user/profile.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/account_detail.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/account_form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/account_index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/dashboard.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/initial_balance_bulk.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/initial_balance_form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/leave_request_detail.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/leave_request_form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/leave_request_index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/policy_detail.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/policy_form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/policy_index.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/vacation/register_taken_form.html +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/translations/en/LC_MESSAGES/messages.mo +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/translations/en/LC_MESSAGES/messages.po +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/translations/es/LC_MESSAGES/messages.mo +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/translations/es/LC_MESSAGES/messages.po +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vacation_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/calculation_rule.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/carga_inicial_prestacion.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/config_calculos.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/configuracion.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/constants.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/currency.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/custom_field.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/employee.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/empresa.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/exchange_rate.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/liquidacion.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/payroll_concepts.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/association_routes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/config_routes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/export_routes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/helpers/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/helpers/association_helpers.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/helpers/excel_helpers.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/helpers/form_helpers.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/nomina_routes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/novedad_routes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/routes.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/services/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/services/export_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/services/nomina_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/services/novedad_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/services/planilla_service.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/validators/__init__.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/planilla/validators/planilla_validators.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/plugins.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/prestacion.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/prestamo.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/report.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/settings.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/tipo_planilla.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/user.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/vistas/vacation.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll.egg-info/SOURCES.txt +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll.egg-info/dependency_links.txt +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll.egg-info/entry_points.txt +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll.egg-info/requires.txt +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll.egg-info/top_level.txt +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/requirements.txt +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/setup.cfg +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_ast_security.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_ast_visitor.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_cli.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_plugin_manager.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_plugins_cli.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_plugins_ui.py +0 -0
- {coati_payroll-0.0.3 → coati_payroll-0.0.5}/tests/test_routes_map.py +0 -0
|
@@ -39,10 +39,10 @@ from flask.cli import with_appcontext
|
|
|
39
39
|
# <-------------------------------------------------------------------------> #
|
|
40
40
|
# Local modules
|
|
41
41
|
# <-------------------------------------------------------------------------> #
|
|
42
|
-
from coati_payroll.model import db, Usuario
|
|
42
|
+
from coati_payroll.model import db, Usuario, PluginRegistry
|
|
43
43
|
from coati_payroll.auth import proteger_passwd
|
|
44
44
|
from coati_payroll.log import log
|
|
45
|
-
from coati_payroll.plugin_manager import discover_installed_plugins, load_plugin_module
|
|
45
|
+
from coati_payroll.plugin_manager import discover_installed_plugins, load_plugin_module, sync_plugin_registry
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
# Global context to store CLI options
|
|
@@ -68,7 +68,7 @@ def output_result(ctx, message, data=None, success=True):
|
|
|
68
68
|
click.echo(f"{symbol} {message}")
|
|
69
69
|
|
|
70
70
|
|
|
71
|
-
class PluginsCommand(click.
|
|
71
|
+
class PluginsCommand(click.Group):
|
|
72
72
|
def list_commands(self, cli_ctx):
|
|
73
73
|
try:
|
|
74
74
|
return [p.plugin_id for p in discover_installed_plugins()]
|
|
@@ -86,12 +86,9 @@ class PluginsCommand(click.MultiCommand):
|
|
|
86
86
|
|
|
87
87
|
return click.Command(name, callback=lambda: _missing())
|
|
88
88
|
|
|
89
|
-
@click.group(name=name)
|
|
89
|
+
@click.group(name=name, help=f"Gestión del plugin '{name}'")
|
|
90
90
|
def plugin_group():
|
|
91
|
-
"""
|
|
92
|
-
|
|
93
|
-
Subcommands (init, update) are dynamically added below.
|
|
94
|
-
"""
|
|
91
|
+
"""Grupo de comandos del plugin específico."""
|
|
95
92
|
pass
|
|
96
93
|
|
|
97
94
|
@plugin_group.command("init")
|
|
@@ -128,10 +125,191 @@ class PluginsCommand(click.MultiCommand):
|
|
|
128
125
|
output_result(ctx, f"Plugin '{name}' update failed: {exc}", None, False)
|
|
129
126
|
raise click.ClickException(str(exc))
|
|
130
127
|
|
|
128
|
+
@plugin_group.command("demo_data")
|
|
129
|
+
@with_appcontext
|
|
130
|
+
@pass_context
|
|
131
|
+
def plugin_demo_data(ctx):
|
|
132
|
+
"""Carga datos de demostración para pruebas automáticas."""
|
|
133
|
+
# Permitir alias: demo_data o load_demo_data
|
|
134
|
+
demo_fn = getattr(module, "demo_data", None)
|
|
135
|
+
if demo_fn is None or not callable(demo_fn):
|
|
136
|
+
demo_fn = getattr(module, "load_demo_data", None)
|
|
137
|
+
if demo_fn is None or not callable(demo_fn):
|
|
138
|
+
raise click.ClickException("Plugin does not provide callable 'demo_data()' or 'load_demo_data()'")
|
|
139
|
+
|
|
140
|
+
try:
|
|
141
|
+
demo_fn()
|
|
142
|
+
db.create_all()
|
|
143
|
+
output_result(ctx, f"Plugin '{name}' demo data loaded")
|
|
144
|
+
except Exception as exc:
|
|
145
|
+
log.exception("Plugin demo_data failed")
|
|
146
|
+
output_result(ctx, f"Plugin '{name}' demo data failed: {exc}", None, False)
|
|
147
|
+
raise click.ClickException(str(exc))
|
|
148
|
+
|
|
149
|
+
@plugin_group.command("enable")
|
|
150
|
+
@with_appcontext
|
|
151
|
+
@pass_context
|
|
152
|
+
def plugin_enable(ctx):
|
|
153
|
+
"""Habilita el plugin en el registro (active=True)."""
|
|
154
|
+
try:
|
|
155
|
+
sync_plugin_registry()
|
|
156
|
+
record = db.session.execute(db.select(PluginRegistry).filter_by(plugin_id=name)).scalars().first()
|
|
157
|
+
if record is None:
|
|
158
|
+
raise click.ClickException("Plugin no registrado en la base de datos")
|
|
159
|
+
if not record.installed:
|
|
160
|
+
raise click.ClickException("Plugin no está instalado en el entorno")
|
|
161
|
+
record.active = True
|
|
162
|
+
db.session.commit()
|
|
163
|
+
output_result(ctx, f"Plugin '{name}' habilitado. Reinicie la app para cargar blueprints.")
|
|
164
|
+
except click.ClickException:
|
|
165
|
+
raise
|
|
166
|
+
except Exception as exc:
|
|
167
|
+
db.session.rollback()
|
|
168
|
+
output_result(ctx, f"No se pudo habilitar el plugin: {exc}", None, False)
|
|
169
|
+
raise click.ClickException(str(exc))
|
|
170
|
+
|
|
171
|
+
@plugin_group.command("disable")
|
|
172
|
+
@with_appcontext
|
|
173
|
+
@pass_context
|
|
174
|
+
def plugin_disable(ctx):
|
|
175
|
+
"""Deshabilita el plugin en el registro (active=False)."""
|
|
176
|
+
try:
|
|
177
|
+
sync_plugin_registry()
|
|
178
|
+
record = db.session.execute(db.select(PluginRegistry).filter_by(plugin_id=name)).scalars().first()
|
|
179
|
+
if record is None:
|
|
180
|
+
raise click.ClickException("Plugin no registrado en la base de datos")
|
|
181
|
+
record.active = False
|
|
182
|
+
db.session.commit()
|
|
183
|
+
output_result(ctx, f"Plugin '{name}' deshabilitado")
|
|
184
|
+
except click.ClickException:
|
|
185
|
+
raise
|
|
186
|
+
except Exception as exc:
|
|
187
|
+
db.session.rollback()
|
|
188
|
+
output_result(ctx, f"No se pudo deshabilitar el plugin: {exc}", None, False)
|
|
189
|
+
raise click.ClickException(str(exc))
|
|
190
|
+
|
|
191
|
+
def _get_plugin_metadata(plugin_id: str) -> dict:
|
|
192
|
+
meta = {"plugin_id": plugin_id}
|
|
193
|
+
try:
|
|
194
|
+
# versión detectada por distribución instalada
|
|
195
|
+
discovered = {p.plugin_id: p for p in discover_installed_plugins()}
|
|
196
|
+
if plugin_id in discovered:
|
|
197
|
+
meta["version"] = discovered[plugin_id].version
|
|
198
|
+
except Exception:
|
|
199
|
+
pass
|
|
200
|
+
try:
|
|
201
|
+
mod = load_plugin_module(plugin_id)
|
|
202
|
+
info = getattr(mod, "PLUGIN_INFO", None) or getattr(mod, "INFO", None)
|
|
203
|
+
if isinstance(info, dict):
|
|
204
|
+
meta.update(
|
|
205
|
+
{
|
|
206
|
+
"description": info.get("description"),
|
|
207
|
+
"maintainer": info.get("maintainer"),
|
|
208
|
+
"contact": info.get("contact"),
|
|
209
|
+
"version": info.get("version", meta.get("version")),
|
|
210
|
+
}
|
|
211
|
+
)
|
|
212
|
+
else:
|
|
213
|
+
meta.setdefault("version", getattr(mod, "__version__", meta.get("version")))
|
|
214
|
+
meta["description"] = meta.get("description") or (
|
|
215
|
+
mod.__doc__.strip() if getattr(mod, "__doc__", None) else None
|
|
216
|
+
)
|
|
217
|
+
meta["maintainer"] = getattr(mod, "MAINTAINER", None)
|
|
218
|
+
meta["contact"] = getattr(mod, "CONTACT", None)
|
|
219
|
+
except Exception:
|
|
220
|
+
# no importa si el módulo falla, usamos lo disponible
|
|
221
|
+
pass
|
|
222
|
+
try:
|
|
223
|
+
rec = db.session.execute(db.select(PluginRegistry).filter_by(plugin_id=plugin_id)).scalars().first()
|
|
224
|
+
if rec:
|
|
225
|
+
meta["installed"] = rec.installed
|
|
226
|
+
meta["active"] = rec.active
|
|
227
|
+
meta["distribution_name"] = rec.distribution_name
|
|
228
|
+
except Exception:
|
|
229
|
+
pass
|
|
230
|
+
return meta
|
|
231
|
+
|
|
232
|
+
@plugin_group.command("status")
|
|
233
|
+
@with_appcontext
|
|
234
|
+
@pass_context
|
|
235
|
+
def plugin_status(ctx):
|
|
236
|
+
"""Muestra el estado del plugin (installed/active/version)."""
|
|
237
|
+
try:
|
|
238
|
+
sync_plugin_registry()
|
|
239
|
+
meta = _get_plugin_metadata(name)
|
|
240
|
+
if ctx.json_output:
|
|
241
|
+
output_result(ctx, f"Estado del plugin '{name}'", meta, True)
|
|
242
|
+
else:
|
|
243
|
+
click.echo(f"Estado del plugin '{name}':")
|
|
244
|
+
click.echo(f" Installed: {meta.get('installed', False)}")
|
|
245
|
+
click.echo(f" Active: {meta.get('active', False)}")
|
|
246
|
+
click.echo(f" Version: {meta.get('version', 'desconocida')}\n")
|
|
247
|
+
except Exception as exc:
|
|
248
|
+
output_result(ctx, f"No se pudo obtener estado: {exc}", None, False)
|
|
249
|
+
raise click.ClickException(str(exc))
|
|
250
|
+
|
|
251
|
+
@plugin_group.command("version")
|
|
252
|
+
@with_appcontext
|
|
253
|
+
@pass_context
|
|
254
|
+
def plugin_version(ctx):
|
|
255
|
+
"""Muestra la versión del plugin."""
|
|
256
|
+
meta = _get_plugin_metadata(name)
|
|
257
|
+
ver = meta.get("version") or "desconocida"
|
|
258
|
+
if ctx.json_output:
|
|
259
|
+
output_result(ctx, f"Versión del plugin '{name}'", {"version": ver}, True)
|
|
260
|
+
else:
|
|
261
|
+
click.echo(ver)
|
|
262
|
+
|
|
263
|
+
@plugin_group.command("info")
|
|
264
|
+
@with_appcontext
|
|
265
|
+
@pass_context
|
|
266
|
+
def plugin_info(ctx):
|
|
267
|
+
"""Muestra información del plugin (descripción y enlaces)."""
|
|
268
|
+
meta = _get_plugin_metadata(name)
|
|
269
|
+
if ctx.json_output:
|
|
270
|
+
output_result(ctx, f"Información del plugin '{name}'", meta, True)
|
|
271
|
+
else:
|
|
272
|
+
click.echo(f"Info del plugin '{name}':")
|
|
273
|
+
if meta.get("description"):
|
|
274
|
+
click.echo(f" Description: {meta['description']}")
|
|
275
|
+
if meta.get("distribution_name"):
|
|
276
|
+
click.echo(f" Package: {meta['distribution_name']}")
|
|
277
|
+
if meta.get("version"):
|
|
278
|
+
click.echo(f" Version: {meta['version']}")
|
|
279
|
+
click.echo(f" Installed: {meta.get('installed', False)}")
|
|
280
|
+
click.echo(f" Active: {meta.get('active', False)}")
|
|
281
|
+
|
|
282
|
+
@plugin_group.command("maintainer")
|
|
283
|
+
@with_appcontext
|
|
284
|
+
@pass_context
|
|
285
|
+
def plugin_maintainer(ctx):
|
|
286
|
+
"""Muestra el maintainer del plugin (según metadatos)."""
|
|
287
|
+
meta = _get_plugin_metadata(name)
|
|
288
|
+
maint = meta.get("maintainer") or "desconocido"
|
|
289
|
+
if ctx.json_output:
|
|
290
|
+
output_result(ctx, f"Maintainer del plugin '{name}'", {"maintainer": maint}, True)
|
|
291
|
+
else:
|
|
292
|
+
click.echo(maint)
|
|
293
|
+
|
|
294
|
+
# Alias por compatibilidad: 'mantainer' (mal escrito)
|
|
295
|
+
plugin_group.add_command(plugin_maintainer, "mantainer")
|
|
296
|
+
|
|
297
|
+
@plugin_group.command("contact")
|
|
298
|
+
@with_appcontext
|
|
299
|
+
@pass_context
|
|
300
|
+
def plugin_contact(ctx):
|
|
301
|
+
"""Muestra el contacto del plugin (correo/URL si disponible)."""
|
|
302
|
+
meta = _get_plugin_metadata(name)
|
|
303
|
+
contact = meta.get("contact") or "no disponible"
|
|
304
|
+
if ctx.json_output:
|
|
305
|
+
output_result(ctx, f"Contacto del plugin '{name}'", {"contact": contact}, True)
|
|
306
|
+
else:
|
|
307
|
+
click.echo(contact)
|
|
308
|
+
|
|
131
309
|
return plugin_group
|
|
132
310
|
|
|
133
311
|
|
|
134
|
-
plugins = PluginsCommand(name="plugins")
|
|
312
|
+
plugins = PluginsCommand(name="plugins", help="Gestión de plugins instalados")
|
|
135
313
|
|
|
136
314
|
|
|
137
315
|
# ============================================================================
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/expression_evaluator.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/safe_operators.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/ast/type_converter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/step_executor.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/execution/variable_store.py
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/results/__init__.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/results/execution_result.py
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/assignment_step.py
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/calculation_step.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/conditional_step.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/step_factory.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/steps/tax_lookup_step.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/tables/table_lookup.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/tables/tax_table.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/formula_engine/validation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/calculators/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/domain/calculation_items.py
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/domain/payroll_context.py
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/processors/loan_processor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/repositories/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/error_result.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/payroll_result.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/results/validation_result.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/services/snapshot_service.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/__init__.py
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/nomina_engine/validators/base_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/configuracion/index.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/currency/form.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/currency/index.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/custom_field/form.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/custom_field/index.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/deduccion/form.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/deduccion/index.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/employee/form.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/employee/index.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/empresa/form.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/empresa/index.html
RENAMED
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/exchange_rate/form.html
RENAMED
|
File without changes
|
|
File without changes
|
{coati_payroll-0.0.3 → coati_payroll-0.0.5}/coati_payroll/templates/modules/exchange_rate/index.html
RENAMED
|
File without changes
|