[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:
@@ -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>
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user