From c4d2acf71eec54b3eb5616bbfe29e290f5a43c8b Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo@le-filament.com> Date: Thu, 17 Apr 2025 10:38:19 +0200 Subject: [PATCH] DO NOT MERGE used for debugging --- __manifest__.py | 2 ++ models/__init__.py | 1 + models/financial_contract_external.py | 24 ++++++++++++++++++++ views/financial_contract_external.xml | 32 +++++++++++++++++++++++++++ 4 files changed, 59 insertions(+) create mode 100644 models/financial_contract_external.py create mode 100644 views/financial_contract_external.xml diff --git a/__manifest__.py b/__manifest__.py index 6f52d77..c6726c8 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 6f20943..4fe7159 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 0000000..9545cb5 --- /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 0000000..4138e16 --- /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> -- GitLab