From 1c5489c8b57e47c4f8ef5df32e109cd2aca8ea7d Mon Sep 17 00:00:00 2001 From: Lois Rilo Date: Tue, 24 Nov 2020 11:46:58 +0000 Subject: [PATCH] [FIX] purchase: use a company consistent sequence numbering. If a RFQ/PO is created with a specific company, its number must be assigning using the sequence defined for that company with disregard to current environment company. E.g. This issue can easily arise when using aliases to create RFQ's. closes odoo/odoo#63175 X-original-commit: 5de36feffd0347ff28c8fa35818e7bfc2535df4e Signed-off-by: Nicolas Martinelli (nim) --- addons/purchase/models/purchase.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index 1260e40fcd1..2f59243ff94 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -201,10 +201,11 @@ class PurchaseOrder(models.Model): @api.model def create(self, vals): if vals.get('name', 'New') == 'New': + company_id = vals.get("company_id", self.env.company.id) seq_date = None if 'date_order' in vals: seq_date = fields.Datetime.context_timestamp(self, fields.Datetime.to_datetime(vals['date_order'])) - vals['name'] = self.env['ir.sequence'].next_by_code('purchase.order', sequence_date=seq_date) or '/' + vals['name'] = self.env['ir.sequence'].with_company(company_id).next_by_code('purchase.order', sequence_date=seq_date) or '/' return super(PurchaseOrder, self).create(vals) @api.ondelete(at_uninstall=False)