[FIX] crm: convert to opp, link to an existing cstomer
When converting a lead to an opportunity, and choosing the option "link to an existing customer", the resulting opp wasn't actually linked to the ccustomer.
This commit is contained in:
parent
8c150c609e
commit
65de6e7f27
|
@ -127,10 +127,11 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
||||||
res = False
|
res = False
|
||||||
lead_ids = vals.get('lead_ids', [])
|
lead_ids = vals.get('lead_ids', [])
|
||||||
team_id = vals.get('section_id', False)
|
team_id = vals.get('section_id', False)
|
||||||
|
partner_id = vals.get('partner_id')
|
||||||
data = self.browse(cr, uid, ids, context=context)[0]
|
data = self.browse(cr, uid, ids, context=context)[0]
|
||||||
leads = lead.browse(cr, uid, lead_ids, context=context)
|
leads = lead.browse(cr, uid, lead_ids, context=context)
|
||||||
for lead_id in leads:
|
for lead_id in leads:
|
||||||
partner_id = self._create_partner(cr, uid, lead_id.id, data.action, lead_id.partner_id.id, context=context)
|
partner_id = self._create_partner(cr, uid, lead_id.id, data.action, partner_id or lead_id.partner_id.id, context=context)
|
||||||
res = lead.convert_opportunity(cr, uid, [lead_id.id], partner_id, [], False, context=context)
|
res = lead.convert_opportunity(cr, uid, [lead_id.id], partner_id, [], False, context=context)
|
||||||
user_ids = vals.get('user_ids', False)
|
user_ids = vals.get('user_ids', False)
|
||||||
if context.get('no_force_assignation'):
|
if context.get('no_force_assignation'):
|
||||||
|
@ -153,18 +154,26 @@ class crm_lead2opportunity_partner(osv.osv_memory):
|
||||||
|
|
||||||
w = self.browse(cr, uid, ids, context=context)[0]
|
w = self.browse(cr, uid, ids, context=context)[0]
|
||||||
opp_ids = [o.id for o in w.opportunity_ids]
|
opp_ids = [o.id for o in w.opportunity_ids]
|
||||||
|
vals = {
|
||||||
|
'section_id': w.section_id.id,
|
||||||
|
}
|
||||||
|
if w.partner_id:
|
||||||
|
vals['partner_id'] = w.partner_id.id
|
||||||
if w.name == 'merge':
|
if w.name == 'merge':
|
||||||
lead_id = lead_obj.merge_opportunity(cr, uid, opp_ids, context=context)
|
lead_id = lead_obj.merge_opportunity(cr, uid, opp_ids, context=context)
|
||||||
lead_ids = [lead_id]
|
lead_ids = [lead_id]
|
||||||
lead = lead_obj.read(cr, uid, lead_id, ['type', 'user_id'], context=context)
|
lead = lead_obj.read(cr, uid, lead_id, ['type', 'user_id'], context=context)
|
||||||
if lead['type'] == "lead":
|
if lead['type'] == "lead":
|
||||||
context.update({'active_ids': lead_ids})
|
context.update({'active_ids': lead_ids})
|
||||||
self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids, 'user_ids': [w.user_id.id], 'section_id': w.section_id.id}, context=context)
|
vals.update({'lead_ids': lead_ids, 'user_ids': [w.user_id.id]})
|
||||||
|
self._convert_opportunity(cr, uid, ids, vals, context=context)
|
||||||
elif not context.get('no_force_assignation') or not lead['user_id']:
|
elif not context.get('no_force_assignation') or not lead['user_id']:
|
||||||
lead_obj.write(cr, uid, lead_id, {'user_id': w.user_id.id, 'section_id': w.section_id.id}, context=context)
|
vals.update({'user_id': w.user_id.id})
|
||||||
|
lead_obj.write(cr, uid, lead_id, vals, context=context)
|
||||||
else:
|
else:
|
||||||
lead_ids = context.get('active_ids', [])
|
lead_ids = context.get('active_ids', [])
|
||||||
self._convert_opportunity(cr, uid, ids, {'lead_ids': lead_ids, 'user_ids': [w.user_id.id], 'section_id': w.section_id.id}, context=context)
|
vals.update({'lead_ids': lead_ids, 'user_ids': [w.user_id.id]})
|
||||||
|
self._convert_opportunity(cr, uid, ids, vals, context=context)
|
||||||
|
|
||||||
return self.pool.get('crm.lead').redirect_opportunity_view(cr, uid, lead_ids[0], context=context)
|
return self.pool.get('crm.lead').redirect_opportunity_view(cr, uid, lead_ids[0], context=context)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue