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