diff --git a/__manifest__.py b/__manifest__.py index 6f52d77de3177c914c6b47dedddcc43f3a4aac74..c6726c800521543a1c2adcb260cae8f3bb1d844f 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -17,6 +17,8 @@ # datas # views "views/company_share_line.xml", + # next line used for debugging + # "views/financial_contract_external.xml", "views/financial_contract_guarantee.xml", "views/financial_contract_guarantee_commission.xml", "views/financial_contract_guarantee_line.xml", diff --git a/models/__init__.py b/models/__init__.py index 6f20943b8a5672001a82a3ea0dac3b4eacb7ce84..4fe71596173b9c7abcd2e2aa865977e97f6aa846 100644 --- a/models/__init__.py +++ b/models/__init__.py @@ -10,3 +10,4 @@ from . import mutual_guarantee_fund_line from . import res_company from . import res_config_settings from . import res_partner +from . import financial_contract_external diff --git a/models/financial_contract_external.py b/models/financial_contract_external.py new file mode 100644 index 0000000000000000000000000000000000000000..9545cb5e82b8bc4339a354b74d77eb17f11d1c43 --- /dev/null +++ b/models/financial_contract_external.py @@ -0,0 +1,24 @@ +# © 2024 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models, api + + +class FinancialContractExternal(models.Model): + _inherit = "financial.contract.external" + + # there should be a single guarantee but we do not ensure this + # useful for debugging + guarantee_ids = fields.One2many( + string="Garanties", + comodel_name="financial.contract.guarantee", + inverse_name="external_loan_id" + ) + + # only used for debugging + guarantee_count = fields.Integer("Nombre de garanties liées", compute="_compute_guarantee_count") + + @api.depends("guarantee_ids") + def _compute_guarantee_count(self): + for i in self: + i.guarantee_count = len(i.guarantee_ids) diff --git a/views/financial_contract_external.xml b/views/financial_contract_external.xml new file mode 100644 index 0000000000000000000000000000000000000000..4138e164e84d7754ea7d5f86e84812157ac61320 --- /dev/null +++ b/views/financial_contract_external.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" ?> +<!-- Copyright 2024 Le Filament + License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> +<odoo> + + <!-- Form --> + <record model="ir.ui.view" id="financial_contract_external_form_view_inherit"> + <field name="name">financial.contract.external.form.inherit</field> + <field name="model">financial.contract.external</field> + <field name="inherit_id" ref="financial_contract_external.financial_contract_external_form_view"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='comment']/.." position="after"> + <group> + <field name="guarantee_ids"/> + </group> + </xpath> + </field> + </record> + + <!-- Tree --> + <record model="ir.ui.view" id="financial_contract_external_tree_view_inherit"> + <field name="name">financial.contract.external.list.inherit</field> + <field name="model">financial.contract.external</field> + <field name="inherit_id" ref="financial_contract_external.financial_contract_external_tree_view"/> + <field name="arch" type="xml"> + <xpath expr="//field[@name='number']" position="after"> + <field name="guarantee_count" optional="hide"/> + </xpath> + </field> + </record> + +</odoo>