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