[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
This commit is contained in:
David Beguin
2019-09-25 14:42:31 +00:00
parent 25a299dfc1
commit da87a63d63
2 changed files with 7 additions and 5 deletions
+1 -1
View File
@@ -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>
+6 -4
View File
@@ -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()