From 03004aa95db6b3c5700bb29bcdeb0d2c35faf0f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 8 Dec 2021 08:08:38 +0000 Subject: [PATCH] [FIX] sale: do not force order responsible With recent update to computed fields [1] order responsible is now always changed to the partner responsible, or its commercial entity responsible. This cause issues, notably with ACLs 'own documents only'. Indeed a salesperson could update or set a partner on an order that would change the responsible and lead to ACLs issues. Moreover some functional flows automatically set a partner (online registrations, ...) that would make the responsible change without a clear notification or warning. We prefer to keep a less intrusive behavior, aka setting a responsible when no one is set. Task-2703285 (event performance) Task-2703289 (event testing) [1] odoo/odoo@210c9daebcb6765f8379972b2da54a2c411c2e8d closes odoo/odoo#81025 Signed-off-by: Yannick Tivisse (yti) --- addons/sale/models/sale_order.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/sale/models/sale_order.py b/addons/sale/models/sale_order.py index feac5f926be..fa0231f321f 100644 --- a/addons/sale/models/sale_order.py +++ b/addons/sale/models/sale_order.py @@ -461,7 +461,8 @@ class SaleOrder(models.Model): @api.depends('partner_id') def _compute_user_id(self): for order in self: - order.user_id = order.partner_id.user_id or order.partner_id.commercial_partner_id.user_id or self.env.user + if not order.user_id: + order.user_id = order.partner_id.user_id or order.partner_id.commercial_partner_id.user_id or self.env.user @api.depends('partner_id', 'user_id') def _compute_team_id(self):