From 3074323653d798cf484b3cd782ba417d2b711035 Mon Sep 17 00:00:00 2001
From: thibaud <thibaud@le-filament.com>
Date: Thu, 21 Mar 2024 10:27:37 +0100
Subject: [PATCH] [IMP] Added sequence to financial contract name

---
 __manifest__.py              |  1 +
 data/sequence.xml            | 17 +++++++++++++++++
 models/financial_contract.py | 15 +++++++++++++--
 3 files changed, 31 insertions(+), 2 deletions(-)
 create mode 100644 data/sequence.xml

diff --git a/__manifest__.py b/__manifest__.py
index a7e2b0e..7c8f7ef 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -16,6 +16,7 @@
         "views/res_partner.xml",
         # views menu
         "views/menus.xml",
+        "data/sequence.xml"
         # wizard
     ],
     "assets": {
diff --git a/data/sequence.xml b/data/sequence.xml
new file mode 100644
index 0000000..c43605e
--- /dev/null
+++ b/data/sequence.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<odoo>
+    <data noupdate="1">
+        <!-- Demandes sequences -->
+        <record model="ir.sequence" id="financial_contract_sequence">
+            <field name="name">Contract number</field>
+            <field name="code">financial_contract_seq</field>
+            <field eval="1" name="number_next"/>
+            <field eval="1" name="number_increment"/>
+            <field eval="False" name="use_date_range"/>
+            <field eval="False" name="company_id"/>
+            <field name="prefix">FC</field>
+            <field name="padding">5</field>
+        </record>
+
+    </data>
+</odoo>
diff --git a/models/financial_contract.py b/models/financial_contract.py
index 5de399d..431aa7d 100644
--- a/models/financial_contract.py
+++ b/models/financial_contract.py
@@ -1,7 +1,7 @@
 # © 2019 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
+from odoo import _, fields, models, api
 from odoo.exceptions import UserError
 
 
@@ -13,7 +13,7 @@ class FinancialContract(models.Model):
     _check_company_auto = True
     _rec_names_search = ["name", "partner_id.name", "partner_id.member_number"]
 
-    name = fields.Char("Numéro", required=True)
+    name = fields.Char("Numéro", readonly=True)
     partner_id = fields.Many2one(
         comodel_name="res.partner",
         string="Coopérative",
@@ -62,3 +62,14 @@ class FinancialContract(models.Model):
                     _("Seuls les deals à l'état Projet peuvent être supprimés")
                 )
         return super().unlink()
+
+    @api.model
+    def create(self, values):
+        # On récupère le no de demande
+        name = self.env["ir.sequence"].next_by_code("financial_contract_seq")
+        values["name"] = name
+
+        # On crée le record
+        res = super().create(values)
+
+        return res
-- 
GitLab