From d8365e7898cdf2433816d0ea8ccf79fc05a9b080 Mon Sep 17 00:00:00 2001 From: Yannick Tivisse Date: Thu, 5 May 2022 10:47:52 +0000 Subject: [PATCH] [FIX] sale_expense: Fix traceback This could lead to a traceback in case the user's priviledge is not sufficient to make the name_search closes odoo/odoo#90687 X-original-commit: 28ad95df0807c117d3865a899a96939d0ac36e84 Signed-off-by: Yannick Tivisse (yti) --- addons/sale_expense/models/sale_order.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale_expense/models/sale_order.py b/addons/sale_expense/models/sale_order.py index 4fc225006d4..c148d98a457 100644 --- a/addons/sale_expense/models/sale_order.py +++ b/addons/sale_expense/models/sale_order.py @@ -15,7 +15,7 @@ class SaleOrder(models.Model): @api.model def _name_search(self, name='', args=None, operator='ilike', limit=100, name_get_uid=None): """ For expense, we want to show all sales order but only their name_get (no ir.rule applied), this is the only way to do it. """ - if self._context.get('sale_expense_all_order'): + if self._context.get('sale_expense_all_order') and self.user_has_groups('sales_team.group_sale_salesman') and not self.user_has_groups('sales_team.group_sale_salesman_all_leads'): domain = expression.AND([args or [], ['&', ('state', '=', 'sale'), ('company_id', 'in', self.env.companies.ids)]]) return super(SaleOrder, self.sudo())._name_search(name=name, args=domain, operator=operator, limit=limit, name_get_uid=SUPERUSER_ID) return super(SaleOrder, self)._name_search(name=name, args=args, operator=operator, limit=limit, name_get_uid=name_get_uid)