From b95f5443db1c3ff019dcd3d4e9652ef64675e9e9 Mon Sep 17 00:00:00 2001 From: Denis Ledoux Date: Wed, 16 Oct 2013 16:48:49 +0200 Subject: [PATCH] [FIX]crm: leads/opps merge order, was not the same as before the state removal from the stages bzr revid: dle@openerp.com-20131016144849-yueclv7xqmk806nz --- addons/crm/crm_lead.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index 9c7908a3b93..a4350e5ce5b 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -611,10 +611,12 @@ class crm_lead(format_address, osv.osv): opportunities = self.browse(cr, uid, ids, context=context) sequenced_opps = [] + # Sorting the leads/opps according to the confidence level of its stage, which relates to the probability of winning it + # The confidence level increases with the stage sequence, except when the stage probability is 0.0 (Lost cases) + # An Opportunity always has higher confidence level than a lead, unless its stage probability is 0.0 for opportunity in opportunities: sequence = -1 - # TDE: was "if opportunity.stage_id and opportunity.stage_id.state != 'cancel':" - if opportunity.probability == 0 and opportunity.stage_id and opportunity.stage_id.sequence != 1 and opportunity.stage_id.fold: + if opportunity.stage_id and opportunity.stage_id.probability != 0 and opportunity.stage_id.sequence != 1: sequence = opportunity.stage_id.sequence sequenced_opps.append(((int(sequence != -1 and opportunity.type == 'opportunity'), sequence, -opportunity.id), opportunity))