diff --git a/addons/sale/models/sale_order.py b/addons/sale/models/sale_order.py index 0f62da4c806..bbb3a3403a7 100644 --- a/addons/sale/models/sale_order.py +++ b/addons/sale/models/sale_order.py @@ -430,12 +430,9 @@ class SaleOrder(models.Model): )._get_default_team_id(user_id=self.user_id.id, domain=None) @api.onchange('partner_id') - def onchange_partner_id_warning(self): + def _onchange_partner_id_warning(self): if not self.partner_id: return - warning = {} - title = False - message = False partner = self.partner_id # If partner has no warning, check its company @@ -446,18 +443,16 @@ class SaleOrder(models.Model): # Block if partner only has warning but parent company is blocked if partner.sale_warn != 'block' and partner.parent_id and partner.parent_id.sale_warn == 'block': partner = partner.parent_id - title = ("Warning for %s") % partner.name - message = partner.sale_warn_msg - warning = { - 'title': title, - 'message': message, - } + if partner.sale_warn == 'block': self.update({'partner_id': False, 'partner_invoice_id': False, 'partner_shipping_id': False, 'pricelist_id': False}) - return {'warning': warning} - if warning: - return {'warning': warning} + return { + 'warning': { + 'title': _("Warning for %s") % partner.name, + 'message': partner.sale_warn_msg, + } + } @api.onchange('commitment_date') def _onchange_commitment_date(self): diff --git a/addons/sale/tests/test_onchange.py b/addons/sale/tests/test_onchange.py index c0131a7fad4..e10aaf16023 100644 --- a/addons/sale/tests/test_onchange.py +++ b/addons/sale/tests/test_onchange.py @@ -287,7 +287,7 @@ class TestOnchangeProductId(TransactionCase): 'name': 'Test2', 'sale_warn': 'block', 'sale_warn_msg': 'Cannot afford our services'}) sale_order = self.env['sale.order'].create({'partner_id': partner_with_warning.id}) - warning = sale_order.onchange_partner_id_warning() + warning = sale_order._onchange_partner_id_warning() self.assertDictEqual(warning, { 'warning': { 'title': "Warning for Test", @@ -296,7 +296,7 @@ class TestOnchangeProductId(TransactionCase): }) sale_order.partner_id = partner_with_block_warning - warning = sale_order.onchange_partner_id_warning() + warning = sale_order._onchange_partner_id_warning() self.assertDictEqual(warning, { 'warning': { 'title': "Warning for Test2",