summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
authorDavid Beguin <dbe@odoo.com>2019-09-23 12:07:22 +0000
committerDavid Beguin <dbe@odoo.com>2019-09-25 14:42:31 +0000
commitda87a63d63f0d3f7ae2edebb361bc25fbff21504 (patch)
tree23a6180096daafc36e0375f58d2d96b3fdadf131 /addons
parent25a299dfc1c371d19b1700337ea378c16bf3f16b (diff)
[FIX-IMP] crm : remove probability default value and modify default pls start date
This commit - removes probability default value in order to activate Bayes predictive lead scoring by default - set the default pls start date to today - 8 days to include all demo data in PLS computation Task ID: 2044539 PR #37413
Diffstat (limited to 'addons')
-rw-r--r--addons/crm/data/crm_lead_prediction_data.xml2
-rw-r--r--addons/crm/models/crm_lead.py10
2 files changed, 7 insertions, 5 deletions
diff --git a/addons/crm/data/crm_lead_prediction_data.xml b/addons/crm/data/crm_lead_prediction_data.xml
index 42a2e8e34d9..a437956d0fc 100644
--- a/addons/crm/data/crm_lead_prediction_data.xml
+++ b/addons/crm/data/crm_lead_prediction_data.xml
@@ -26,7 +26,7 @@
</record>
<record id="crm_pls_start_date_param" model="ir.config_parameter">
<field name="key">crm.pls_start_date</field>
- <field name="value" eval="DateTime.now().strftime('%Y-%m-%d')"/>
+ <field name="value" eval="(datetime.now() - timedelta(days=8)).strftime('%Y-%m-%d')"/>
</record>
</data>
diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py
index e57d4a771f7..bdb39032b89 100644
--- a/addons/crm/models/crm_lead.py
+++ b/addons/crm/models/crm_lead.py
@@ -105,7 +105,7 @@ class Lead(models.Model):
date_conversion = fields.Datetime('Conversion Date', readonly=True)
# Probability - Only used for type opportunity
- probability = fields.Float('Probability', group_operator="avg", default=10.0)
+ probability = fields.Float('Probability', group_operator="avg")
automated_probability = fields.Float('Automated Probability', readonly=True)
is_automated_probability = fields.Boolean('Is automated probability?', compute="_compute_is_automated_probability")
phone_state = fields.Selection([
@@ -1426,9 +1426,11 @@ class Lead(models.Model):
# Recompute all the leads. Won : probability = 100 | Lost : probability = 0 or inactive
# Here, inactive won't be returned anyway
+ # Get also all the lead without probability --> These are the new leads. Activate auto probability on them.
pls_start_date = self._pls_get_safe_start_date()
if pls_start_date:
- pending_lead_domain = [('probability', '<', 100), ('probability', '>', 0), ('create_date', '>', pls_start_date)]
+ pending_lead_domain = ['&', ('create_date', '>', pls_start_date),
+ '|', ('probability', '=', False), '&', ('probability', '<', 100), ('probability', '>', 0)]
leads_to_update = self.env['crm.lead'].search(pending_lead_domain)
lead_probabilities = leads_to_update._pls_get_naive_bayes_probabilities(batch_mode=True)
@@ -1598,7 +1600,7 @@ class Lead(models.Model):
self.flush(['probability'])
query = """SELECT id, %s
FROM crm_lead l
- WHERE probability > 0 AND probability < 100 AND active = True AND id in %%s order by team_id asc"""
+ WHERE ((probability > 0 AND probability < 100) OR probability is null) AND active = True AND id in %%s order by team_id asc"""
query = sql.SQL(query % str_fields).format(*args)
self._cr.execute(query, [tuple(self.ids)])
@@ -1608,7 +1610,7 @@ class Lead(models.Model):
FROM crm_lead l
LEFT JOIN crm_lead_tag_rel rel ON l.id = rel.lead_id
LEFT JOIN crm_lead_tag t ON rel.tag_id = t.id
- WHERE l.probability > 0 AND l.probability < 100 AND l.active = True AND l.id in %s order by l.team_id asc"""
+ WHERE ((l.probability > 0 AND l.probability < 100) OR l.probability is null) AND l.active = True AND l.id in %s order by l.team_id asc"""
self._cr.execute(query, [tuple(self.ids)])
tag_results = self._cr.dictfetchall()