diff options
| author | David Beguin <dbe@odoo.com> | 2019-09-23 12:07:22 +0000 |
|---|---|---|
| committer | David Beguin <dbe@odoo.com> | 2019-09-25 14:42:31 +0000 |
| commit | da87a63d63f0d3f7ae2edebb361bc25fbff21504 (patch) | |
| tree | 23a6180096daafc36e0375f58d2d96b3fdadf131 /addons | |
| parent | 25a299dfc1c371d19b1700337ea378c16bf3f16b (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.xml | 2 | ||||
| -rw-r--r-- | addons/crm/models/crm_lead.py | 10 |
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() |
