├── .gitignore
├── README.md
├── TODO
├── public_budget
├── ANALAISIS DEPENDS Y MEJORAS PERFORMANCE
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── portal.py
├── data
│ ├── expedient_category.xml
│ ├── expedient_founder.xml
│ ├── ir_config_parameter_data.xml
│ ├── position_category.xml
│ ├── position_exc_restrictions.xml
│ ├── sequence.xml
│ └── server_actions_data.xml
├── demo
│ ├── SIPRECO_Logo.png
│ ├── account_account_demo.xml
│ ├── account_chart_template.xml
│ ├── account_journal_demo.xml
│ ├── account_payment_receiptbook_demo.xml
│ ├── advance_request.xml
│ ├── advance_request_type.xml
│ ├── public_budget.budget.csv
│ ├── public_budget.budget_detail.csv
│ ├── public_budget.budget_modification.csv
│ ├── public_budget.budget_modification_detail.csv
│ ├── public_budget.budget_position.csv
│ ├── public_budget.expedient.csv
│ ├── public_budget.location.csv
│ ├── public_budget.preventive_line.csv
│ ├── public_budget.remit.csv
│ ├── public_budget.transaction_type.csv
│ ├── public_budget_definitive_line_demo.xml
│ ├── public_budget_transaction_demo.xml
│ ├── res.partner.csv
│ ├── res_company_demo.xml
│ ├── res_partner_demo.xml
│ └── res_users_demo.xml
├── i18n
│ ├── br.po
│ ├── es.po
│ └── ro.po
├── i18n_extra
│ └── es.po
├── images
│ └── README
├── migrations
│ ├── 11.0.1.1.0
│ │ └── post-migration.py
│ ├── 11.0.1.18.0
│ │ ├── mig_data.xml
│ │ └── post-migration.py
│ ├── 11.0.1.21.0
│ │ ├── mig_data.xml
│ │ └── post-migration.py
│ ├── 11.0.1.25.0
│ │ └── post-migration.py
│ ├── 13.0.1.0.0
│ │ ├── mig_data.xml
│ │ └── post-migration.py
│ ├── 13.0.1.16.0
│ │ ├── mig_data.xml
│ │ └── post-migration.py
│ └── 15.0.1.14.0
│ │ └── post-migration.py
├── models
│ ├── __init__.py
│ ├── account_asset.py
│ ├── account_bank_statement.py
│ ├── account_journal.py
│ ├── account_move.py
│ ├── account_move_line.py
│ ├── account_payment.py
│ ├── account_payment_group.py
│ ├── account_tax.py
│ ├── advance_request.py
│ ├── advance_request_line.py
│ ├── advance_request_type.py
│ ├── advance_return.py
│ ├── advance_return_line.py
│ ├── budget.py
│ ├── budget_detail.py
│ ├── budget_modification.py
│ ├── budget_modification_detail.py
│ ├── budget_pos_exc_rest.py
│ ├── budget_position.py
│ ├── budget_position_category.py
│ ├── budget_prec_detail.py
│ ├── definitive_line.py
│ ├── expedient.py
│ ├── expedient_category.py
│ ├── expedient_founder.py
│ ├── funding_move.py
│ ├── inventory_rule.py
│ ├── l10n_latam_document_type.py
│ ├── location.py
│ ├── preventive_line.py
│ ├── remit.py
│ ├── res_company.py
│ ├── res_partner.py
│ ├── res_users.py
│ ├── rest_type.py
│ ├── transaction.py
│ ├── transaction_type.py
│ └── transaction_type_amo_rest.py
├── reports
│ ├── __init__.py
│ ├── advance_request_analysis.py
│ ├── advance_request_analysis_view.xml
│ ├── advance_request_debt_report.odt
│ ├── advance_request_debt_report.xml
│ ├── advance_request_report.odt
│ ├── advance_request_report.xml
│ ├── advance_return_report.odt
│ ├── advance_return_report.xml
│ ├── asset_alta_report.ods
│ ├── asset_amend_report.odt
│ ├── asset_amend_report.xml
│ ├── asset_baja_report.ods
│ ├── asset_missing_report.odt
│ ├── asset_missing_report.xml
│ ├── asset_printing_report.ods
│ ├── asset_report.ods
│ ├── asset_report.odt
│ ├── asset_report.xml
│ ├── asset_report_alta.xml
│ ├── asset_report_baja.xml
│ ├── asset_report_excel.xml
│ ├── asset_report_printing.xml
│ ├── budget_modification_report.odt
│ ├── budget_modification_report.xml
│ ├── budget_report.ods
│ ├── budget_report.odt
│ ├── budget_report.xml
│ ├── budget_report_excel.xml
│ ├── expedient_report.odt
│ ├── expedient_report.xml
│ ├── liquidation_report.odt
│ ├── liquidation_report.xml
│ ├── payment_list_report.ods
│ ├── payment_list_report.xml
│ ├── payment_order.odt
│ ├── payment_order_list.odt
│ ├── payment_order_list.xml
│ ├── payment_order_report.xml
│ ├── payment_receipt_report.odt
│ ├── payment_receipt_report.xml
│ ├── public_budget_budget_report_3.py
│ ├── public_budget_budget_report_4.py
│ ├── public_budget_budget_report_view_3.xml
│ ├── public_budget_budget_report_view_4.xml
│ ├── remit_report.odt
│ ├── remit_report.xml
│ ├── reports_stylesheet.odt
│ ├── statement_report.xml
│ ├── stylesheet.xml
│ ├── transaction_report.odt
│ └── transaction_report.xml
├── security
│ ├── hide_groups.xml
│ ├── ir.model.access.csv
│ ├── public_budget_group.xml
│ └── public_budget_security.xml
├── static
│ └── description
│ │ ├── asset-icon.png
│ │ ├── expedient.png
│ │ ├── icon (old).png
│ │ └── icon.png
├── views
│ ├── account_asset_views.xml
│ ├── account_checkbook_views.xml
│ ├── account_journal_views.xml
│ ├── account_move_line_views.xml
│ ├── account_move_views.xml
│ ├── account_payment_group_views.xml
│ ├── account_payment_views.xml
│ ├── advance_request_type_views.xml
│ ├── advance_request_views.xml
│ ├── advance_return_views.xml
│ ├── budget_detail_views.xml
│ ├── budget_modification_detail_views.xml
│ ├── budget_modification_views.xml
│ ├── budget_pos_exc_rest_views.xml
│ ├── budget_position_category_views.xml
│ ├── budget_position_views.xml
│ ├── budget_prec_detail_views.xml
│ ├── budget_views.xml
│ ├── custom_views.xml
│ ├── definitive_line_views.xml
│ ├── expedient_category_views.xml
│ ├── expedient_founder_views.xml
│ ├── expedient_views.xml
│ ├── funding_move_views.xml
│ ├── hr_public_holidays_views.xml
│ ├── inventory_rule_views.xml
│ ├── location_views.xml
│ ├── preventive_line_views.xml
│ ├── public_budget_actions.xml
│ ├── public_budget_menuitem.xml
│ ├── remit_views.xml
│ ├── res_company_views.xml
│ ├── res_partner_views.xml
│ ├── res_users_views.xml
│ ├── rest_type_views.xml
│ ├── transaction_type_amo_rest_views.xml
│ ├── transaction_type_views.xml
│ └── transaction_views.xml
└── wizards
│ ├── __init__.py
│ ├── avance_request_report_wizard.py
│ ├── avance_request_report_wizard_views.xml
│ ├── budget_analysis_wizard.py
│ ├── budget_analysis_wizard_views.xml
│ ├── public_budget_preventive_changeposition.py
│ ├── public_budget_preventive_changeposition_views.xml
│ ├── transaction_definitive_make_invoice.py
│ ├── transaction_definitive_make_invoice_detail.py
│ ├── transaction_definitive_make_invoice_views.xml
│ ├── transaction_definitive_mass_invoice_create.py
│ ├── transaction_definitive_mass_invoice_create_views.xml
│ ├── transfer_asset_wizard_views.xml
│ └── transfer_assets_wizard.py
├── public_budget_subscription
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── ir_actions_server_data.xml
├── i18n
│ └── es.po
├── models
│ ├── __init__.py
│ └── purchase_subscription.py
├── security
│ └── ir.model.access.csv
└── views
│ └── purchase_subscription_views.xml
├── public_budget_tax_settlement
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ └── es.po
├── models
│ ├── __init__.py
│ ├── account_move.py
│ ├── account_move_line.py
│ └── account_payment.py
└── views
│ ├── account_journal_dashboard_views.xml
│ ├── account_move_line_views.xml
│ └── account_move_views.xml
├── requirements.txt
├── sipreco_payment_line
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── br.po
│ └── es.po
├── models
│ ├── __init__.py
│ ├── account_payment_group.py
│ ├── account_payment_group_line.py
│ ├── advance_request.py
│ └── res_partner_bank.py
├── security
│ └── ir.model.access.csv
├── views
│ ├── account_payment_group_views.xml
│ └── res_partner_bank_views.xml
└── wizards
│ ├── __init__.py
│ ├── account_payment_group_line_import.py
│ └── account_payment_group_line_import_views.xml
├── sipreco_position_helper
├── README.rst
├── __init__.py
├── __manifest__.py
├── demo
│ └── public_budget.budget_position.csv
├── i18n
│ └── es.po
├── models
│ ├── __init__.py
│ └── budget_position.py
└── views
│ └── budget_position_views.xml
├── sipreco_project
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── ir_parameters.xml
└── demo
│ ├── config_data.xml
│ └── load_es_lang.xml
├── sipreco_purchase
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── ir_actions_server_data.xml
│ └── sequence_data.xml
├── demo
│ ├── product_demo.xml
│ ├── res_users_demo.xml
│ ├── sequence_demo.xml
│ └── stock_demo.xml
├── i18n
│ ├── br.po
│ └── es.po
├── i18n_extra
│ └── es.po
├── migrations
│ └── 15.0.1.3.0
│ │ └── pre-migration.py
├── models
│ ├── __init__.py
│ ├── expedient.py
│ ├── product_product.py
│ ├── purchase_order.py
│ ├── purchase_order_line.py
│ ├── purchase_requisition.py
│ ├── purchase_requisition_line.py
│ ├── purchase_requisition_type.py
│ ├── res_users.py
│ ├── stock_location_route.py
│ ├── stock_picking_type.py
│ ├── stock_request.py
│ ├── stock_request_order.py
│ ├── stock_rule.py
│ └── transaction.py
├── reports
│ ├── purchase_order_publicity_report.odt
│ ├── purchase_order_publicity_report.xml
│ ├── purchase_requisition_report.odt
│ └── purchase_requisition_report.xml
├── security
│ ├── hide_groups.xml
│ ├── ir.model.access.csv
│ └── sipreco_purchase_security.xml
├── static
│ └── description
│ │ └── procurement_order.png
├── views
│ ├── expedient_views.xml
│ ├── product_template_views.xml
│ ├── purchase_order_views.xml
│ ├── purchase_requisition_type_views.xml
│ ├── purchase_requisition_views.xml
│ ├── res_users_views.xml
│ ├── stock_inventory_views.xml
│ ├── stock_location_route_views.xml
│ ├── stock_move_line_views.xml
│ ├── stock_move_views.xml
│ ├── stock_picking_type_views.xml
│ ├── stock_picking_views.xml
│ ├── stock_request_order_views.xml
│ ├── stock_request_views.xml
│ └── transaction_views.xml
└── wizards
│ ├── __init__.py
│ ├── create_expedients_wizard.py
│ └── create_expedients_wizard_views.xml
└── sipreco_subsidy_management
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
├── cron.xml
├── ir_actions_server_data.xml
├── sequence_data.xml
└── subsidy_note_type_data.xml
├── demo
├── helpdesk_demo.xml
├── public_budget.transaction_type.csv
└── subsidy_demo.xml
├── i18n
├── br.po
└── es.po
├── models
├── __init__.py
├── expedient.py
├── ir_actions_report.py
├── subsidy.py
├── subsidy_approval_arrangement.py
├── subsidy_note.py
├── subsidy_note_type.py
├── subsidy_rendition.py
├── subsidy_resolution.py
├── subsidy_resolution_line.py
├── subsidy_stage.py
├── subsidy_ticket.py
└── transaction_type.py
├── reports
├── remit_report_subsidy.ods
├── remit_report_subsidy.xml
├── report_subsidy_resolution.ods
├── report_subsidy_tickets_resolution.ods
├── report_ticket_template.xml
├── subsidy_approval_arrangement_report.odt
├── subsidy_approval_arrangement_report.xml
├── subsidy_form_report.odt
├── subsidy_form_report.xml
├── subsidy_note_report.odt
├── subsidy_note_report.xml
├── subsidy_report.ods
├── subsidy_report.xml
├── subsidy_report_resolution.xml
├── subsidy_resolution_COMUN.odt
├── subsidy_resolution_INSTIT.odt
├── subsidy_resolution_ITRANS.odt
├── subsidy_tickets_resolution_COMUN.odt
└── subsidy_tickets_resolution_INSTIT.odt
├── security
├── ir.model.access.csv
└── ir_rule.xml
├── static
└── description
│ └── icon.png
├── views
├── expedient_views.xml
├── subsidy_approval_arrangement_views.xml
├── subsidy_note_type_views.xml
├── subsidy_portaluser_views.xml
├── subsidy_resolution_views.xml
├── subsidy_stage_views.xml
├── subsidy_ticket_director_views.xml
├── subsidy_ticket_views.xml
├── subsidy_views.xml
└── transaction_type_views.xml
└── wizards
├── __init__.py
├── create_administrative_process_wizard.py
└── create_administrative_process_wizard_views.xml
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 |
5 | # C extensions
6 | *.so
7 |
8 | # Distribution / packaging
9 | .Python
10 | env/
11 | bin/
12 | build/
13 | develop-eggs/
14 | dist/
15 | eggs/
16 | lib/
17 | lib64/
18 | parts/
19 | sdist/
20 | var/
21 | *.egg-info/
22 | .installed.cfg
23 | *.egg
24 |
25 | # Installer logs
26 | pip-log.txt
27 | pip-delete-this-directory.txt
28 |
29 | # Unit test / coverage reports
30 | htmlcov/
31 | .tox/
32 | .vscode/
33 | .coverage
34 | .cache
35 | nosetests.xml
36 | coverage.xml
37 |
38 | # Translations
39 | *.mo
40 |
41 | # Mr Developer
42 | .mr.developer.cfg
43 | .project
44 | .pydevproject
45 |
46 | # Rope
47 | .ropeproject
48 |
49 | # Django stuff:
50 | *.log
51 |
52 | # Sphinx documentation
53 | docs/_build/
54 |
55 | # UML temp files
56 | *.uml~
57 |
58 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](https://coveralls.io/r/ingadhoc/odoo-public-administration?branch=15.0)
2 | [](https://codeclimate.com/github/ingadhoc/odoo-public-administration)
3 |
4 | # ADHOC odoo-public-administration
5 |
6 | ADHOC Odoo odoo-public-administration related Addons
7 |
8 | [//]: # (addons)
9 | [//]: # (end addons)
10 |
11 | Translation Status
12 | ------------------
13 | [](https://www.transifex.com/projects/p/ingadhoc-odoo-public-administration-15-0)
14 |
15 | ----
16 |
17 |
18 | **Adhoc SA** - www.adhoc.com.ar
19 |
--------------------------------------------------------------------------------
/TODO:
--------------------------------------------------------------------------------
1 | PARA MAS ADELANTE:
2 | * cambiamos implementación de subsidy line? por ej para lineas de pago:
3 | hacemos que todo se genere usando lógica de los payments
4 | datos fijos que vayan a journal o algo así, datos variables a wizard.
5 | que se pueda generar archivo desde lista de payment groups y dese uno solo
6 | hacer todo esto en módulo de localización
7 | Si hacemos este cambio deberíamos ver como migramos las payment lines
8 | * terminar de agregar al reporte _3 lo de adelanto y pagos (hay que traerlo de v8 porque lo borre)
9 | * Calculo de a pagar y pagado en facturas: Si a una factura se le imputa un saldo parcial (por ejemplo factura de sueldos por 1000 que se le impute devolución por 500), no se visualiza como pagado o mandado a pagar, solo cuando se paga completamente
10 | * advance.request.analysis: agregar currency y convertir a monetary
11 |
12 |
--------------------------------------------------------------------------------
/public_budget/ANALAISIS DEPENDS Y MEJORAS PERFORMANCE:
--------------------------------------------------------------------------------
1 | CHANGELOG:
2 | * JULIO 2016
3 | ** Hicimos:
4 | account.invoice
5 | hicismos campo normal a to_pay_amount (_compute_to_pay_amount)
6 | public_budget.definitive_line
7 | hicismos campo normal a to_pay_amount (_get_amounts)
8 | hicismos campo normal a paid_amount (_get_amounts)
9 | hicismos campo normal a invoiced_amount (_get_amounts)
10 | para que funcione bien en reporte a fecha, además agregamos campos auxilaires calculados
11 | Agregamos auto_join
12 |
13 | POSIBLES MEJORAS
14 | * Si necesitamos más performance:
15 | la alternativa es hacer no computados a campos de invoice.line
16 | probar unificar métodos de campos calculados en transacion
17 | probar separar algunos métodos de definitive line
18 |
19 | ANALAISIS DEPENDS (VIEJO; YA CAMBIAMOS MUCHAS COSAS)
20 |
21 | invoice_line
22 | @api.one
23 | @api.depends(
24 | 'price_subtotal',
25 | 'invoice_id.amount_total',
26 | 'invoice_id.residual'
27 | )
28 | def _get_amounts(self):
29 | to_pay_amount - NO STORED
30 | paid_amount - NO STORED
31 |
32 | invoice
33 | @api.one
34 | @api.depends(
35 | 'state', 'currency_id',
36 | 'move_id.line_id.voucher_line_ids.amount',
37 | 'move_id.line_id.voucher_line_ids.voucher_id.state',
38 | )
39 | def _compute_to_pay_amount(self):
40 | to_pay_amount - STORED
41 |
42 | definitive
43 | @api.one
44 | @api.depends(
45 | 'amount',
46 | 'invoice_line_ids.invoice_id.state',
47 | 'invoice_line_ids.invoice_id.type',
48 | 'invoice_line_ids.price_subtotal',
49 | 'invoice_line_ids.to_pay_amount',
50 | 'invoice_line_ids.paid_amount',
51 | )
52 | def _get_amounts(self):
53 | self.invoiced_amount = invoiced_amount - STORED
54 | self.residual_amount = self.amount - invoiced_amount - STORED
55 | self.to_pay_amount = to_pay_amount - STORED
56 | self.paid_amount = paid_amount - STORED
--------------------------------------------------------------------------------
/public_budget/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 | from . import models
3 | from . import wizards
4 | from . import reports
5 | from odoo import fields
6 |
--------------------------------------------------------------------------------
/public_budget/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 |
6 | from . import portal
7 |
--------------------------------------------------------------------------------
/public_budget/controllers/portal.py:
--------------------------------------------------------------------------------
1 | from odoo import http
2 | from odoo.addons.portal.controllers.portal import CustomerPortal
3 | from odoo.http import request
4 |
5 |
6 | class CustomerPortal(CustomerPortal):
7 |
8 | @http.route()
9 | def home(self, **kw):
10 | # Anulamos portal para este caso que simpre redirija a backend
11 | return request.redirect('/web')
12 |
--------------------------------------------------------------------------------
/public_budget/data/expedient_category.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Administrativo
6 |
7 |
8 |
9 | Contable
10 |
11 |
12 | Personal
13 |
14 |
15 | Subsidios
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/public_budget/data/expedient_founder.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Protocolo
5 |
6 |
7 |
8 | Compras
9 |
10 |
11 |
12 | Prensa
13 |
14 |
15 |
16 | DAF
17 |
18 |
19 |
20 | Otros
21 |
22 |
23 |
24 | Habilitaciones
25 |
26 |
27 |
28 | Secretaría Administrativa
29 |
30 |
31 |
32 | Contaduria
33 |
34 |
35 |
--------------------------------------------------------------------------------
/public_budget/data/ir_config_parameter_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
--------------------------------------------------------------------------------
/public_budget/data/position_category.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Gasto
5 |
6 |
7 |
8 | Capital
9 |
10 |
11 |
--------------------------------------------------------------------------------
/public_budget/data/position_exc_restrictions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ¡Advertencia! Recuerde que no es posible reasignar saldo de una partida del tipo Capital a una del tipo Gastos.
5 | block
6 |
7 |
8 |
9 |
10 |
11 | Aviso: Esta reasignando saldos entre partidas de tipo Gastos.
12 | alert
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public_budget/data/sequence.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Expedient
7 | public_budget.expedient
8 | TA-%(year)s-
9 | 6
10 |
11 | no_gap
12 |
13 |
14 |
15 |
16 |
17 | Remit
18 | public_budget.remit
19 | RE-%(year)s-
20 | 6
21 |
22 |
23 |
24 |
25 | Asset Reference
26 | public_budget.asset
27 | A
28 | 4
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/public_budget/data/server_actions_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Imprimir Cheques
7 |
8 |
9 | report
10 | code
11 |
12 | payments = records.mapped('payment_ids').filtered(lambda x: x.payment_method_code == 'issue_check')
13 | if not payments:
14 | raise Warning('No se encontraron cheques en las ordenes de pago seleccionadas')
15 | payments = payments.with_context(active_model=payments._name, active_ids=payments.ids)
16 | action = env['ir.actions.report'].search([('report_name', '=', 'check_report')], limit=1).report_action(payments)
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public_budget/demo/SIPRECO_Logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/demo/SIPRECO_Logo.png
--------------------------------------------------------------------------------
/public_budget/demo/account_chart_template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/public_budget/demo/account_journal_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Adelantos
9 | 99ADE
10 | general
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/public_budget/demo/account_payment_receiptbook_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | supplier
6 | automatic
7 |
8 | OP/%(year)s
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.budget.csv:
--------------------------------------------------------------------------------
1 | id,name,income_account_id/id,expedient_id/id,company_id/id,receiptbook_id/id,state
2 | budget_actual,Presupuesto Actual,account_ingresos,budget_exp_caso_11,company_sipreco,payment_order_actual,open
3 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.budget_detail.csv:
--------------------------------------------------------------------------------
1 | id,budget_position_id/id,initial_amount,budget_id/id
2 | budg_det_1,budg_pos_1,40000,budget_actual
3 | budg_det_2,budg_pos_2,50000,budget_actual
4 | budg_det_3,budg_pos_3,30000,budget_actual
5 | budg_det_5,budg_pos_5,3000,budget_actual
6 | budg_det_6,budg_pos_6,25000,budget_actual
7 | budg_det_7,budg_pos_7,0,budget_actual
8 | budg_det_8,budg_pos_8,10000,budget_actual
9 | budg_det_9,budg_pos_9,50000,budget_actual
10 | budg_det_10,budg_pos_10,30000,budget_actual
11 | budg_det_11,budg_pos_11,9000000,budget_actual
12 | budg_det_12,budg_pos_12,150000,budget_actual
13 | budg_det_13,budg_pos_13,0,budget_actual
14 | budg_det_14,budg_pos_14,1000000,budget_actual
15 | budg_det_15,budg_pos_otros,84000,budget_actual
16 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.budget_modification.csv:
--------------------------------------------------------------------------------
1 | id,name,type,reference,budget_id/id
2 | budg_mod_2,Modificación para compra de computadoras con licencia,exchange,Según resolución 20xx/14,budget_actual
3 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.budget_modification_detail.csv:
--------------------------------------------------------------------------------
1 | id,budget_position_id/id,amount,budget_modification_id/id
2 | budg_mod_det_2_1,budg_pos_14,10000,budg_mod_2
3 | budg_mod_det_2_2,budg_pos_12,-10000,budg_mod_2
4 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.expedient.csv:
--------------------------------------------------------------------------------
1 | id,description,number,type,founder_id/id,category_id/id,first_location_id/id,pages,user_id/id
2 | budget_exp_caso_1,Adquisición de sistema de software (bien/servicio por licitacion/concurso),Caso 1,authorizing,expedient_founder_1,budget_exp_category_1,public_location_secretaria,5,contaduria_manager_user
3 | budget_exp_caso_2,Adquisición de bienes inventariables que afectan a más de un presupuesto,Caso 2,authorizing,expedient_founder_2,budget_exp_category_2,public_location_secretaria,4,contaduria_manager_user
4 | budget_exp_caso_3,Compra directa (bien o servicio),Caso 3,authorizing,expedient_founder_3,budget_exp_category_2,public_location_secretaria,2,contaduria_manager_user
5 | budget_exp_caso_4,"Pago de servicios (luz,agua,etc)",Caso 4,authorizing,expedient_founder_4,budget_exp_category_2,public_location_secretaria,55,contaduria_manager_user
6 | budget_exp_caso_5,Caja chica,Caso 5,authorizing,expedient_founder_1,budget_exp_category_1,public_location_secretaria,3,contaduria_manager_user
7 | budget_exp_caso_6,Anticipo con cargo de rendición,Caso 6,authorizing,expedient_founder_2,budget_exp_category_2,public_location_secretaria,2,contaduria_manager_user
8 | budget_exp_caso_7,Pago de alquiler,Caso 7,payment,expedient_founder_3,budget_exp_category_2,public_location_secretaria,5,contaduria_manager_user
9 | budget_exp_caso_8,Pago de sueldos,Caso 8,payment,expedient_founder_4,budget_exp_category_2,public_location_secretaria,6,contaduria_manager_user
10 | budget_exp_caso_9,Subsidio con cargo,Caso 9,authorizing,expedient_founder_3,budget_exp_category_1,public_location_secretaria,3,contaduria_manager_user
11 | budget_exp_caso_10,Subsidio sin cargo,Caso 10,authorizing,expedient_founder_4,budget_exp_category_2,public_location_secretaria,1,contaduria_manager_user
12 | budget_exp_caso_11,Presupuesto 2014,Caso 11,authorizing,expedient_founder_4,budget_exp_category_2,public_location_secretaria,5,contaduria_manager_user
13 | budget_exp_caso_12,Presupuesto 2015,Caso 12,authorizing,expedient_founder_4,budget_exp_category_2,public_location_secretaria,2,contaduria_manager_user
14 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.location.csv:
--------------------------------------------------------------------------------
1 | id,name,expedient_management,level,number,building
2 | public_location_secretaria,Secretaria,True,1,3,10
3 | public_location_contaduria,Contaduría,True,1,3,10
4 | public_location_habilitaciones,Habilitaciones,True,1,3,10
5 | public_location_mesa_de_entrada,Mesa de Entrada,True,1,3,10
6 | public_location_compras,Compras,True,1,3,10
7 | public_location_tmc,Tribunal de Cuentas,True,1,3,10
8 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.preventive_line.csv:
--------------------------------------------------------------------------------
1 | id,transaction_id/id,account_id/id,budget_position_id/id,preventive_amount,advance_line
2 | prev_line_1,budg_trans_caso_1,account_gastos_varios,budg_pos_12,30000,
3 | prev_line_2,budg_trans_caso_1,account_gastos_varios,budg_pos_14,20000,
4 | prev_line_3,budg_trans_caso_2,account_gastos_varios,budg_pos_14,30000,
5 | prev_line_5,budg_trans_caso_3,account_gastos_varios,budg_pos_12,800,
6 | prev_line_6,budg_trans_caso_4,account_gastos_varios,budg_pos_5,1300,
7 | prev_line_7,budg_trans_caso_5,,budg_pos_11,1000,True
8 | prev_line_8,budg_trans_caso_6,,budg_pos_11,1000,True
9 | prev_line_9,budg_trans_caso_7,account_gastos_varios,budg_pos_6,15000,
10 | prev_line_10,budg_trans_caso_8,account_gastos_varios,budg_pos_1,30000,
11 | prev_line_11,budg_trans_caso_8,account_gastos_varios,budg_pos_2,10000,
12 | prev_line_12,budg_trans_caso_8,account_gastos_varios,budg_pos_3,10000,
13 | prev_line_13,budg_trans_caso_9,,budg_pos_17,1500,True
14 | prev_line_14,budg_trans_caso_10,account_gastos_varios,budg_pos_17,1000,
15 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.remit.csv:
--------------------------------------------------------------------------------
1 | id,user_id/id,location_id/id,location_dest_id/id,expedient_ids/id
2 | expedient_remit_1,contaduria_user_user,public_location_secretaria,public_location_mesa_de_entrada,"budget_exp_caso_1,budget_exp_caso_2"
3 | expedient_remit_2,contaduria_user_user,public_location_secretaria,public_location_contaduria,"budget_exp_caso_3,budget_exp_caso_4"
4 | expedient_remit_3,contaduria_user_user,public_location_secretaria,public_location_compras,budget_exp_caso_5
5 |
--------------------------------------------------------------------------------
/public_budget/demo/public_budget.transaction_type.csv:
--------------------------------------------------------------------------------
1 | id,advance_account_id/id,name,with_advance_payment,definitive_partner_type,company_id/id
2 | purchase_type_fondo_fijo_demo,account_fondo_fijo,Fondo Fijo / Caja Chica,True,supplier,company_sipreco
3 | purchase_type_compra_directa_demo,,Compra Directa,,supplier,company_sipreco
4 | purchase_type_lprivada_demo,,Licitación Privada,,supplier,company_sipreco
5 | purchase_type_lpublica_demo,,Licitación Pública,,supplier,company_sipreco
6 | purchase_type_concurso_precios_demo,,Concurso de Precios,,supplier,company_sipreco
7 | purchase_type_sueldos_demo,,Sueldos,,supplier,company_sipreco
8 | purchase_type_anticipo_gasto_demo,account_anticipo_gastos,Anticipo de Gastos,True,supplier,company_sipreco
9 | purchase_type_subsidio_con_cargo_demo,account_subsidio_con_cargo,Anticipo de Gastos,True,subsidy_recipient,company_sipreco
10 | purchase_type_subsidio_sin_cargo_demo,,Subsidio sin Cargo de Rendición,,subsidy_recipient,company_sipreco
11 | purchase_type_compra_directa_con_autorizacion_demo,,Compra Directa con autorización de cuerpo,,supplier,company_sipreco
12 | purchase_type_orden_de_trabajo_demo,,Orden de Trabajo (adicional empleado),,supplier,company_sipreco
13 |
--------------------------------------------------------------------------------
/public_budget/demo/res_company_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 30666666662
9 | SIPRECO
10 | Calle Falsa 456
11 | Rosario
12 |
13 |
14 |
15 | 2000
16 | +1 555 123 8069
17 | info@yourcompany.example.com
18 | www.example.com
19 |
20 |
21 |
22 |
23 |
24 |
25 | exempt
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | SIPRECO
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/public_budget/demo/res_partner_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Personal Permanente
7 |
8 |
9 | 30000001
10 |
11 |
12 |
13 | Personal No Permanente
14 |
15 |
16 | 30000002
17 |
18 |
19 |
20 | Personal Transitorio
21 |
22 |
23 | 30000003
24 |
25 |
26 |
--------------------------------------------------------------------------------
/public_budget/i18n_extra/es.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * public_budget
4 | #
5 | msgid ""
6 | msgstr ""
7 | "Project-Id-Version: Odoo Server 13.0e\n"
8 | "Report-Msgid-Bugs-To: \n"
9 | "POT-Creation-Date: 2017-12-10 22:54+0000\n"
10 | "PO-Revision-Date: 2017-12-11 14:06-0300\n"
11 | "Last-Translator: <>\n"
12 | "Language-Team: \n"
13 | "MIME-Version: 1.0\n"
14 | "Content-Type: text/plain; charset=UTF-8\n"
15 | "Content-Transfer-Encoding: 8bit\n"
16 | "Plural-Forms: \n"
17 | "Language: es\n"
18 | "X-Generator: Poedit 1.8.7.1\n"
19 |
20 | #. module: account_asset
21 | #: model:ir.model.fields,field_description:account_asset.field_account_asset__model_id
22 | #: model:ir.model.fields.selection,name:account_asset.selection__account_asset__state__mod
23 | msgid "Model"
24 | msgstr "Rubro"
25 |
26 |
27 | #. module: account
28 | #: model_terms:ir.ui.view,arch_db:account.view_move_form
29 | msgid "Post"
30 | msgstr "Validar"
31 |
--------------------------------------------------------------------------------
/public_budget/images/README:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/images/README
--------------------------------------------------------------------------------
/public_budget/migrations/11.0.1.1.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 |
3 |
4 | @openupgrade.migrate()
5 | def migrate(env, version):
6 | openupgrade.load_data(
7 | env.cr, 'public_budget', 'data/server_actions_data.xml')
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/11.0.1.18.0/mig_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/11.0.1.18.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 |
3 |
4 | @openupgrade.migrate()
5 | def migrate(env, version):
6 | openupgrade.load_data(
7 | env.cr, 'public_budget', 'migrations/11.0.1.18.0/mig_data.xml')
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/11.0.1.21.0/mig_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/public_budget/migrations/11.0.1.21.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 |
3 |
4 | @openupgrade.migrate()
5 | def migrate(env, version):
6 | openupgrade.load_data(
7 | env.cr, 'public_budget', 'migrations/11.0.1.21.0/mig_data.xml')
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/11.0.1.25.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 |
3 |
4 | @openupgrade.migrate()
5 | def migrate(env, version):
6 | locations = env['public_budget.location'].search([])
7 | locations.write({'expedient_management': True})
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/13.0.1.0.0/mig_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/13.0.1.0.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 |
3 |
4 | @openupgrade.migrate()
5 | def migrate(env, version):
6 | openupgrade.load_data(
7 | env.cr, 'public_budget', 'migrations/13.0.1.0.0/mig_data.xml')
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/13.0.1.16.0/mig_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/13.0.1.16.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 |
3 |
4 | @openupgrade.migrate()
5 | def migrate(env, version):
6 | openupgrade.load_data(
7 | env.cr, 'public_budget', 'migrations/13.0.1.16.0/mig_data.xml')
8 |
--------------------------------------------------------------------------------
/public_budget/migrations/15.0.1.14.0/post-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 | import logging
3 |
4 | logger = logging.getLogger(__name__)
5 |
6 |
7 | @openupgrade.migrate()
8 | def migrate(env, version):
9 | logger.info('Corremos el método computado _compute_cover del modelo public_budget.expedient en aquellos registros con fecha de emisión y creados en el año 2024 y con fecha de última modificación el 16-02-2024 (fecha en la cual se introdujo el bug) que tengan registros en el campo "Proveedor/Empleado" (supplier_ids) y el campo "description" coincida con el campo "cover". Esto lo hacemos porque al momento de imprimir el Reporte de expediente en la carátula no sale concatenado el nombre de "Proveedor/Empleado".')
10 | env['public_budget.expedient'].search([('write_date', '>=', '2024-02-16'), ('issue_date', '>=', '2024-01-01'), ('create_date', '>=', '2024-01-01')]).filtered(lambda x: x.description and x.supplier_ids and x.description == x.cover)._compute_cover()
11 |
--------------------------------------------------------------------------------
/public_budget/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import inventory_rule
2 | from . import res_partner
3 | from . import account_payment_group
4 | from . import account_payment
5 | from . import account_move
6 | from . import advance_request_type
7 | from . import advance_request
8 | from . import transaction_type
9 | from . import transaction_type_amo_rest
10 | from . import advance_return
11 | from . import expedient_category
12 | from . import location
13 | from . import budget_modification_detail
14 | from . import funding_move
15 | from . import account_move_line
16 | from . import rest_type
17 | from . import res_users
18 | from . import budget_position
19 | from . import res_company
20 | from . import budget_detail
21 | from . import budget_prec_detail
22 | from . import preventive_line
23 | from . import definitive_line
24 | from . import transaction
25 | from . import budget_position_category
26 | from . import budget
27 | from . import remit
28 | from . import advance_return_line
29 | from . import budget_pos_exc_rest
30 | from . import budget_modification
31 | from . import expedient
32 | from . import advance_request_line
33 | from . import expedient_founder
34 | from . import account_bank_statement
35 | from . import account_journal
36 | from . import account_tax
37 | from . import account_asset
38 | from . import l10n_latam_document_type
39 |
--------------------------------------------------------------------------------
/public_budget/models/account_bank_statement.py:
--------------------------------------------------------------------------------
1 | from odoo import models, _
2 | from odoo.exceptions import ValidationError
3 | import logging
4 | _logger = logging.getLogger(__name__)
5 |
6 |
7 | class AccountBankStatementLine(models.Model):
8 |
9 | _inherit = 'account.bank.statement.line'
10 |
11 | def process_reconciliation(
12 | self, counterpart_aml_dicts=None, payment_aml_rec=None,
13 | new_aml_dicts=None):
14 | max_operation = self.journal_id.max_statement_operation
15 | if counterpart_aml_dicts:
16 | raise ValidationError(_(
17 | 'No se puede pagar una deuda desde aquí. Utilice las órdenes '
18 | 'de pago'))
19 | elif new_aml_dicts and max_operation:
20 | debit = sum([x.get('debit', 0.0) for x in new_aml_dicts])
21 | credit = sum([x.get('credit', 0.0) for x in new_aml_dicts])
22 | # for line in new_aml_dicts:
23 | # if line.get('debit') > max_statement_operation or\
24 | # line.get('credit') > max_statement_operation:
25 | if credit > max_operation or debit > max_operation:
26 | raise ValidationError(_(
27 | 'No puede hacer un registro en extractos mayor a %s'
28 | ) % (max_operation))
29 |
30 | return super().process_reconciliation(
31 | counterpart_aml_dicts=counterpart_aml_dicts,
32 | payment_aml_rec=payment_aml_rec,
33 | new_aml_dicts=new_aml_dicts,
34 | )
35 |
--------------------------------------------------------------------------------
/public_budget/models/account_journal.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class AccountJournal(models.Model):
5 |
6 | _inherit = 'account.journal'
7 |
8 | max_statement_operation = fields.Float(
9 | )
10 |
--------------------------------------------------------------------------------
/public_budget/models/account_tax.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 | from dateutil.relativedelta import relativedelta
3 | import datetime
4 |
5 |
6 | class AccountTax(models.Model):
7 | _inherit = "account.tax"
8 |
9 | def get_period_payments_domain(self, payment_group):
10 | """ en sipreco usamos to_signature_date en vez de payment_date
11 | """
12 | to_date = fields.Date.from_string(
13 | payment_group.to_signature_date) or datetime.date.today()
14 | common_previous_domain = [
15 | ('partner_id.commercial_partner_id', '=',
16 | payment_group.commercial_partner_id.id),
17 | ]
18 | if self.withholding_accumulated_payments == 'month':
19 | from_relative_delta = relativedelta(day=1)
20 | elif self.withholding_accumulated_payments == 'year':
21 | from_relative_delta = relativedelta(day=1, month=1)
22 | from_date = to_date + from_relative_delta
23 | common_previous_domain += [
24 | ('to_signature_date', '<=', to_date),
25 | ('to_signature_date', '>=', from_date),
26 | ]
27 |
28 | previous_payment_groups_domain = common_previous_domain + [
29 | ('state', 'not in', ['draft', 'cancel', 'confirmed']),
30 | ('id', '!=', payment_group.id),
31 | ]
32 | # for compatibility with public_budget we check state not in and not
33 | # state in posted. Just in case someone implements payments cancelled
34 | # on posted payment group, we remove the cancel payments (not the
35 | # draft ones as they are also considered by public_budget)
36 | previous_payments_domain = common_previous_domain + [
37 | ('payment_group_id.state', 'not in',
38 | ['draft', 'cancel', 'confirmed']),
39 | ('state', '!=', 'cancel'),
40 | ('tax_withholding_id', '=', self.id),
41 | ('payment_group_id.id', '!=', payment_group.id),
42 | ]
43 | return (previous_payment_groups_domain, previous_payments_domain)
44 |
--------------------------------------------------------------------------------
/public_budget/models/advance_return_line.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api
2 |
3 |
4 | class AdvanceReturnLine(models.Model):
5 |
6 | _name = 'public_budget.advance_return_line'
7 | _description = 'Advance Return Lines'
8 |
9 | employee_id = fields.Many2one(
10 | 'res.partner',
11 | required=True,
12 | context={'default_employee': 1},
13 | domain=[('employee', '=', True)]
14 | )
15 | debt_amount = fields.Monetary(
16 | required=True,
17 | compute='_compute_amounts',
18 | )
19 | returned_amount = fields.Monetary(
20 | required=True,
21 | )
22 | advance_return_id = fields.Many2one(
23 | 'public_budget.advance_return',
24 | ondelete='cascade',
25 | required=True,
26 | auto_join=True
27 | )
28 | state = fields.Selection(
29 | related='advance_return_id.state',
30 | readonly=False,
31 | )
32 | currency_id = fields.Many2one(
33 | related='advance_return_id.company_id.currency_id',
34 | )
35 |
36 | @api.depends(
37 | 'employee_id',
38 | )
39 | def _compute_amounts(self):
40 | self.debt_amount = 0.0
41 | for rec in self.filtered('employee_id'):
42 | rec.debt_amount = rec.employee_id.get_debt_amount(
43 | rec.advance_return_id.type_id)
44 |
--------------------------------------------------------------------------------
/public_budget/models/budget_detail.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, _
2 |
3 |
4 | class BudgetDetail(models.Model):
5 |
6 | _name = 'public_budget.budget_detail'
7 | _description = 'Budget Detail'
8 |
9 | _order = "budget_position_id"
10 |
11 | initial_amount = fields.Monetary(
12 | required=True,
13 | )
14 | state = fields.Selection(
15 | related='budget_id.state'
16 | )
17 | budget_id = fields.Many2one(
18 | 'public_budget.budget',
19 | required=True
20 | )
21 | budget_position_id = fields.Many2one(
22 | 'public_budget.budget_position',
23 | required=True,
24 | context={
25 | 'default_type': 'normal', 'default_budget_assignment_allowed': 1},
26 | domain=[('budget_assignment_allowed', '=', True)]
27 | )
28 | currency_id = fields.Many2one(
29 | related='budget_id.currency_id',
30 | )
31 | amount = fields.Monetary(
32 | compute='_compute_amount',
33 | )
34 | modifications = fields.Monetary(
35 | compute='_compute_amount',
36 | )
37 |
38 | _sql_constraints = [
39 | ('position_unique', 'unique(budget_position_id, budget_id)',
40 | _('Budget Position must be unique per Budget.'))]
41 |
42 | def _compute_amount(self):
43 | for rec in self:
44 | modifications = sum(
45 | rec.budget_id.budget_modification_ids.mapped(
46 | 'budget_modification_detail_ids').filtered(
47 | lambda x: x.budget_position_id == rec.
48 | budget_position_id).mapped('amount'))
49 | rec.update({
50 | 'amount': rec.initial_amount + modifications,
51 | 'modifications': modifications,
52 | })
53 |
--------------------------------------------------------------------------------
/public_budget/models/budget_pos_exc_rest.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class BudgetPositionExchangeRestriction(models.Model):
5 |
6 | _name = 'public_budget.budget_pos_exc_rest'
7 | _description = 'Budget Position Exchange Restriction'
8 |
9 | origin_category_id = fields.Many2one(
10 | 'public_budget.budget_position_category',
11 | required=True
12 | )
13 | destiny_category_id = fields.Many2one(
14 | 'public_budget.budget_position_category',
15 | required=True
16 | )
17 | type = fields.Selection(
18 | [('alert', 'Alert'), ('block', 'Block')],
19 | required=True
20 | )
21 | message = fields.Char(
22 | required=True
23 | )
24 |
--------------------------------------------------------------------------------
/public_budget/models/budget_position_category.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class BudgetPositionCategory(models.Model):
5 | """Budget Position Category"""
6 |
7 | _name = 'public_budget.budget_position_category'
8 | _description = 'Budget Position Category'
9 |
10 | name = fields.Char(
11 | required=True
12 | )
13 |
--------------------------------------------------------------------------------
/public_budget/models/budget_prec_detail.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class BudgetPrecloseDetail(models.Model):
5 | """"""
6 |
7 | _name = 'public_budget.budget_prec_detail'
8 | _description = 'Budget Preclose Detail'
9 | _order = "order_int"
10 |
11 | budget_position_id = fields.Many2one(
12 | 'public_budget.budget_position',
13 | required=True
14 | )
15 | amount = fields.Monetary(
16 | readonly=True,
17 | required=True,
18 | )
19 | draft_amount = fields.Monetary(
20 | readonly=True,
21 | required=True,
22 | )
23 | preventive_amount = fields.Monetary(
24 | readonly=True,
25 | required=True,
26 | )
27 | definitive_amount = fields.Monetary(
28 | readonly=True,
29 | required=True,
30 | )
31 | to_pay_amount = fields.Monetary(
32 | readonly=True,
33 | required=True,
34 | )
35 | paid_amount = fields.Monetary(
36 | readonly=True,
37 | required=True,
38 | )
39 | balance_amount = fields.Monetary(
40 | readonly=True,
41 | required=True,
42 | )
43 | account_type = fields.Selection(
44 | string='Type',
45 | related='budget_position_id.type',
46 | )
47 | order_int = fields.Integer(
48 | string='Parent Left'
49 | )
50 | budget_id = fields.Many2one(
51 | 'public_budget.budget',
52 | required=True
53 | )
54 | currency_id = fields.Many2one(
55 | related='budget_id.company_id.currency_id',
56 | )
57 |
--------------------------------------------------------------------------------
/public_budget/models/expedient_category.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class ExpedientCategory(models.Model):
5 |
6 | _name = 'public_budget.expedient_category'
7 | _description = 'Expedient Category'
8 |
9 | name = fields.Char(
10 | required=True
11 | )
12 |
--------------------------------------------------------------------------------
/public_budget/models/expedient_founder.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class ExpedientFounder(models.Model):
5 |
6 | _name = 'public_budget.expedient_founder'
7 | _description = 'Expedient Founder'
8 |
9 | name = fields.Char(
10 | required=True
11 | )
12 |
--------------------------------------------------------------------------------
/public_budget/models/inventory_rule.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class InventoryRule(models.Model):
5 | """"""
6 |
7 | _name = 'public_budget.inventory_rule'
8 | _description = 'Inventory Rule'
9 |
10 | date = fields.Date(
11 | required=True,
12 | default=fields.Date.context_today
13 | )
14 | min_amount = fields.Monetary(
15 | string='Minimum Amount',
16 | required=True,
17 | )
18 | company_id = fields.Many2one(
19 | 'res.company',
20 | required=True,
21 | default=lambda self: self.env.company
22 | )
23 | currency_id = fields.Many2one(
24 | related='company_id.currency_id',
25 | )
26 |
--------------------------------------------------------------------------------
/public_budget/models/l10n_latam_document_type.py:
--------------------------------------------------------------------------------
1 | from odoo import models
2 |
3 |
4 | class L10nLatamDocumentType(models.Model):
5 |
6 | _inherit = 'l10n_latam.document.type'
7 |
8 |
9 | def _format_document_number(self, document_number):
10 | """ We consider that validation not apply to recipts
11 | """
12 | if self._context.get('is_recipt', False):
13 | return document_number
14 | return super()._format_document_number(document_number)
15 |
--------------------------------------------------------------------------------
/public_budget/models/location.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api
2 |
3 |
4 | class Location(models.Model):
5 |
6 | _name = 'public_budget.location'
7 | _inherit = ['mail.thread', 'mail.activity.mixin']
8 | _description = 'Location'
9 | _rec_name = 'complete_name'
10 |
11 | _order = "name"
12 |
13 | name = fields.Char(
14 | required=True,
15 | )
16 | complete_name = fields.Char(
17 | compute='_compute_complete_name',
18 | store=True,
19 | )
20 | user_ids = fields.Many2many(
21 | 'res.users',
22 | 'public_budget_user_ids_location_ids_rel',
23 | 'location_id',
24 | 'users_id',
25 | string='Users'
26 | )
27 | user_id = fields.Many2one(
28 | 'res.users',
29 | 'Responsable',
30 | tracking=True,
31 | )
32 | asset_management = fields.Boolean('For asset management')
33 | expedient_management = fields.Boolean('For expedient management')
34 | level = fields.Char()
35 | number = fields.Char()
36 | building = fields.Char()
37 | active = fields.Boolean(
38 | tracking=True,
39 | default=True,
40 | )
41 |
42 | @api.depends('name', 'level', 'number', 'building')
43 | def _compute_complete_name(self):
44 | for location in self:
45 | name = location.name
46 | if location.level:
47 | name += '-' + location.level
48 | if location.number:
49 | name += '-' + location.number
50 | if location.building:
51 | name += '-' + location.building
52 | location.complete_name = name
53 |
--------------------------------------------------------------------------------
/public_budget/models/res_company.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class ResCompany(models.Model):
5 |
6 | _inherit = 'res.company'
7 |
8 | inventory_rule_ids = fields.One2many(
9 | 'public_budget.inventory_rule',
10 | 'company_id',
11 | string='Inventory Rules'
12 | )
13 |
--------------------------------------------------------------------------------
/public_budget/models/res_users.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api
2 |
3 |
4 | class ResUsers(models.Model):
5 |
6 | _inherit = 'res.users'
7 |
8 | location_ids = fields.Many2many(
9 | 'public_budget.location',
10 | 'public_budget_user_ids_location_ids_rel',
11 | 'users_id',
12 | 'location_id',
13 | string='Allowed Locations'
14 | )
15 |
16 | expedient_category_ids = fields.Many2many(
17 | 'public_budget.expedient_category',
18 | 'public_budget_user_ids_category_ids_rel',
19 | 'users_id',
20 | 'category_id',
21 | string='Allowed Expedient Categories'
22 | )
23 | public_portal_groups_ids = fields.Many2many(
24 | 'res.groups',
25 | compute='_compute_public_portal_groups_ids',
26 | inverse='_inverse_public_portal_groups_ids',
27 | string='Portal Groups',
28 | domain=lambda self: [('category_id', '=', self.env.ref(
29 | 'public_budget.category_public_budget_portal', raise_if_not_found=False) and self.env.ref(
30 | 'public_budget.category_public_budget_portal', raise_if_not_found=False).id or False)],
31 | )
32 | is_portal_user = fields.Boolean(
33 | compute='_compute_is_portal_user',
34 | )
35 |
36 | @api.depends('groups_id')
37 | def _compute_is_portal_user(self):
38 | for rec in self:
39 | rec.is_portal_user = rec.groups_id.filtered(
40 | lambda g: g == self.env.ref('base.group_portal')) or False
41 |
42 | def _inverse_public_portal_groups_ids(self):
43 | for rec in self:
44 | rec.groups_id = rec.public_portal_groups_ids
45 |
46 | def _compute_public_portal_groups_ids(self):
47 | portal_group = self.env.ref('public_budget.category_public_budget_portal', raise_if_not_found=False) or None
48 | if not portal_group:
49 | self.update({'public_portal_groups_ids': self.env['res.groups']})
50 | for rec in self:
51 | groups = rec.groups_id.filtered(
52 | lambda g: g.category_id == portal_group)
53 | rec.public_portal_groups_ids = groups
54 |
--------------------------------------------------------------------------------
/public_budget/models/rest_type.py:
--------------------------------------------------------------------------------
1 | from odoo import models
2 |
3 |
4 | class RestType(models.Model):
5 | """
6 | Parece que no es usado para nada pero es posible que si, tengo que
7 | analizarlo
8 | """
9 |
10 | _name = 'public_budget.rest_type'
11 | _description = 'rest_type'
12 |
--------------------------------------------------------------------------------
/public_budget/models/transaction_type.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api, _
2 | from odoo.exceptions import ValidationError
3 |
4 |
5 | class TransactionType(models.Model):
6 | """Transaction Type"""
7 |
8 | _name = 'public_budget.transaction_type'
9 | _description = 'Transaction Type'
10 |
11 | name = fields.Char(
12 | required=True,
13 | translate=True
14 | )
15 | with_amount_restriction = fields.Boolean(
16 | string='With Amount Restriction?'
17 | )
18 | with_advance_payment = fields.Boolean(
19 | string='With advance payment?'
20 | )
21 | advance_account_id = fields.Many2one(
22 | 'account.account',
23 | string='Advance Account',
24 | domain="[('company_id', '=', company_id), "
25 | "('internal_type', '!=', 'liquidity'), ('deprecated', '=', False),"
26 | " ('reconcile', '=', False)]",
27 | help='This account will be used on advance payments. Must be a payable'
28 | ' account.',
29 | )
30 | amount_restriction_ids = fields.One2many(
31 | 'public_budget.transaction_type_amo_rest',
32 | 'transaction_type_id',
33 | string='Amount Restrictions'
34 | )
35 | company_id = fields.Many2one(
36 | 'res.company',
37 | required=True,
38 | default=lambda self: self.env.company,
39 | )
40 | definitive_partner_type = fields.Selection([
41 | ('supplier', 'Suppliers'),
42 | ('subsidy_recipient', 'Subsidy Recipients'),
43 | ],
44 | 'Definitive Partner Type',
45 | default='supplier',
46 | required=True,
47 | )
48 |
49 | @api.constrains('advance_account_id', 'company_id')
50 | def check_account_company(self):
51 | for rec in self:
52 | if (
53 | rec.advance_account_id and
54 | rec.advance_account_id.company_id != rec.company_id
55 | ):
56 | raise ValidationError(_(
57 | 'Company must be the same as Account Company!'))
58 |
--------------------------------------------------------------------------------
/public_budget/models/transaction_type_amo_rest.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class TransactionTypeAmountRestriction(models.Model):
5 | """Transaction Type Amount Restriction"""
6 |
7 | _name = 'public_budget.transaction_type_amo_rest'
8 | _description = 'Transaction Type Amount Restriction'
9 |
10 | _order = "date desc"
11 |
12 | date = fields.Date(
13 | required=True,
14 | default=fields.Date.context_today
15 | )
16 | from_amount = fields.Monetary(
17 | required=True,
18 | )
19 | to_amount = fields.Monetary(
20 | required=True,
21 | )
22 | transaction_type_id = fields.Many2one(
23 | 'public_budget.transaction_type',
24 | ondelete='cascade',
25 | string='transaction_type_id',
26 | required=True
27 | )
28 | currency_id = fields.Many2one(
29 | related='transaction_type_id.company_id.currency_id',
30 | )
31 |
--------------------------------------------------------------------------------
/public_budget/reports/__init__.py:
--------------------------------------------------------------------------------
1 | from . import advance_request_analysis
2 | # Por ahora vamos a ahcer una vista para analizar las líneas preventivas
3 | # from . import public_budget_budget_report_3
4 | from . import public_budget_budget_report_4
5 |
--------------------------------------------------------------------------------
/public_budget/reports/advance_request_debt_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/advance_request_debt_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/advance_request_debt_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Advance Request Debt Report
7 | ir.actions.report
8 | public_budget.advance_request_type
9 | advance_request_debt_report
10 | aeroo
11 | oo-odt
12 | public_budget/reports/advance_request_debt_report.odt
13 | file
14 |
15 | specified
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/advance_request_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/advance_request_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/advance_request_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Advance Request Report
7 | public_budget.advance_request
8 | advance_request_report
9 | aeroo
10 | oo-odt
11 | public_budget/reports/advance_request_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/advance_return_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/advance_return_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/advance_return_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Advance Return Report
6 | ir.actions.report
7 | public_budget.advance_return
8 | advance_return_report
9 | aeroo
10 | oo-odt
11 | public_budget/reports/advance_return_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_alta_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_alta_report.ods
--------------------------------------------------------------------------------
/public_budget/reports/asset_amend_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_amend_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/asset_amend_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Reporte de Activos a Corregir
6 | account.asset
7 | asset_amend_report
8 | aeroo
9 | oo-odt
10 | public_budget/reports/asset_amend_report.odt
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_baja_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_baja_report.ods
--------------------------------------------------------------------------------
/public_budget/reports/asset_missing_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_missing_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/asset_missing_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Reporte de Faltante de Activos
6 | account.asset
7 | asset_missing_report
8 | aeroo
9 | oo-odt
10 | public_budget/reports/asset_missing_report.odt
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_printing_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_printing_report.ods
--------------------------------------------------------------------------------
/public_budget/reports/asset_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_report.ods
--------------------------------------------------------------------------------
/public_budget/reports/asset_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/asset_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/asset_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Reporte de Activos
7 | account.asset
8 | asset_report
9 | aeroo
10 | oo-odt
11 | public_budget/reports/asset_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_report_alta.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Reporte de Activos Alta
6 | account.asset
7 | asset_report_alta
8 | aeroo
9 | oo-ods
10 | public_budget/reports/asset_alta_report.ods
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_report_baja.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Reporte de Activos Baja
6 | account.asset
7 | asset_report_baja
8 | aeroo
9 | oo-ods
10 | public_budget/reports/asset_baja_report.ods
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_report_excel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Reporte de Activos Excel
6 | account.asset
7 | asset_report_excel
8 | aeroo
9 | oo-ods
10 | public_budget/reports/asset_report.ods
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/asset_report_printing.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Reporte de Impresion de Etiquetas
6 | account.asset
7 | asset_report_printing
8 | aeroo
9 | oo-ods
10 | public_budget/reports/asset_printing_report.ods
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/budget_modification_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/budget_modification_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/budget_modification_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Budget Modification Report
5 | public_budget.budget_modification
6 | budget_modification_report
7 | aeroo
8 | oo-odt
9 | public_budget/reports/budget_modification_report.odt
10 | file
11 |
12 | specified
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public_budget/reports/budget_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/budget_report.ods
--------------------------------------------------------------------------------
/public_budget/reports/budget_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/budget_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/budget_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Budget Report
7 | ir.actions.report
8 | public_budget.budget
9 | budget_report
10 | aeroo
11 | oo-odt
12 | public_budget/reports/budget_report.odt
13 | file
14 |
15 | specified
16 |
17 |
18 | report
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public_budget/reports/budget_report_excel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Budget Report Excel
6 | ir.actions.report
7 | public_budget.budget
8 | budget_report_excel
9 | aeroo
10 | oo-ods
11 | public_budget/reports/budget_report.ods
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public_budget/reports/expedient_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/expedient_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/expedient_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Expedient Report
7 | public_budget.expedient
8 | expedient_report
9 | aeroo
10 | oo-odt
11 | public_budget/reports/expedient_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public_budget/reports/liquidation_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/liquidation_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/liquidation_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Liquidation Report
7 | ir.actions.report
8 | account.move
9 | liquidation_report
10 | aeroo
11 | oo-odt
12 | public_budget/reports/liquidation_report.odt
13 |
14 | file
15 |
16 | specified
17 |
18 |
19 | report
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public_budget/reports/payment_list_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/payment_list_report.ods
--------------------------------------------------------------------------------
/public_budget/reports/payment_list_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Payment List Report
6 | account.payment.group
7 | payment_list_report
8 | aeroo
9 | oo-ods
10 | public_budget/reports/payment_list_report.ods
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/payment_order.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/payment_order.odt
--------------------------------------------------------------------------------
/public_budget/reports/payment_order_list.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/payment_order_list.odt
--------------------------------------------------------------------------------
/public_budget/reports/payment_order_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ordenes de Pago - Listado con Cheques
6 | account.payment.group
7 | payment_order_list_checks
8 | aeroo
9 | oo-odt
10 | public_budget/reports/payment_order_list.odt
11 | file
12 |
13 | specified
14 |
15 |
16 | report
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/payment_order_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Orden de Pago
6 | account.payment.group
7 | aeroo_report_payment
8 | aeroo
9 | oo-odt
10 | public_budget/reports/payment_order.odt
11 | file
12 | specified
13 |
14 |
15 |
16 | (object.partner_type == 'supplier' and 'Orden de pago' or 'Recibo') + ' ' + object.document_number
17 |
18 | report
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/public_budget/reports/payment_receipt_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/payment_receipt_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/payment_receipt_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Payment Receipt Report
6 | account.payment.group
7 | payment_receipt_report
8 | aeroo
9 | oo-odt
10 | public_budget/reports/payment_receipt_report.odt
11 | file
12 |
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
--------------------------------------------------------------------------------
/public_budget/reports/remit_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/remit_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/remit_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Remit Report
7 | public_budget.remit
8 | remit_report
9 | aeroo
10 | oo-odt
11 | public_budget/reports/remit_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public_budget/reports/reports_stylesheet.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/reports_stylesheet.odt
--------------------------------------------------------------------------------
/public_budget/reports/statement_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | specified
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/public_budget/reports/stylesheet.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Sipreco Style Sheet
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/public_budget/reports/transaction_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/reports/transaction_report.odt
--------------------------------------------------------------------------------
/public_budget/reports/transaction_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | transaction Report
7 | public_budget.transaction
8 | transaction_report
9 | aeroo
10 | oo-odt
11 | public_budget/reports/transaction_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/public_budget/security/hide_groups.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Sale / User
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/public_budget/static/description/asset-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/static/description/asset-icon.png
--------------------------------------------------------------------------------
/public_budget/static/description/expedient.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/static/description/expedient.png
--------------------------------------------------------------------------------
/public_budget/static/description/icon (old).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/static/description/icon (old).png
--------------------------------------------------------------------------------
/public_budget/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/public_budget/static/description/icon.png
--------------------------------------------------------------------------------
/public_budget/views/account_checkbook_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | l10n_latam.checkbook.tree
7 | l10n_latam.checkbook
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | Gestionar Chequeras
18 | l10n_latam.checkbook
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/public_budget/views/account_journal_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | account.journal.form
7 | account.journal
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/public_budget/views/account_move_line_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | account.move.line.tree.inherit
8 | account.move.line
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/public_budget/views/budget_position_category_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.budget_position_category.select
6 | public_budget.budget_position_category
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | public_budget.budget_position_category.form
19 | public_budget.budget_position_category
20 |
21 |
33 |
34 |
35 |
36 |
37 |
38 | public_budget.budget_position_category.tree
39 | public_budget.budget_position_category
40 |
41 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/public_budget/views/custom_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
21 |
22 |
23 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
36 |
37 |
38 |
39 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/public_budget/views/expedient_category_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.expedient_category.select
6 | public_budget.expedient_category
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | public_budget.expedient_category.form
19 | public_budget.expedient_category
20 |
21 |
33 |
34 |
35 |
36 |
37 |
38 | public_budget.expedient_category.tree
39 | public_budget.expedient_category
40 |
41 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/public_budget/views/expedient_founder_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.expedient_founder.select
6 | public_budget.expedient_founder
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | public_budget.expedient_founder.form
19 | public_budget.expedient_founder
20 |
21 |
32 |
33 |
34 |
35 |
36 |
37 | public_budget.expedient_founder.tree
38 | public_budget.expedient_founder
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/public_budget/views/hr_public_holidays_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | hr.holidays.public.form
5 | hr.holidays.public
6 |
7 |
8 |
9 | 1
10 |
11 |
12 | 1
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/public_budget/views/inventory_rule_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.inventory_rule.select
6 | public_budget.inventory_rule
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | public_budget.inventory_rule.form
18 | public_budget.inventory_rule
19 |
20 |
31 |
32 |
33 |
34 |
35 |
36 | public_budget.inventory_rule.tree
37 | public_budget.inventory_rule
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/public_budget/views/public_budget_actions.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/public_budget/views/res_company_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.company.select
6 | res.company
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | public_budget.company.form
16 | res.company
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | public_budget.company.tree
32 | res.company
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/public_budget/views/res_users_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public_budget.users.form
7 | res.users
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/public_budget/views/rest_type_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.rest_type.select
6 | public_budget.rest_type
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | public_budget.rest_type.form
18 | public_budget.rest_type
19 |
20 |
31 |
32 |
33 |
34 |
35 |
36 | public_budget.rest_type.tree
37 | public_budget.rest_type
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/public_budget/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import transaction_definitive_make_invoice_detail
2 | from . import transaction_definitive_make_invoice
3 | from . import transaction_definitive_mass_invoice_create
4 | from . import budget_analysis_wizard
5 | from . import avance_request_report_wizard
6 | from . import public_budget_preventive_changeposition
7 | from . import transfer_assets_wizard
8 |
--------------------------------------------------------------------------------
/public_budget/wizards/avance_request_report_wizard.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class PublicBudgetAvanceRequestReportWizard(models.TransientModel):
5 | _name = "public_budget.advance.request.report.wizard"
6 | _description = "public_budget.advance.request.report.wizard"
7 |
8 | type_id = fields.Many2one(
9 | 'public_budget.advance_request_type',
10 | string='Tipo',
11 | required=True,
12 | )
13 | to_date = fields.Date(
14 | 'Hasta Fecha',
15 | )
16 |
17 | def confirm(self):
18 | self.ensure_one()
19 | return self.env['ir.actions.report'].search(
20 | [('report_name', '=', 'advance_request_debt_report')],
21 | limit=1).with_context(
22 | to_date=self.to_date).report_action(self.type_id)
23 |
--------------------------------------------------------------------------------
/public_budget/wizards/avance_request_report_wizard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Advance Request Debt Report Wizard
5 | public_budget.advance.request.report.wizard
6 |
7 |
18 |
19 |
20 |
21 |
22 | Deudas de Adelantos a Fecha
23 | public_budget.advance.request.report.wizard
24 | form
25 | new
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public_budget/wizards/budget_analysis_wizard.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class PublicBudgetBudgetAnalysisWizard(models.TransientModel):
5 | _name = "public_budget.budget.analysis.wizard"
6 | _description = "public_budget.budget.analysis.wizard"
7 |
8 | budget_id = fields.Many2one(
9 | 'public_budget.budget',
10 | 'Presupuesto',
11 | required=True,
12 | )
13 | to_date = fields.Date(
14 | 'Hasta Fecha',
15 | )
16 |
17 | def open(self):
18 | self.ensure_one()
19 | action_read = self.env["ir.actions.act_window"]._for_xml_id('public_budget.action_public_budget_budget_budgets')
20 | form_view = self.env.ref('public_budget.view_public_budget_budget_to_date_form')
21 | action_read.pop('views')
22 | action_read['target'] = 'inlineview'
23 | action_read['res_id'] = self.budget_id.id
24 | action_read['view_mode'] = 'form'
25 | action_read['view_id'] = form_view.id,
26 | action_read['context'] = {
27 | 'budget_id': self.budget_id.id,
28 | 'analysis_to_date': self.to_date,
29 | }
30 | return action_read
31 |
32 | def print_report(self):
33 | self.ensure_one()
34 | action = self.env.ref('public_budget.action_aeroo_report_budget')
35 | return {
36 | 'actions': [
37 | {'type': 'ir.actions.act_window_close'},
38 | action.with_context(
39 | analysis_to_date=self.to_date
40 | ).report_action(self.budget_id),
41 | ],
42 | 'type': 'ir.actions.act_multi',
43 | }
44 |
--------------------------------------------------------------------------------
/public_budget/wizards/budget_analysis_wizard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Budget Analysis Wizard
5 | public_budget.budget.analysis.wizard
6 |
7 |
21 |
22 |
23 |
24 |
25 | Budget Analysis Wizard
26 | public_budget.budget.analysis.wizard
27 | form
28 | new
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/public_budget/wizards/public_budget_preventive_changeposition.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, _
2 | from odoo.exceptions import ValidationError
3 |
4 |
5 | class PublicBudgetPreventiveChangePosition(models.TransientModel):
6 | _name = "public_budget.preventive.change_position"
7 | _description = "public_budget.preventive.change_position"
8 |
9 | new_budget_position_id = fields.Many2one(
10 | 'public_budget.budget_position',
11 | string='Budget Position',
12 | required=True,
13 | ondelete='cascade',
14 | context={'default_type': 'normal'},
15 | domain=[('type', '=', 'normal')],
16 | )
17 |
18 | def confirm(self):
19 | self.ensure_one()
20 | active_id = self._context.get('active_id')
21 | active_model = self._context.get('active_model')
22 | if active_model != 'public_budget.preventive_line' or not active_id:
23 | return False
24 | prev_line = self.env[active_model].browse(active_id)
25 | if prev_line.budget_id.state != 'open':
26 | raise ValidationError(_(
27 | 'You can only change budget position if budget is open!'))
28 | prev_line.budget_position_id = self.new_budget_position_id.id
29 |
--------------------------------------------------------------------------------
/public_budget/wizards/public_budget_preventive_changeposition_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Preventive Change Position
5 | public_budget.preventive.change_position
6 |
7 |
17 |
18 |
19 |
20 |
21 | Preventive Change Position
22 | ir.actions.act_window
23 | public_budget.preventive.change_position
24 | form
25 |
26 | new
27 |
28 |
29 |
--------------------------------------------------------------------------------
/public_budget/wizards/transaction_definitive_make_invoice_detail.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api, _
2 | from odoo.exceptions import ValidationError
3 | from odoo.tools import float_compare
4 |
5 |
6 | class PublicBudgetDefinitiveMakeInvoiceDetail(models.TransientModel):
7 | _name = "public_budget.definitive.make.invoice.detail"
8 | _description = "public_budget.definitive.make.invoice.detail"
9 |
10 | definitive_make_invoice_id = fields.Many2one(
11 | 'public_budget.definitive.make.invoice',
12 | 'Def Make Invoice',
13 | )
14 | definitive_line_id = fields.Many2one(
15 | 'public_budget.definitive_line',
16 | 'Definitive Line',
17 | readonly=True,
18 | )
19 | residual_amount = fields.Monetary(
20 | related='definitive_line_id.residual_amount',
21 | )
22 | to_invoice_amount = fields.Monetary(
23 | 'Amount',
24 | )
25 | full_imputation = fields.Boolean(
26 | 'Full Imputation?',
27 | )
28 | currency_id = fields.Many2one(
29 | related='definitive_line_id.currency_id',
30 | )
31 |
32 | @api.onchange('full_imputation')
33 | def change_full_imputation(self):
34 | self.to_invoice_amount = self.definitive_line_id.residual_amount
35 |
36 | @api.constrains(
37 | 'to_invoice_amount'
38 | )
39 | def _check_amounts(self):
40 | if self.filtered(
41 | lambda x: float_compare(
42 | x.residual_amount, x.to_invoice_amount,
43 | precision_rounding=x.currency_id.rounding) < 0):
44 | raise ValidationError(
45 | _("To Invoice Amount can't be greater than Residual Amount"))
46 |
--------------------------------------------------------------------------------
/public_budget/wizards/transaction_definitive_mass_invoice_create_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Mass Invoice Create
5 | public_budget.definitive.mass.invoice.create
6 |
7 |
20 |
21 |
22 |
23 |
24 | Mass Invoice Create
25 | public_budget.definitive.mass.invoice.create
26 | form
27 | new
28 |
29 |
30 |
--------------------------------------------------------------------------------
/public_budget/wizards/transfer_asset_wizard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Transfer Asset Wizard
5 | public_budget.transfer.asset.wizard
6 |
7 |
17 |
18 |
19 |
20 |
21 | Asistente de Transferencia de Activos
22 | public_budget.transfer.asset.wizard
23 | form
24 | new
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/public_budget/wizards/transfer_assets_wizard.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class PublicBudgetTransferAssetWizard(models.TransientModel):
5 | _name = "public_budget.transfer.asset.wizard"
6 | _description = "public_budget.transfer.asset.wizard"
7 |
8 | location_id = fields.Many2one(
9 | 'public_budget.location',
10 | required=True,
11 | string='Location Destiny',
12 | domain=[('asset_management', '=', True)],
13 | )
14 |
15 | def confirm(self):
16 | self.ensure_one()
17 | active_id = self._context.get('active_id', False)
18 | if active_id:
19 | asset = self.env['account.asset'].browse(
20 | active_id)
21 | asset.location_id = self.location_id
22 | asset.transit = True
23 | return True
24 |
--------------------------------------------------------------------------------
/public_budget_subscription/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ==========================
14 | Public Budget Subscription
15 | ==========================
16 |
17 | This module of purchase Subscription and adds some specific changes in views.
18 |
19 | Installation
20 | ============
21 |
22 | To install this module, you need to:
23 |
24 | #. Only need to install the module
25 |
26 | Configuration
27 | =============
28 |
29 | To configure this module, you need to:
30 |
31 | #. Nothing to configure
32 |
33 | Usage
34 | =====
35 |
36 | To use this module, you need to:
37 |
38 | #. Go to Purchase / Subscription
39 |
40 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
41 | :alt: Try me on Runbot
42 | :target: http://runbot.adhoc.com.ar/
43 |
44 | Bug Tracker
45 | ===========
46 |
47 | Bugs are tracked on `GitHub Issues
48 | `_. In case of trouble, please
49 | check there if your issue has already been reported. If you spotted it first,
50 | help us smashing it by providing a detailed and welcomed feedback.
51 |
52 | Credits
53 | =======
54 |
55 | Images
56 | ------
57 |
58 | * |company| |icon|
59 |
60 | Contributors
61 | ------------
62 |
63 | Maintainer
64 | ----------
65 |
66 | |company_logo|
67 |
68 | This module is maintained by the |company|.
69 |
70 | To contribute to this module, please visit https://www.adhoc.com.ar.
71 |
--------------------------------------------------------------------------------
/public_budget_subscription/__init__.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from . import models
6 |
--------------------------------------------------------------------------------
/public_budget_subscription/__manifest__.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | #
3 | # Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar)
4 | # All Rights Reserved.
5 | #
6 | # This program is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU Affero General Public License as
8 | # published by the Free Software Foundation, either version 3 of the
9 | # License, or (at your option) any later version.
10 | #
11 | # This program is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU Affero General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU Affero General Public License
17 | # along with this program. If not, see .
18 | #
19 | ##############################################################################
20 | {
21 | "name": "Public Budget Subscription",
22 | 'version': "15.0.1.0.0",
23 | 'category': 'Accounting',
24 | 'sequence': 14,
25 | 'summary': 'Subscription Purchase, Invoicing',
26 | 'author': 'ADHOC SA',
27 | 'website': 'www.adhoc.com.ar',
28 | 'license': 'AGPL-3',
29 | 'images': [
30 | ],
31 | 'depends': [
32 | 'public_budget',
33 | 'purchase_subscription',
34 | ],
35 | 'data': [
36 | 'views/purchase_subscription_views.xml',
37 | 'data/ir_actions_server_data.xml',
38 | 'security/ir.model.access.csv',
39 | ],
40 | 'demo': [
41 | ],
42 | 'installable': False,
43 | 'auto_install': False,
44 | 'application': False,
45 | }
46 |
--------------------------------------------------------------------------------
/public_budget_subscription/models/__init__.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from . import purchase_subscription
6 |
--------------------------------------------------------------------------------
/public_budget_subscription/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | purchase_subscription_management,access.purchase.sucription.management,purchase_subscription.model_purchase_subscription,public_budget.group_secretary_director,1,1,1,1
3 | purchase_subscription_line_management,access.purchase.sucription.line.management,purchase_subscription.model_purchase_subscription_line,public_budget.group_secretary_director,1,1,1,1
4 | purchase_subscription_close_reason_management,access.purchase.sucription.close.reason.management,purchase_subscription.model_purchase_subscription_close_reason,public_budget.group_secretary_director,1,1,1,1
5 | purchase_subscription_manager,access.purchase.sucription.manager,purchase_subscription.model_purchase_subscription,account.group_account_manager,1,1,1,1
6 | purchase_subscription_line_manager,access.purchase.sucription.manager,purchase_subscription.model_purchase_subscription_line,account.group_account_manager,1,1,1,1
7 | purchase_subscription_close_reason_manager,access.purchase.sucription.close.reason.manager,purchase_subscription.model_purchase_subscription_close_reason,account.group_account_manager,1,1,1,1
8 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | =============================================
14 | Public Budget integration with Tax settlement
15 | =============================================
16 |
17 | #. Oculta menú de pagar desde las tarjetas ya que lleva toda la deuda del partner y permite pagar cosas que queremos que se paguen de la transacción correspondiente.
18 | #. Agrega opción de pagar un asiento de liquidación desde el asiento.
19 |
20 | Installation
21 | ============
22 |
23 | To install this module, you need to:
24 |
25 | #. Only need to install the module
26 |
27 | Configuration
28 | =============
29 |
30 | To configure this module, you need to:
31 |
32 | #. Nothing to configure
33 |
34 | Usage
35 | =====
36 |
37 | To use this module, you need to:
38 |
39 | #. Go to ...
40 |
41 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
42 | :alt: Try me on Runbot
43 | :target: http://runbot.adhoc.com.ar/
44 |
45 | Bug Tracker
46 | ===========
47 |
48 | Bugs are tracked on `GitHub Issues
49 | `_. In case of trouble, please
50 | check there if your issue has already been reported. If you spotted it first,
51 | help us smashing it by providing a detailed and welcomed feedback.
52 |
53 | Credits
54 | =======
55 |
56 | Images
57 | ------
58 |
59 | * |company| |icon|
60 |
61 | Contributors
62 | ------------
63 |
64 | Maintainer
65 | ----------
66 |
67 | |company_logo|
68 |
69 | This module is maintained by the |company|.
70 |
71 | To contribute to this module, please visit https://www.adhoc.com.ar.
72 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | 'name': 'Public Budget integration with Tax settlement',
3 | 'version': "15.0.1.0.0",
4 | 'author': 'ADHOC SA,Odoo Community Association (OCA)',
5 | 'license': 'AGPL-3',
6 | 'website': 'www.adhoc.com.ar',
7 | 'category': 'Accounting & Finance',
8 | 'data': [
9 | 'views/account_journal_dashboard_views.xml',
10 | 'views/account_move_views.xml',
11 | 'views/account_move_line_views.xml',
12 | ],
13 | 'demo': [
14 | ],
15 | 'depends': [
16 | 'public_budget',
17 | 'account_tax_settlement',
18 | ],
19 | 'installable': False,
20 | 'auto_install': True,
21 | }
22 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import account_move
2 | from . import account_payment
3 | from . import account_move_line
4 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/models/account_move_line.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class AccountMoveLine(models.Model):
5 | _inherit = 'account.move.line'
6 |
7 | payment_methods = fields.Char(
8 | related='payment_id.payment_group_id.payment_methods',
9 | )
10 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/views/account_journal_dashboard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | account.journal.dashboard.kanban.inherited
5 | account.journal
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/views/account_move_line_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Journal Items
6 | account.move.line
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | Journal Items Tree
17 | account.move.line
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/public_budget_tax_settlement/views/account_move_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | account.move.form
5 | account.move
6 |
7 |
8 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | # ofxparse
2 |
--------------------------------------------------------------------------------
/sipreco_payment_line/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | =====================
14 | Sipreco Payment Lines
15 | =====================
16 |
17 | Agregar líneas de pago en ordenes de pago para poder dividir el mismo en varios pagos (para distintos partners), tipicamente utilizado para pagos de sueldos que vienen totalizados y se desglozan por empleado.
18 | Además permite generar el archivo para subir en home banking y generar las transferencias.
19 |
20 | Installation
21 | ============
22 |
23 | To install this module, you need to:
24 |
25 | #. Only need to install the module
26 |
27 | Configuration
28 | =============
29 |
30 | To configure this module, you need to:
31 |
32 | #. Nothing to configure
33 |
34 | Usage
35 | =====
36 |
37 | To use this module, you need to:
38 |
39 | #. Go to ...
40 |
41 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
42 | :alt: Try me on Runbot
43 | :target: http://runbot.adhoc.com.ar/
44 |
45 | Bug Tracker
46 | ===========
47 |
48 | Bugs are tracked on `GitHub Issues
49 | `_. In case of trouble, please
50 | check there if your issue has already been reported. If you spotted it first,
51 | help us smashing it by providing a detailed and welcomed feedback.
52 |
53 | Credits
54 | =======
55 |
56 | Images
57 | ------
58 |
59 | * |company| |icon|
60 |
61 | Contributors
62 | ------------
63 |
64 | Maintainer
65 | ----------
66 |
67 | |company_logo|
68 |
69 | This module is maintained by the |company|.
70 |
71 | To contribute to this module, please visit https://www.adhoc.com.ar.
72 |
--------------------------------------------------------------------------------
/sipreco_payment_line/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizards
3 |
--------------------------------------------------------------------------------
/sipreco_payment_line/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | 'name': 'Sipreco Payment Lines',
3 | 'version': "15.0.1.1.0",
4 | 'license': 'AGPL-3',
5 | 'author': 'ADHOC SA,Odoo Community Association (OCA)',
6 | 'website': 'www.adhoc.com.ar',
7 | 'category': 'Accounting & Finance',
8 | 'depends': [
9 | 'public_budget',
10 | ],
11 | 'data': [
12 | 'wizards/account_payment_group_line_import_views.xml',
13 | 'views/account_payment_group_views.xml',
14 | 'views/res_partner_bank_views.xml',
15 | 'security/ir.model.access.csv',
16 | ],
17 | 'demo': [
18 | ],
19 | 'installable': False,
20 | }
21 |
--------------------------------------------------------------------------------
/sipreco_payment_line/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import account_payment_group_line
2 | from . import account_payment_group
3 | from . import res_partner_bank
4 | from . import advance_request
5 |
--------------------------------------------------------------------------------
/sipreco_payment_line/models/advance_request.py:
--------------------------------------------------------------------------------
1 | from odoo import models, api
2 |
3 |
4 | class AdvanceRequest(models.Model):
5 |
6 | _inherit = 'public_budget.advance_request'
7 |
8 | def create_payment_group(self):
9 | payment_group = super(AdvanceRequest, self).create_payment_group()
10 | for line in self.advance_request_line_ids:
11 | partner = line.employee_id
12 | payment_group.line_ids.create({
13 | 'payment_group_id': payment_group.id,
14 | 'partner_id': partner.id,
15 | 'bank_account_id': (
16 | partner.bank_ids and partner.bank_ids[0].id or False),
17 | 'amount': line.approved_amount,
18 | })
19 | return payment_group
20 |
--------------------------------------------------------------------------------
/sipreco_payment_line/models/res_partner_bank.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class ResPartnerBank(models.Model):
5 | _inherit = "res.partner.bank"
6 |
7 | numero_de_sucursal = fields.Char(
8 | )
9 |
--------------------------------------------------------------------------------
/sipreco_payment_line/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | access_account_payment_group_line_import,access_account_payment_group_line_import,model_account_payment_group_line_import,account.group_account_user,1,1,1,1
3 | access_account_payment_group_line_account_user,access_account_payment_group_line_account_user,model_account_payment_group_line,account.group_account_user,1,1,1,1
4 | access_account_payment_group_line_account_employee,access_account_payment_group_line_account_employee,model_account_payment_group_line,base.group_user,1,0,0,0
5 | access_account_payment_group_line_account_portal_expedient,access_account_payment_group_line_account_portal_expedient,model_account_payment_group_line,public_budget.group_portal_transaction,1,0,0,0
6 |
--------------------------------------------------------------------------------
/sipreco_payment_line/views/res_partner_bank_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | partner.bank.select
5 | res.partner.bank
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | res.partner.bank
16 | res.bank.form
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/sipreco_payment_line/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import account_payment_group_line_import
2 |
--------------------------------------------------------------------------------
/sipreco_payment_line/wizards/account_payment_group_line_import_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Import Payment Lines
6 | account.payment.group.line.import
7 | 1
8 |
9 |
21 |
22 |
23 |
24 |
25 | Import Payment Lines
26 | ir.actions.act_window
27 | account.payment.group.line.import
28 | form
29 | new
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/sipreco_position_helper/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | =====================
14 | Sipreco Payment Lines
15 | =====================
16 |
17 | Agregar líneas de pago en ordenes de pago para poder dividir el mismo en varios pagos (para distintos partners), tipicamente utilizado para pagos de sueldos que vienen totalizados y se desglozan por empleado.
18 | Además permite generar el archivo para subir en home banking y generar las transferencias.
19 | Installation
20 | ============
21 |
22 | To install this module, you need to:
23 |
24 | #. Only need to install the module
25 |
26 | Configuration
27 | =============
28 |
29 | To configure this module, you need to:
30 |
31 | #. Nothing to configure
32 |
33 | Usage
34 | =====
35 |
36 | To use this module, you need to:
37 |
38 | #. Go to ...
39 |
40 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
41 | :alt: Try me on Runbot
42 | :target: http://runbot.adhoc.com.ar/
43 |
44 | Bug Tracker
45 | ===========
46 |
47 | Bugs are tracked on `GitHub Issues
48 | `_. In case of trouble, please
49 | check there if your issue has already been reported. If you spotted it first,
50 | help us smashing it by providing a detailed and welcomed feedback.
51 |
52 | Credits
53 | =======
54 |
55 | Images
56 | ------
57 |
58 | * |company| |icon|
59 |
60 | Contributors
61 | ------------
62 |
63 | Maintainer
64 | ----------
65 |
66 | |company_logo|
67 |
68 | This module is maintained by the |company|.
69 |
70 | To contribute to this module, please visit https://www.adhoc.com.ar.
71 |
--------------------------------------------------------------------------------
/sipreco_position_helper/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/sipreco_position_helper/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | 'name': 'Sipreco Position Helper',
3 | 'version': "15.0.1.0.0",
4 | 'license': 'AGPL-3',
5 | 'author': 'ADHOC SA,Odoo Community Association (OCA)',
6 | 'website': 'www.adhoc.com.ar',
7 | 'category': 'Accounting & Finance',
8 | 'data': [
9 | 'views/budget_position_views.xml',
10 | ],
11 | 'demo': [
12 | 'demo/public_budget.budget_position.csv',
13 | ],
14 | 'depends': [
15 | 'public_budget',
16 | ],
17 | 'installable': False,
18 | }
19 |
--------------------------------------------------------------------------------
/sipreco_position_helper/demo/public_budget.budget_position.csv:
--------------------------------------------------------------------------------
1 | id,individual_code
2 | public_budget.budg_pos_personal,01.
3 | public_budget.budg_pos_1,01.
4 | public_budget.budg_pos_2,05.
5 | public_budget.budg_pos_3,04.
6 | public_budget.budg_pos_bs_y_ser,02.
7 | public_budget.budg_pos_31,09.
8 | public_budget.budg_pos_ser_no_pers,03.
9 | public_budget.budg_pos_5,01.
10 | public_budget.budg_pos_6,02.
11 | public_budget.budg_pos_7,03.
12 | public_budget.budg_pos_8,04.
13 | public_budget.budg_pos_9,05.
14 | public_budget.budg_pos_10,07.
15 | public_budget.budg_pos_11,09.
16 | public_budget.budg_pos_activos,04.
17 | public_budget.budg_pos_12,03.
18 | public_budget.budg_pos_13,05.
19 | public_budget.budg_pos_14,08.
20 | public_budget.budg_pos_otros,05.
21 | public_budget.budg_pos_15,04.
22 | public_budget.budg_pos_16,09.
23 | public_budget.budg_pos_17,01.
24 |
--------------------------------------------------------------------------------
/sipreco_position_helper/i18n/es.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * sipreco_position_helper
4 | #
5 | # Translators:
6 | # Juan José Scarafía , 2019
7 | #
8 | msgid ""
9 | msgstr ""
10 | "Project-Id-Version: Odoo Server 11.0\n"
11 | "Report-Msgid-Bugs-To: \n"
12 | "POT-Creation-Date: 2019-02-26 17:52+0000\n"
13 | "PO-Revision-Date: 2019-01-18 20:37+0000\n"
14 | "Last-Translator: Juan José Scarafía , 2019\n"
15 | "Language-Team: Spanish (https://www.transifex.com/adhoc/teams/46451/es/)\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: \n"
19 | "Language: es\n"
20 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21 |
22 | #. module: sipreco_position_helper
23 | #: model:ir.model,name:sipreco_position_helper.model_public_budget_budget_position
24 | msgid "Budget Position"
25 | msgstr "Partida Presupuestaria"
26 |
27 | #. module: sipreco_position_helper
28 | #: model:ir.model.fields,field_description:sipreco_position_helper.field_public_budget_budget_position_individual_code
29 | msgid "Individual Code"
30 | msgstr "Código Individual"
31 |
--------------------------------------------------------------------------------
/sipreco_position_helper/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import budget_position
2 |
--------------------------------------------------------------------------------
/sipreco_position_helper/models/budget_position.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api
2 |
3 |
4 | class BudgetPosition(models.Model):
5 |
6 | _inherit = 'public_budget.budget_position'
7 |
8 | individual_code = fields.Char(
9 | # lo hacemos no requerido para no tener warnings, no es lo mas elegante
10 | # pero funciona, requerido por vista..
11 | required=False,
12 | )
13 | code = fields.Char(
14 | compute='_compute_code',
15 | store=True,
16 | required=False,
17 | )
18 |
19 | @api.depends(
20 | 'individual_code',
21 | 'parent_id.individual_code',
22 | )
23 | def _compute_code(self):
24 | for rec in self:
25 | rec.code = "%s%s" % (
26 | rec.parent_id.code or '',
27 | rec.individual_code or '')
28 |
--------------------------------------------------------------------------------
/sipreco_position_helper/views/budget_position_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public_budget.budget_position.form
7 | public_budget.budget_position
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/sipreco_project/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_project/__init__.py
--------------------------------------------------------------------------------
/sipreco_project/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | 'name': 'Sipreco Project',
3 | 'license': 'LGPL-3',
4 | 'version': "15.0.1.0.0",
5 | 'category': 'Accounting',
6 | 'sequence': 14,
7 | 'summary': '',
8 | 'author': 'ADHOC SA,Odoo Community Association (OCA)',
9 | 'website': 'www.adhoc.com.ar',
10 | 'images': [
11 | ],
12 | 'depends': [
13 | 'web_m2x_options',
14 | 'public_budget',
15 | 'account_accountant',
16 | 'l10n_ar_bank',
17 | # 'web_pdf_preview',
18 | 'account_tax_settlement',
19 | 'account_reports',
20 | # para que genere los diarios que queremos
21 | # 'portal', # necesitamos portal por un error
22 | # raro al crear un voucher
23 | # es un error de javascript pero con portal de
24 | # alguna manera se
25 | # resuelve. Luego de instalar portal refrescar pantalla
26 | ],
27 | 'data': [
28 | 'data/ir_parameters.xml',
29 | ],
30 | 'demo': [
31 | 'demo/config_data.xml',
32 | 'demo/load_es_lang.xml',
33 | ],
34 | 'installable': False,
35 | 'auto_install': False,
36 | 'application': True,
37 | }
38 |
--------------------------------------------------------------------------------
/sipreco_project/data/ir_parameters.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | web_m2x_options.create
5 | False
6 |
7 |
8 | web_m2x_options.create_edit
9 | False
10 |
11 |
12 |
--------------------------------------------------------------------------------
/sipreco_project/demo/config_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/sipreco_project/demo/load_es_lang.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/sipreco_purchase/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizards
3 |
--------------------------------------------------------------------------------
/sipreco_purchase/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | 'name': 'Sipreco Purchase Management',
3 | 'version': "15.0.1.3.0",
4 | 'license': 'AGPL-3',
5 | 'author': 'ADHOC SA,Odoo Community Association (OCA)',
6 | 'website': 'www.adhoc.com.ar',
7 | 'category': 'Accounting & Finance',
8 | 'depends': [
9 | 'public_budget',
10 | 'purchase_requisition',
11 | 'stock_ux',
12 | 'stock_request_ux',
13 | ],
14 | 'data': [
15 | 'data/ir_actions_server_data.xml',
16 | 'data/sequence_data.xml',
17 | 'security/sipreco_purchase_security.xml',
18 | 'security/hide_groups.xml',
19 | 'security/ir.model.access.csv',
20 | 'views/stock_move_views.xml',
21 | 'views/stock_move_line_views.xml',
22 | 'views/stock_picking_type_views.xml',
23 | 'views/stock_picking_views.xml',
24 | 'views/purchase_requisition_views.xml',
25 | 'views/purchase_requisition_type_views.xml',
26 | 'views/stock_request_order_views.xml',
27 | 'views/stock_request_views.xml',
28 | 'views/res_users_views.xml',
29 | 'views/stock_location_route_views.xml',
30 | 'views/product_template_views.xml',
31 | 'views/purchase_order_views.xml',
32 | 'views/transaction_views.xml',
33 | 'views/stock_inventory_views.xml',
34 | 'views/expedient_views.xml',
35 | 'reports/purchase_requisition_report.xml',
36 | 'reports/purchase_order_publicity_report.xml',
37 | 'wizards/create_expedients_wizard_views.xml',
38 | ],
39 | 'demo': [
40 | 'demo/stock_demo.xml',
41 | 'demo/res_users_demo.xml',
42 | 'demo/product_demo.xml',
43 | 'demo/sequence_demo.xml',
44 | ],
45 | 'installable': False,
46 | }
47 |
--------------------------------------------------------------------------------
/sipreco_purchase/data/sequence_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Procurement Request
7 | PR-%(year)s-
8 | 6
9 |
10 | no_gap
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/sipreco_purchase/demo/product_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Producto de Informática 1
6 | product
7 |
8 |
9 |
10 |
11 |
12 | Producto de Economato 1
13 | product
14 |
15 |
16 |
17 |
18 |
19 | Producto de Economato 2
20 | product
21 |
22 |
23 |
24 |
25 |
26 | Producto de Secretarías
27 | product
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/sipreco_purchase/demo/sequence_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Procurement Group Sipreco
5 | procurement.group
6 | PG/
7 | 6
8 | 1
9 | 1
10 |
11 |
12 |
13 |
14 |
15 | Purchase Requisition Order
16 | purchase.order.requisition
17 | TE
18 | 5
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/sipreco_purchase/migrations/15.0.1.3.0/pre-migration.py:
--------------------------------------------------------------------------------
1 | from openupgradelib import openupgrade
2 | import logging
3 |
4 | logger = logging.getLogger(__name__)
5 |
6 |
7 | @openupgrade.migrate()
8 | def migrate(env, version):
9 | logger.info('Forzamos la actualizacion de la vista product_views del modulo stock para que no nos de conflicto con la vista product_template_kanban_stock_view')
10 | openupgrade.load_data(
11 | env.cr, 'stock', 'views/product_views.xml')
12 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import stock_rule
2 | from . import stock_picking_type
3 | from . import stock_request
4 | from . import stock_request_order
5 | from . import purchase_order
6 | from . import purchase_order_line
7 | from . import purchase_requisition_type
8 | from . import purchase_requisition
9 | from . import purchase_requisition_line
10 | from . import res_users
11 | from . import stock_location_route
12 | from . import product_product
13 | from . import transaction
14 | from . import expedient
15 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/expedient.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class PublicBudgetExpedient(models.Model):
5 |
6 | _inherit = 'public_budget.expedient'
7 |
8 | purchase_order_ids = fields.One2many(
9 | 'purchase.order',
10 | 'expedient_id',
11 | )
12 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/product_product.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields
6 |
7 |
8 | class ProductProduct(models.Model):
9 | _inherit = 'product.product'
10 |
11 | standard_price = fields.Float(
12 | groups='base.group_user,\
13 | sipreco_purchase.group_portal_requester')
14 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/purchase_order.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api, _
6 | from odoo.exceptions import UserError
7 |
8 |
9 | class PurchaseOrder(models.Model):
10 | _inherit = "purchase.order"
11 |
12 | expedient_id = fields.Many2one(
13 | 'public_budget.expedient',
14 | copy=False,
15 | )
16 |
17 | @api.onchange('requisition_id')
18 | def _onchange_requisition_id(self):
19 | super(PurchaseOrder, self)._onchange_requisition_id()
20 | if self.requisition_id.type_id.line_copy == 'copy'\
21 | and self.requisition_id.type_id.price_unit_copy != 'copy':
22 | self.order_line.update({'price_unit': 0.0})
23 |
24 | def check_if_expedients_exist(self):
25 | purchase_orders_expedient = self.filtered('expedient_id')
26 | if purchase_orders_expedient:
27 | raise UserError(
28 | _("This Purchase orders has expedient generated:\n * %s \n\n"
29 | "Only one expedient for Purchase Order are allowed,"
30 | " place select other Purchase orders.") %
31 | ("\n* ".join(
32 | [p.name + '(%s)' % (p.expedient_id.number)
33 | for p in purchase_orders_expedient])))
34 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/purchase_order_line.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, api, fields
6 |
7 |
8 | class PurchaseOrderLine(models.Model):
9 | _inherit = "purchase.order.line"
10 |
11 | brand = fields.Char(
12 | )
13 |
14 | @api.onchange('product_qty', 'product_uom')
15 | def _onchange_quantity(self):
16 | price_unit = self.price_unit
17 | res = super()._onchange_quantity()
18 | if self.order_id.requisition_id and self.order_id.\
19 | requisition_id.type_id.price_unit_copy != 'copy':
20 | self.price_unit = price_unit
21 | return res
22 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/purchase_requisition_line.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api
6 |
7 |
8 | class PurchaseRequisitionLine(models.Model):
9 | _inherit = 'purchase.requisition.line'
10 |
11 | name = fields.Text(
12 | string='Description',
13 | )
14 | price_unit = fields.Float(
15 | string='Unit Price',
16 | digits='Product Price',
17 | )
18 | subtotal = fields.Float(
19 | digits='Product Price',
20 | compute='_compute_subtotal',
21 | store=True,
22 | )
23 |
24 | @api.depends('price_unit', 'product_qty')
25 | def _compute_subtotal(self):
26 | for rec in self:
27 | rec.subtotal = rec.price_unit * rec.product_qty
28 |
29 | def _prepare_purchase_order_line(
30 | self, name, product_qty=0.0, price_unit=0.0, taxes_ids=False):
31 | res = super()._prepare_purchase_order_line(
32 | name, product_qty=product_qty, price_unit=price_unit,
33 | taxes_ids=taxes_ids)
34 | if self.name:
35 | res.update({
36 | 'name': self.name,
37 | })
38 | return res
39 |
40 | @api.onchange('product_id')
41 | def _onchange_product_id(self):
42 | super()._onchange_product_id()
43 | if self.product_id:
44 | product_lang = self.product_id.with_context(
45 | lang=self.requisition_id.vendor_id.lang,
46 | partner_id=self.requisition_id.vendor_id.id,
47 | )
48 | self.name = product_lang.display_name
49 | if product_lang.description_purchase:
50 | self.name += '\n' + product_lang.description_purchase
51 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/purchase_requisition_type.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields
6 |
7 |
8 | class PurchaseRequisitionType(models.Model):
9 | _inherit = "purchase.requisition.type"
10 |
11 | price_unit_copy = fields.Selection(
12 | [('copy', 'Use price of agreement'),
13 | ('none', 'Set price manually')],
14 | string='Price Unit',
15 | required=True,
16 | default='none',
17 | )
18 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/res_users.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields
6 |
7 |
8 | class ResUsers(models.Model):
9 | _inherit = 'res.users'
10 |
11 | picking_type_ids = fields.Many2many(
12 | 'stock.picking.type',
13 | 'stock_picking_type_users_rel',
14 | 'user_id',
15 | 'picking_type_id',
16 | 'Restricted Picking Types',
17 | )
18 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/stock_location_route.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields
6 |
7 |
8 | class StockLocationRoute(models.Model):
9 | _inherit = 'stock.location.route'
10 |
11 | stock_request_selectable = fields.Boolean(
12 | 'Applicable on Stock Requests',
13 | )
14 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/stock_picking_type.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | # ##############################################################################
5 | from odoo import models, fields
6 |
7 | class StockPickingType(models.Model):
8 | _inherit = 'stock.picking.type'
9 |
10 | count_pending_requests = fields.Integer(
11 | compute='_compute_requests_count',
12 | )
13 | user_ids = fields.Many2many(
14 | 'res.users',
15 | 'stock_picking_type_users_rel',
16 | 'picking_type_id',
17 | 'user_id',
18 | string='Users',
19 | copy=False
20 | )
21 |
22 | def _compute_requests_count(self):
23 | for rec in self:
24 | rec.count_pending_requests = self.env[
25 | 'stock.request'].search_count([
26 | ('state', 'not in', ['done', 'cancel']),
27 | ('rule_id.picking_type_id', '=', rec.id)])
28 |
29 | def action_type_stock_request(self):
30 | self.ensure_one()
31 | action = self.env["ir.actions.actions"]._for_xml_id('stock_request.action_stock_request_form')
32 | if not action:
33 | return False
34 | action['domain'] = [('rule_id.picking_type_id', '=', self.id)]
35 | action['context'] = {'search_default_pending': 1}
36 | return action
37 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/stock_request_order.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api
6 |
7 |
8 | class StockRequestOrder(models.Model):
9 | _inherit = 'stock.request.order'
10 |
11 | partner_id = fields.Many2one(
12 | 'res.partner',
13 | 'Requirente',
14 | required=True,
15 | default=lambda self: self.env.user.partner_id
16 | )
17 | description = fields.Text(
18 | 'Motivacion',
19 | required=True,
20 | )
21 | activity_date_deadline = fields.Date(
22 | related_sudo=True,
23 | compute_sudo=True,
24 | )
25 |
26 | @api.onchange('company_id')
27 | def change_company_id(self):
28 | self.warehouse_id = self.env['stock.warehouse'].search(
29 | [('company_id', '=', self.company_id.id)], limit=1)
30 |
31 | @api.onchange('partner_id', 'warehouse_id')
32 | def onchange_warehouse_id(self):
33 | # clientes esta seteada en el partner
34 | super().onchange_warehouse_id()
35 | self.location_id = self.partner_id.property_stock_customer
36 | # # use customer location by default instead of stock location
37 | # self.location_id = self.warehouse_id.wh_output_stock_loc_id
38 |
39 | @api.model
40 | def create(self, vals):
41 | # mandamos el partner en el group ya que es este el que va hasta el
42 | # # picking
43 | rec = super().create(vals)
44 | if rec.procurement_group_id:
45 | rec.procurement_group_id.partner_id = rec.partner_id
46 | return rec
47 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/stock_rule.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models
6 |
7 |
8 | class StockRule(models.Model):
9 | _inherit = 'stock.rule'
10 |
11 | def _get_stock_move_values(
12 | self, product_id, product_qty, product_uom, location_id, name, origin, company_id, values):
13 | result = super()._get_stock_move_values(product_id, product_qty,
14 | product_uom, location_id, name, origin, company_id, values)
15 | stock_request_id = values.get('stock_request_id', False)
16 | if stock_request_id:
17 | stock_request = self.env['stock.request'].browse(stock_request_id)
18 | stock_request.rule_id = self.id
19 | result['name'] = stock_request.description
20 | return result
21 |
--------------------------------------------------------------------------------
/sipreco_purchase/models/transaction.py:
--------------------------------------------------------------------------------
1 | from odoo import models
2 |
3 |
4 | class BudgetTransaction(models.Model):
5 |
6 | _inherit = 'public_budget.transaction'
7 |
8 | def action_view_purchase_requisitions(self):
9 | self.ensure_one()
10 | action = self.env["ir.actions.actions"]._for_xml_id(
11 | 'purchase_requisition.action_purchase_requisition')
12 | action['context'] = {'search_default_expedient_id': self.expedient_id.id}
13 | return action
14 |
--------------------------------------------------------------------------------
/sipreco_purchase/reports/purchase_order_publicity_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_purchase/reports/purchase_order_publicity_report.odt
--------------------------------------------------------------------------------
/sipreco_purchase/reports/purchase_order_publicity_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Pedido de Compra Publicidad
7 | purchase.order
8 | purchase_order_report
9 | aeroo
10 | oo-odt
11 | sipreco_purchase/reports/purchase_order_publicity_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 | True
19 |
20 |
21 |
--------------------------------------------------------------------------------
/sipreco_purchase/reports/purchase_requisition_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_purchase/reports/purchase_requisition_report.odt
--------------------------------------------------------------------------------
/sipreco_purchase/reports/purchase_requisition_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Solicitud de Compra
9 | purchase.requisition
10 | purchase_requisition_report
11 | aeroo
12 | oo-odt
13 | sipreco_purchase/reports/purchase_requisition_report.odt
14 | file
15 |
16 | specified
17 |
18 |
19 | report
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sipreco_purchase/security/hide_groups.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | Stock Manager
11 |
12 |
13 |
14 |
15 |
16 |
17 | Purchase Manager
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/sipreco_purchase/static/description/procurement_order.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_purchase/static/description/procurement_order.png
--------------------------------------------------------------------------------
/sipreco_purchase/views/expedient_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | sipreco_purchase.expedient.form
6 | public_budget.expedient
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/purchase_requisition_type_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | purchase.requisition.type.form
5 | purchase.requisition.type
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/res_users_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public_budget.users.form
7 | res.users
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/stock_inventory_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/stock_location_route_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | stock.location.route.form
5 |
6 | stock.location.route
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/stock_move_line_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | stock.move.line.tree
7 | stock.move.line
8 |
9 |
10 |
11 | 1
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/stock_picking_type_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | stock.picking.type.kanban
6 | stock.picking.type
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/sipreco_purchase/views/transaction_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.transaction.form.inherit
6 | public_budget.transaction
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/sipreco_purchase/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_expedients_wizard
2 |
--------------------------------------------------------------------------------
/sipreco_purchase/wizards/create_expedients_wizard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Create Expedients Wizard
5 | public_budget.create.expedients.wizard
6 |
7 |
24 |
25 |
26 |
27 |
28 | Asistente de creacion de Expedientes
29 | public_budget.create.expedients.wizard
30 | form
31 | new
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ================================
14 | Public Budget Subsidy Management
15 | ================================
16 |
17 | Installation
18 | ============
19 |
20 | To install this module, you need to:
21 |
22 | #. Only need to install the module
23 |
24 | Configuration
25 | =============
26 |
27 | To configure this module, you need to:
28 |
29 | #. Nothing to configure
30 |
31 | Usage
32 | =====
33 |
34 | To use this module, you need to:
35 |
36 | #. Go to ...
37 |
38 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
39 | :alt: Try me on Runbot
40 | :target: http://runbot.adhoc.com.ar/
41 |
42 | Bug Tracker
43 | ===========
44 |
45 | Bugs are tracked on `GitHub Issues
46 | `_. In case of trouble, please
47 | check there if your issue has already been reported. If you spotted it first,
48 | help us smashing it by providing a detailed and welcomed feedback.
49 |
50 | Credits
51 | =======
52 |
53 | Images
54 | ------
55 |
56 | * |company| |icon|
57 |
58 | Contributors
59 | ------------
60 |
61 | Maintainer
62 | ----------
63 |
64 | |company_logo|
65 |
66 | This module is maintained by the |company|.
67 |
68 | To contribute to this module, please visit https://www.adhoc.com.ar.
69 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizards
3 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | 'name': 'Public Budget Subsidy Management',
3 | 'version': "15.0.1.4.0",
4 | 'author': 'ADHOC SA,Odoo Community Association (OCA)',
5 | 'website': 'www.adhoc.com.ar',
6 | 'category': 'Accounting & Finance',
7 | 'license': 'AGPL-3',
8 | 'data': [
9 | 'security/ir_rule.xml',
10 | 'reports/subsidy_note_report.xml',
11 | 'reports/subsidy_approval_arrangement_report.xml',
12 | 'reports/remit_report_subsidy.xml',
13 | 'reports/subsidy_form_report.xml',
14 | 'reports/subsidy_report.xml',
15 | 'reports/subsidy_report_resolution.xml',
16 | 'reports/report_ticket_template.xml',
17 | 'views/subsidy_views.xml',
18 | 'views/subsidy_ticket_views.xml',
19 | 'views/transaction_type_views.xml',
20 | 'views/subsidy_approval_arrangement_views.xml',
21 | 'views/subsidy_note_type_views.xml',
22 | 'views/subsidy_resolution_views.xml',
23 | 'views/subsidy_ticket_director_views.xml',
24 | 'security/ir.model.access.csv',
25 | 'data/sequence_data.xml',
26 | 'data/subsidy_note_type_data.xml',
27 | 'data/cron.xml',
28 | 'data/ir_actions_server_data.xml',
29 | 'wizards/create_administrative_process_wizard_views.xml',
30 | 'views/expedient_views.xml',
31 | 'views/subsidy_stage_views.xml',
32 | 'views/subsidy_portaluser_views.xml',
33 | ],
34 | 'demo': [
35 | 'demo/public_budget.transaction_type.csv',
36 | 'demo/subsidy_demo.xml',
37 | 'demo/helpdesk_demo.xml',
38 | ],
39 | 'depends': [
40 | 'public_budget',
41 | 'helpdesk',
42 | 'mail',
43 | ],
44 | 'installable': False,
45 | }
46 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/data/cron.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Subsidy Report Week Reminder
6 | ${(object.email or '')|safe}
7 | Informe semanal de Subsidios
8 | ${object.id}
9 | ${object.lang}
10 |
11 |
12 |
17 |
18 | Numero Interno |
19 | Receptor |
20 |
21 | % for sub in ctx['data'].get('subsidys'):
22 |
23 | ${sub.internal_number} |
24 | ${sub.partner_id.name} |
25 |
26 | % endfor
27 |
28 |
29 |
30 |
31 | Thanks,
32 |
33 |
34 |
35 |
36 |
37 | ]]>
38 |
39 |
40 |
41 |
42 | Subsidy Report Week
43 |
44 | 1
45 | weeks
46 | -1
47 |
48 | code
49 |
50 | model._cron_recurring_subsidy_report(1)
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/data/ir_actions_server_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Generar Tramite Administrativo
6 |
7 |
8 | code
9 |
10 | action = env["ir.actions.act_window"]._for_xml_id('sipreco_subsidy_management.action_create_administrative_process_wizard')
11 | helpdesk_tickets = records.filtered(lambda x: x.stage_id.name in ['Ticket', 'Aprobado'])
12 | action['context'] = {'active_ids': helpdesk_tickets.ids}
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/data/sequence_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Disposición de aprobacion
6 | approval_arrangement
7 | /%(y)s-N
8 | 4
9 |
10 |
11 |
12 |
13 | Subsidy Internal number
14 | subsidy_internal_number
15 | OI-%(year)s-
16 | 6
17 |
18 | no_gap
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/data/subsidy_note_type_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | NOTA A PRESIDENCIA - Cambio de destino del subsidio
6 | 1
7 |
8 |
9 |
10 | NOTA A PRESIDENCIA- Omisión presentación de rendición de cuentas
11 | 2
12 |
13 |
14 |
15 |
16 |
17 | NOTA A PRESIDENCIA- Novedad por rendición presentada
18 | 3
19 |
20 |
21 |
22 |
23 | NOTA CON OBSERVACIONES AL RESPONSABLE
24 | 4
25 |
26 |
27 |
28 |
29 | NOTA A RESPONSABLE- Intimación presentación en 5 días
30 | 5
31 |
32 |
33 |
34 |
35 | NOTA A RESPONSABLE- Intimación presentación ultimo aviso
36 | 6
37 |
38 |
39 |
40 |
41 | OTRAS NOTAS- Presentación de la rendición
42 | 7
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/demo/public_budget.transaction_type.csv:
--------------------------------------------------------------------------------
1 | id,subsidy
2 | public_budget.purchase_type_subsidio_con_cargo_demo,True
3 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/demo/subsidy_demo.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Expediente
9 |
10 | None
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import subsidy
2 | from . import subsidy_approval_arrangement
3 | from . import subsidy_rendition
4 | from . import subsidy_note
5 | from . import subsidy_note_type
6 | from . import subsidy_resolution
7 | from . import subsidy_resolution_line
8 | from . import subsidy_ticket
9 | from . import transaction_type
10 | from . import expedient
11 | from . import subsidy_stage
12 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/expedient.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields
2 |
3 |
4 | class PublicBudgetExpedient(models.Model):
5 |
6 | _inherit = 'public_budget.expedient'
7 |
8 | purchase_order_ids = fields.One2many(
9 | 'helpdesk.ticket',
10 | 'expedient_id',
11 | )
12 |
13 | def action_open_subsidy_ticket(self):
14 | action = self.env["ir.actions.actions"]._for_xml_id("helpdesk.helpdesk_ticket_action_main_tree")
15 | action['context'] = {}
16 | all_child = self.with_context(active_test=False).search([('id', 'child_of', self.ids)])
17 | action['domain'] = [('expedient_id', 'in', self.ids)]
18 | return action
19 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/ir_actions_report.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/models/ir_actions_report.py
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/subsidy_note.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class PublicBudgetSubsidyNote(models.Model):
5 |
6 | _name = 'public_budget.subsidy.note'
7 | _description = 'public_budget.subsidy.note'
8 |
9 | subsidy_id = fields.Many2one(
10 | 'public_budget.subsidy',
11 | 'Subsidy',
12 | required=True,
13 | ondelete='cascade',
14 | )
15 | name = fields.Char(
16 | required=True,
17 | )
18 | date = fields.Date(
19 | required=True,
20 | default=fields.Date.context_today
21 | )
22 | # type = fields.Selection([
23 | # ('first', 'Primer reclamo'),
24 | # ('last', 'Ultimo aviso')],
25 | # 'Tipo',
26 | # required=True,
27 | # )
28 | type_id = fields.Many2one(
29 | 'public_budget.subsidy.note.type',
30 | string='Tipo',
31 | required=True,
32 | )
33 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/subsidy_note_type.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class PublicBudgetSubsidyNoteType(models.Model):
5 |
6 | _name = 'public_budget.subsidy.note.type'
7 | _description = 'public_budget.subsidy.note.type'
8 | _order = 'sequence'
9 |
10 | sequence = fields.Integer(
11 | required=True,
12 | default=10,
13 | )
14 | name = fields.Char(
15 | required=True,
16 | )
17 | code = fields.Char(
18 | required=True,
19 | )
20 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/subsidy_stage.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class HelpdeskStage(models.Model):
5 | _inherit = 'helpdesk.stage'
6 |
7 | is_verified = fields.Boolean(string='Verificar Etapa')
8 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/models/transaction_type.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class PublicBudgetTransactionType(models.Model):
5 |
6 | _inherit = 'public_budget.transaction_type'
7 |
8 | subsidy = fields.Boolean(
9 | )
10 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/remit_report_subsidy.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/remit_report_subsidy.ods
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/remit_report_subsidy.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Reporte Remito - Subsidios
8 | public_budget.remit
9 | remit_report_subsidy
10 | aeroo
11 | oo-ods
12 | sipreco_subsidy_management/reports/remit_report_subsidy.ods
13 | file
14 |
15 | specified
16 |
17 |
18 | report
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/report_subsidy_resolution.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/report_subsidy_resolution.ods
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/report_subsidy_tickets_resolution.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/report_subsidy_tickets_resolution.ods
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_approval_arrangement_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_approval_arrangement_report.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_approval_arrangement_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Subsidy Approval Arrangement
8 |
9 | public_budget.subsidy.rendition
10 | subsidy_approval_arrangement_report
11 | aeroo
12 | oo-odt
13 | sipreco_subsidy_management/reports/subsidy_approval_arrangement_report.odt
14 | file
15 |
16 | specified
17 |
18 |
19 | report
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_form_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_form_report.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_form_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Reporte Subsidio Individual
8 | public_budget.subsidy
9 | subsidy_form_report
10 | aeroo
11 | oo-odt
12 | sipreco_subsidy_management/reports/subsidy_form_report.odt
13 | file
14 |
15 | specified
16 |
17 |
18 | report
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_note_report.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_note_report.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_note_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Subsidy Note Report
7 | public_budget.subsidy.note
8 | subsidy_note_report
9 | aeroo
10 | oo-odt
11 | sipreco_subsidy_management/reports/subsidy_note_report.odt
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_report.ods:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_report.ods
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_report.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Reporte Tabla Subsidios
7 | public_budget.subsidy
8 | subsidy_report
9 | aeroo
10 | oo-ods
11 | sipreco_subsidy_management/reports/subsidy_report.ods
12 | file
13 |
14 | specified
15 |
16 |
17 | report
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_resolution_COMUN.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_resolution_COMUN.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_resolution_INSTIT.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_resolution_INSTIT.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_resolution_ITRANS.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_resolution_ITRANS.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_tickets_resolution_COMUN.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_tickets_resolution_COMUN.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/reports/subsidy_tickets_resolution_INSTIT.odt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/reports/subsidy_tickets_resolution_INSTIT.odt
--------------------------------------------------------------------------------
/sipreco_subsidy_management/security/ir_rule.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Subsidios
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ingadhoc/odoo-public-administration/a7d87b43426b720d69d0d5c9c8908acd7a402a42/sipreco_subsidy_management/static/description/icon.png
--------------------------------------------------------------------------------
/sipreco_subsidy_management/views/expedient_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.expedient.form
6 | public_budget.expedient
7 |
8 |
9 |
10 |
12 |
13 | Subsidies
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/views/subsidy_note_type_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | public_budget.subsidy.note.type.form
7 | public_budget.subsidy.note.type
8 |
9 |
16 |
17 |
18 |
19 |
20 |
21 | public_budget.subsidy.note.type.tree
22 | public_budget.subsidy.note.type
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | Tipos de Reclamo de Subsidios
34 | public_budget.subsidy.note.type
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/views/subsidy_portaluser_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Subsidios
6 | helpdesk.ticket
7 | tree,kanban
8 | {'create': False}
9 | [('responsible_user', '=', uid)]
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/views/subsidy_stage_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | helpdesk_subsidy_stage_view_form_inherit
5 | helpdesk.stage
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/views/subsidy_ticket_director_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | subsidy.ticket.director.form
5 | helpdesk.ticket
6 |
7 |
8 |
9 |
10 | 0
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/views/transaction_type_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | public_budget.transaction_type.select
6 | public_budget.transaction_type
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_administrative_process_wizard
2 |
--------------------------------------------------------------------------------
/sipreco_subsidy_management/wizards/create_administrative_process_wizard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Create Administrative Process Wizard
5 | public_budget.create.administrative.process.wizard
6 |
7 |
23 |
24 |
25 |
26 |
27 | Asistente de creacion de Tramites Administrativos
28 | public_budget.create.administrative.process.wizard
29 | form
30 | new
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------