[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.
This commit is contained in:
Jeremy Kersten
2016-04-04 17:21:14 +02:00
parent b5a7491b64
commit 3373af527c
+8 -6
View File
@@ -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)