From aad1d93d382b5b620314ca975bef51885efed26f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com> Date: Thu, 30 Jun 2022 15:24:07 +0200 Subject: [PATCH] [FIX] project sequence --- __manifest__.py | 2 +- migrations/14.0.2.0.0/post-migration.py | 17 +++++++++++++++++ models/res_partner.py | 1 + models/sale_project.py | 3 ++- 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 migrations/14.0.2.0.0/post-migration.py diff --git a/__manifest__.py b/__manifest__.py index be58a74..f588efd 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -3,7 +3,7 @@ "summary": "Gestion de projet de création", "author": "Le Filament", "website": "https://le-filament.com", - "version": "14.0.1.0.0", + "version": "14.0.2.0.0", "license": "AGPL-3", "depends": ["product", "stock", "sale_management", "ap_partner"], "data": [ diff --git a/migrations/14.0.2.0.0/post-migration.py b/migrations/14.0.2.0.0/post-migration.py new file mode 100644 index 0000000..d2944b8 --- /dev/null +++ b/migrations/14.0.2.0.0/post-migration.py @@ -0,0 +1,17 @@ +# Copyright 2022 Le Filament (<http://www.le-filament.com>) +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +from odoo import SUPERUSER_ID, api + + +def _init_partner_sale_project_seq(env): + for partner in ( + env["res.partner"] + .with_context(active_test=False) + .search([("sale_project_ids", "!=", False)]) + ): + partner.sale_project_seq = partner.sale_project_count + + +def migrate(cr, version): + env = api.Environment(cr, SUPERUSER_ID, {}) + _init_partner_sale_project_seq(env) diff --git a/models/res_partner.py b/models/res_partner.py index 23f3de1..0b72932 100644 --- a/models/res_partner.py +++ b/models/res_partner.py @@ -16,6 +16,7 @@ class ResPartner(models.Model): sale_project_ids = fields.One2many( "sale.project", "partner_id", "Liste des projets" ) + sale_project_seq = fields.Integer(string="Séquence de projets", default="0") # ------------------------------------------------------ # SQL Constraints diff --git a/models/sale_project.py b/models/sale_project.py index 710e37d..b6f3c83 100644 --- a/models/sale_project.py +++ b/models/sale_project.py @@ -238,7 +238,8 @@ class SaleProject(models.Model): res = super().create(vals_list) for rec in res: rec.geo_sector_id = rec.sale_order_id.partner_id.geo_sector_id.id - seq = str(rec.sale_order_id.partner_id.sale_project_count).zfill(3) + rec.sale_order_id.partner_id.sale_project_seq += 1 + seq = str(rec.sale_order_id.partner_id.sale_project_seq).zfill(3) if rec.saison_id: saison_name = "-" + rec.saison_id.name else: -- GitLab