[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) <nim@odoo.com>
This commit is contained in:
Lois Rilo
2020-12-10 14:24:26 +00:00
committed by Nicolas Martinelli
parent c28f0a5bd1
commit 1c5489c8b5
+2 -1
View File
@@ -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)