From 03e4ad0dbe44fc17875222d448a17869a0dc21f9 Mon Sep 17 00:00:00 2001 From: thibaud <thibaud@le-filament.com> Date: Mon, 18 Mar 2024 18:01:45 +0100 Subject: [PATCH] [IMP] Prepare cases in create() overload --- models/financial_contract.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/models/financial_contract.py b/models/financial_contract.py index d121d1f..9de3ae4 100644 --- a/models/financial_contract.py +++ b/models/financial_contract.py @@ -59,15 +59,25 @@ class FinancialContract(models.Model): # FIXME: ORM overload + design does not imply inheritance, # therefore hardcoded creation of each model ? (Warranty, title and loan) contract = super().create(values) + creation_dict = {} + + match self.deal_tool_model_id.model: + case str(s) if s == MAP_DICT.get("loan"): + creation_dict = { + "description": contract.name, + "first_term_date": datetime.now(), + "payment_date": datetime.now(), + "amount": contract.deal_tool_id.amount, + "partner_id": contract.deal_id.partner_id.id, + } + case MAP_DICT.get("title"): + pass + case MAP_DICT.get("warranty"): + pass + # Create financial tool associated financial_tool_record = self.env[contract.deal_tool_model_id.model].create( - { - "description": contract.name, - "first_term_date": datetime.now(), - "payment_date": datetime.now(), - "amount": contract.deal_tool_id.amount, - "partner_id": contract.deal_id.partner_id.id, - } + creation_dict ) self.deal_tool_model_id_referenced_id = financial_tool_record.id return contract -- GitLab