From 3373af527c0ad8ca08a94f3fef398ab3ebace7da Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Mon, 4 Apr 2016 13:51:27 +0200 Subject: [PATCH] [FIX] sales_team: allow to pass False as default saleteam Before this fix, sales_team.team_sales_department was always used ignoring default_ in context. Now we check before in context if a default sale team is forced. We allow False as saleteam, eg you assign a lead to a employee who is not a saleman. Now we check that the default saleteam sales_team.team_sales_department is configured to use_leads to avoid undefined saleteam in the front end. --- addons/sales_team/models/crm_team.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/addons/sales_team/models/crm_team.py b/addons/sales_team/models/crm_team.py index fb371740f7e..fb01d618331 100644 --- a/addons/sales_team/models/crm_team.py +++ b/addons/sales_team/models/crm_team.py @@ -15,13 +15,15 @@ class CrmTeam(models.Model): def _get_default_team_id(self, user_id=None): if not user_id: user_id = self.env.uid - team_id = self.env['crm.team'].search([ - '|', - ('user_id', '=', user_id), - ('member_ids', 'in', [user_id])], - limit=1) or self.env.ref('sales_team.team_sales_department', raise_if_not_found=False) - if not team_id and self.env.context.get('default_team_id'): + team_id = self.env['crm.team'].search( + ['|', ('user_id', '=', user_id), ('member_ids', 'in', [user_id])], + limit=1) + if not team_id and 'default_team_id' in self.env.context: team_id = self.env['crm.team'].browse(self.env.context.get('default_team_id')) + if not team_id and 'default_team_id' not in self.env.context: + default_team_id = self.env.ref('sales_team.team_sales_department', raise_if_not_found=False) + if default_team_id and (self.env.context.get('default_type') != 'lead' or default_team_id.use_leads): + team_id = default_team_id return team_id name = fields.Char('Sales Team', required=True, translate=True)