diff --git a/models/financial_deal_tool.py b/models/financial_deal_tool.py index d1118e66178ed6d8ec935234ddeef0d3a336c757..a67089d6d899bd3bdedc3f5f660a8e79ac6204a0 100644 --- a/models/financial_deal_tool.py +++ b/models/financial_deal_tool.py @@ -1,7 +1,7 @@ # Copyright 2023- Le Filament (https://le-filament.com) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) -from odoo import models +from odoo import fields, models class DealTool(models.Model): @@ -10,7 +10,7 @@ class DealTool(models.Model): # ------------------------------------------------------ # Fields declaration # ------------------------------------------------------ - + contract_id = fields.Many2one("financial.contract") # ------------------------------------------------------ # SQL Constraints # ------------------------------------------------------ @@ -43,12 +43,13 @@ class DealTool(models.Model): # ------------------------------------------------------ def generate_contract(self): self.ensure_one() - contract = self.env["financial.contract"].create( - { - "description": self.deal_id.description, - "name": "An incoming sequence", - "partner_id": self.deal_id.partner_id.id, - "deal_tool_id": self.id, - } - ) - return contract + if not self.contract_id: + self.contract_id = self.env["financial.contract"].create( + { + "description": self.deal_id.description, + "partner_id": self.deal_id.partner_id.id, + "deal_tool_id": self.id, + } + ) + + return self.contract_id diff --git a/views/financial_deal_tool.xml b/views/financial_deal_tool.xml index a40df183e93bd5a4d4302b53ee6e74ed2eeb40de..11d5c3df53d34a14ed2bcdbc55726142afbf7971 100644 --- a/views/financial_deal_tool.xml +++ b/views/financial_deal_tool.xml @@ -1,21 +1,28 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8" ?> <odoo> <data> - <record id="financial_deal_tool_view_tree_inherit_manager_tool" - model="ir.ui.view"> - <field name="name">financial deal tool inherit in manager tool</field> + <record + id="financial_deal_tool_view_tree_inherit_manager_tool" + model="ir.ui.view" + > + <field + name="name" + >financial deal tool inherit in manager tool</field> <field name="model">financial.deal.tool</field> - <field name="inherit_id" - ref="financial_deal_flow.financial_deal_tool_view_tree"/> + <field + name="inherit_id" + ref="financial_deal_flow.financial_deal_tool_view_tree" + /> <field name="arch" type="xml"> <xpath expr="//field[@name='amount']" position="after"> - <field name="deal_id" invisible="1"/> + <field name="contract_id" invisible="1" /> <button name="btn_init_contract" type="object" icon="fa-share" title="transform into tool" + attrs="{'invisible':[('contract_id','!=',False)]}" /> </xpath> </field>