diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 3b6ce1aeb4b..374a6977a25 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -293,34 +293,30 @@ class Lead(models.Model): if lead.user_id and proposal not in lead.user_id.company_ids: proposal = False # inconsistent - if lead.team_id.company_id and proposal != lead.team_id.company_id: + elif lead.team_id.company_id and proposal != lead.team_id.company_id: proposal = False # void company on team and no assignee - if lead.team_id and not lead.team_id.company_id and not lead.user_id: + elif lead.team_id and not lead.team_id.company_id and not lead.user_id: proposal = False # no user and no team -> void company and let assignment do its job # unless customer has a company - if not lead.team_id and not lead.user_id and \ - (not lead.partner_id or lead.partner_id.company_id != proposal): + elif not lead.team_id and not lead.user_id and \ + (not lead.partner_id or lead.partner_id.company_id != proposal): proposal = False # propose a new company based on team > user (respecting context) > partner if not proposal: if lead.team_id.company_id: - proposal = lead.team_id.company_id + lead.company_id = lead.team_id.company_id elif lead.user_id: if self.env.company in lead.user_id.company_ids: - proposal = self.env.company + lead.company_id = self.env.company else: - proposal = lead.user_id.company_id & self.env.companies + lead.company_id = lead.user_id.company_id & self.env.companies elif lead.partner_id: - proposal = lead.partner_id.company_id + lead.company_id = lead.partner_id.company_id else: - proposal = False - - # set a new company - if lead.company_id != proposal: - lead.company_id = proposal + lead.company_id = False @api.depends('team_id', 'type') def _compute_stage_id(self):