From 61267f3760d5e231da1ad862295862fdfc734fdc Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Thu, 16 Apr 2020 11:02:24 +0000 Subject: [PATCH] [FIX] repair: ensure the pricelist is in the right company Default and onchange fallbacks don't consider the current company when searching for a pricelist. Forward-port of #46429 closes odoo/odoo#49650 X-original-commit: 812af92080648bdb7f7bb0e4e6aef55c6dc4b9d4 Signed-off-by: Yannick Tivisse (yti) Signed-off-by: Victor Feyens (vfe) --- addons/repair/models/repair.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/repair/models/repair.py b/addons/repair/models/repair.py index eb234402295..f26ef87900a 100644 --- a/addons/repair/models/repair.py +++ b/addons/repair/models/repair.py @@ -76,7 +76,7 @@ class Repair(models.Model): copy=True, readonly=True, states={'draft': [('readonly', False)]}) pricelist_id = fields.Many2one( 'product.pricelist', 'Pricelist', - default=lambda self: self.env['product.pricelist'].search([], limit=1).id, + default=lambda self: self.env['product.pricelist'].search([('company_id', 'in', [self.env.company.id, False])], limit=1).id, help='Pricelist of the selected partner.', check_company=True) partner_invoice_id = fields.Many2one('res.partner', 'Invoicing Address', check_company=True) invoice_method = fields.Selection([ @@ -177,7 +177,9 @@ class Repair(models.Model): if not self.partner_id: self.address_id = False self.partner_invoice_id = False - self.pricelist_id = self.env['product.pricelist'].search([], limit=1).id + self.pricelist_id = self.env['product.pricelist'].search([ + ('company_id', 'in', [self.env.company.id, False]), + ], limit=1) else: addresses = self.partner_id.address_get(['delivery', 'invoice', 'contact']) self.address_id = addresses['delivery'] or addresses['contact']