diff --git a/addons/crm/data/crm_demo.xml b/addons/crm/data/crm_demo.xml
index de433c3afeb..f5f0ed06bed 100644
--- a/addons/crm/data/crm_demo.xml
+++ b/addons/crm/data/crm_demo.xml
@@ -10,5 +10,9 @@
+
+
+ True
+
diff --git a/addons/crm/models/crm_team.py b/addons/crm/models/crm_team.py
index a1a0f42bd6f..189799a37de 100644
--- a/addons/crm/models/crm_team.py
+++ b/addons/crm/models/crm_team.py
@@ -12,8 +12,10 @@ class Team(models.Model):
_name = 'crm.team'
_inherit = ['mail.alias.mixin', 'crm.team']
_description = 'Sales Team'
- use_opportunities = fields.Boolean('Manage a pipeline', default=True, help="Check this box to manage a presales process with opportunities.")
- alias_id = fields.Many2one('mail.alias', string='Alias', ondelete="restrict", required=True, help="The email address associated with this channel. New emails received will automatically create new leads assigned to the channel.")
+
+ use_leads = fields.Boolean('Leads', help="Check this box to filter and qualify incoming requests as leads before converting them into opportunities and assigning them to a salesperson.")
+ use_opportunities = fields.Boolean('Pipeline', default=True, help="Check this box to manage a presales process with opportunities.")
+ alias_id = fields.Many2one('mail.alias', string='Alias', ondelete="restrict", required=True, help="The email address associated with this channel. New emails received will automatically create new leads assigned to the channel.")
unassigned_leads_count = fields.Integer(
compute='_compute_unassigned_leads_count',
@@ -76,10 +78,10 @@ class Team(models.Model):
for team in self:
team.overdue_opportunities_count = counts.get(team.id, 0)
team.overdue_opportunities_amount = amounts.get(team.id, 0)
-
- @api.onchange('use_opportunities')
- def _onchange_opportunities(self):
- if not self.use_opportunities:
+
+ @api.onchange('use_leads', 'use_opportunities')
+ def _onchange_use_leads_opportunities(self):
+ if not self.use_leads and not self.use_opportunities:
self.alias_name = False
def get_alias_model_name(self, vals):
@@ -89,13 +91,13 @@ class Team(models.Model):
has_group_use_lead = self.env.user.has_group('crm.group_use_lead')
values = super(Team, self).get_alias_values()
values['alias_defaults'] = defaults = safe_eval(self.alias_defaults or "{}")
- defaults['type'] = 'lead' if has_group_use_lead else 'opportunity'
+ defaults['type'] = 'lead' if has_group_use_lead and self.use_leads else 'opportunity'
defaults['team_id'] = self.id
- return values
+ return values
def write(self, vals):
result = super(Team, self).write(vals)
- if 'alias_defaults' in vals:
+ if 'use_leads' in vals or 'alias_defaults' in vals:
for team in self:
team.alias_id.write(team.get_alias_values())
return result
@@ -130,7 +132,7 @@ class Team(models.Model):
if self.use_opportunities:
return self.env.ref('crm.crm_case_form_view_salesteams_opportunity').read()[0]
return super(Team,self).action_primary_channel_button()
-
+
def _graph_get_model(self):
if self.use_opportunities:
return 'crm.lead'
diff --git a/addons/crm/views/crm_lead_views.xml b/addons/crm/views/crm_lead_views.xml
index 75970269e0d..afd98c695ca 100644
--- a/addons/crm/views/crm_lead_views.xml
+++ b/addons/crm/views/crm_lead_views.xml
@@ -134,7 +134,7 @@
-
+
@@ -456,6 +456,8 @@
name="assigned_to_me"
domain="[('user_id', '=', uid)]"
help="Leads that are assigned to me"/>
+
@@ -624,7 +626,7 @@
-
+
diff --git a/addons/crm/views/crm_team_views.xml b/addons/crm/views/crm_team_views.xml
index bee29801300..85fab9cba20 100644
--- a/addons/crm/views/crm_team_views.xml
+++ b/addons/crm/views/crm_team_views.xml
@@ -97,36 +97,42 @@
- crm.team.form.inherit
- crm.team
-
- 12
-
-
-