From d176397b7311e3da83fe4c02a21b2232ae93468b Mon Sep 17 00:00:00 2001
From: Juliana <juliana@le-filament.com>
Date: Wed, 1 Feb 2023 14:11:33 +0100
Subject: [PATCH] [ADD]Add ref productor

---
 __manifest__.py             |  1 +
 data/data.xml               | 15 +++++++++++++++
 models/res_partner.py       | 10 ++++++++--
 views/res_partner_views.xml |  1 +
 4 files changed, 25 insertions(+), 2 deletions(-)
 create mode 100644 data/data.xml

diff --git a/__manifest__.py b/__manifest__.py
index c286a81..f82d208 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -10,6 +10,7 @@
         "security/ir.model.access.csv",
         # datas
         "data/mail_data.xml",
+        "data/data.xml",
         # views
         "views/res_partner_views.xml",
         "views/acc_operation_views.xml",
diff --git a/data/data.xml b/data/data.xml
new file mode 100644
index 0000000..e2d6760
--- /dev/null
+++ b/data/data.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+    <data noupdate="1">
+
+        <record id="sequence_prod_seq" model="ir.sequence">
+            <field name="name">Séquence pour les producteurs</field>
+            <field name="code">res.partner</field>
+            <field name="prefix">P</field>
+            <field name="padding">4</field>
+            <field eval="False" name="company_id"/>
+        </record>
+
+    </data>
+
+</odoo>
diff --git a/models/res_partner.py b/models/res_partner.py
index c55b2f9..bda32fb 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,7 +1,7 @@
 # Copyright 2021 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
 
 
 class ResPartner(models.Model):
@@ -34,6 +34,7 @@ class ResPartner(models.Model):
     )
     mail_contact_pmo = fields.Char("Mail du contact PMO")
     date_log = fields.Datetime("Date de connexion")
+    ref_producer = fields.Char("Référence du producteur")
     # ------------------------------------------------------
     # SQL Constraints
     # ------------------------------------------------------
@@ -53,7 +54,12 @@ class ResPartner(models.Model):
     # ------------------------------------------------------
     # CRUD methods (ORM overrides)
     # ------------------------------------------------------
-
+    @api.model
+    def create(self, vals):
+        if vals.get("is_producer") == True:
+            vals["ref_producer"] = self.env["ir.sequence"].next_by_code("res.partner")
+        result = super(ResPartner, self).create(vals)
+        return result
     # ------------------------------------------------------
     # Actions
     # ------------------------------------------------------
diff --git a/views/res_partner_views.xml b/views/res_partner_views.xml
index 352553b..96a21fb 100644
--- a/views/res_partner_views.xml
+++ b/views/res_partner_views.xml
@@ -51,6 +51,7 @@
             <field name="arch" type="xml">
                 <field name="type" position="before">
                     <field name="is_producer" />
+                    <field name="ref_producer" attrs="{'invisible': [('is_producer', '!=', True)]}"/>
                     <field name="is_consumer" />
                     <field name="is_pmo" />
                     <field
-- 
GitLab