From edc4c093d844c022fb6d418cf308c2448a6f9d24 Mon Sep 17 00:00:00 2001 From: jvm-odoo Date: Tue, 18 Feb 2020 09:34:48 +0000 Subject: [PATCH] [FIX] sale, purchase: fix empty partner lang Issue - Create new db with language en_CA - Install Sales & Purchase - Enable fr_CA - Create a product & Save - Edit the name & Save - Create a quotation or RFQ - Do not select partner - Select your product The description is still the old name Cause We try to browse a product with an empty partner language Solution Use odoo.tools.misc.get_lang() in order to fallback to a language is the partner's one is empty closes #44357 OPW-2196602 closes odoo/odoo#45620 X-original-commit: 4561b6bd4c2afab8ae29ced1a9085e6878a9921d Signed-off-by: Jason Van Malder (jvm) --- addons/purchase/models/purchase.py | 4 ++-- addons/sale/models/sale.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py index 1dc8a09c23a..2b1acb20bd6 100644 --- a/addons/purchase/models/purchase.py +++ b/addons/purchase/models/purchase.py @@ -9,7 +9,7 @@ from odoo.osv import expression from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT from odoo.tools.float_utils import float_compare from odoo.exceptions import AccessError, UserError, ValidationError -from odoo.tools.misc import formatLang +from odoo.tools.misc import formatLang, get_lang class PurchaseOrder(models.Model): @@ -638,7 +638,7 @@ class PurchaseOrderLine(models.Model): self.product_uom = self.product_id.uom_po_id or self.product_id.uom_id product_lang = self.product_id.with_context( - lang=self.partner_id.lang, + lang=get_lang(self.env, self.partner_id.lang).code, partner_id=self.partner_id.id, company_id=self.company_id.id, ) diff --git a/addons/sale/models/sale.py b/addons/sale/models/sale.py index d9695f86a53..55a52d9d1f1 100644 --- a/addons/sale/models/sale.py +++ b/addons/sale/models/sale.py @@ -7,7 +7,7 @@ from itertools import groupby from odoo import api, fields, models, SUPERUSER_ID, _ from odoo.exceptions import AccessError, UserError, ValidationError -from odoo.tools.misc import formatLang +from odoo.tools.misc import formatLang, get_lang from odoo.osv import expression from odoo.tools import float_is_zero, float_compare @@ -1488,7 +1488,7 @@ class SaleOrderLine(models.Model): vals['product_uom_qty'] = self.product_uom_qty or 1.0 product = self.product_id.with_context( - lang=self.order_id.partner_id.lang, + lang=get_lang(self.env, self.order_id.partner_id.lang).code, partner=self.order_id.partner_id, quantity=vals.get('product_uom_qty') or self.product_uom_qty, date=self.order_id.date_order,