[FIX] sale: salesman computation

Task-3105314

closes odoo/odoo#113314

X-original-commit: bba5b6a440544151cc610bbc6848adfbadb38bfb
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
This commit is contained in:
Victor Feyens
2023-02-23 11:33:46 +01:00
parent 68ca50ce70
commit f61c5a43ee
+9 -3
View File
@@ -415,9 +415,15 @@ class SaleOrder(models.Model):
@api.depends('partner_id')
def _compute_user_id(self):
for order in self:
if order.partner_id and not order.user_id:
order.user_id = order.partner_id.user_id or order.partner_id.commercial_partner_id.user_id or \
(self.user_has_groups('sales_team.group_sale_salesman') and self.env.user)
if order.partner_id and not (order._origin.id and order.user_id):
# Recompute the salesman on partner change
# * if partner is set (is required anyway, so it will be set sooner or later)
# * if the order is not saved or has no salesman already
order.user_id = (
order.partner_id.user_id
or order.partner_id.commercial_partner_id.user_id
or (self.user_has_groups('sales_team.group_sale_salesman') and self.env.user)
)
@api.depends('partner_id', 'user_id')
def _compute_team_id(self):