diff --git a/models/financial_contract.py b/models/financial_contract.py index d121d1f0279ba3076fb9c339719e9f629cbfa9ea..9de3ae44af7f3865d7f9cf1bc8aee820fdbe289a 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