[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
|
||||
lead_ids = vals.get('lead_ids', [])
|
||||
team_id = vals.get('section_id', False)
|
||||
partner_id = vals.get('partner_id')
|
||||
data = self.browse(cr, uid, ids, context=context)[0]
|
||||
leads = lead.browse(cr, uid, lead_ids, context=context)
|
||||
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)
|
||||
user_ids = vals.get('user_ids', False)
|
||||
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]
|
||||
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':
|
||||
lead_id = lead_obj.merge_opportunity(cr, uid, opp_ids, context=context)
|
||||
lead_ids = [lead_id]
|
||||
lead = lead_obj.read(cr, uid, lead_id, ['type', 'user_id'], context=context)
|
||||
if lead['type'] == "lead":
|
||||
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']:
|
||||
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:
|
||||
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)
|
||||
|
||||
|
|
Loading…
Reference in New Issue