[FIX]: Correct contact and add contact link with account

bzr revid: atp@tinyerp.com-20110413100729-uuh8fxc0mn67zlj5
This commit is contained in:
Atul Patel (OpenERP)
2011-04-13 15:37:29 +05:30
parent 1660458a17
commit f52cd06996
+15 -12
View File
@@ -778,16 +778,19 @@ def get_opportunity_contact(sugar_obj,cr,uid, PortType, sessionid, val, partner_
partner_address_obj = sugar_obj.pool.get('res.partner.address')
model_account_ids = model_obj.search(cr, uid, [('res_id', '=', partner_xml_id[0]), ('model', '=', 'res.partner'), ('module', '=', 'sugarcrm_import')])
model_xml_id = model_obj.browse(cr, uid, model_account_ids)[0].name
sugar_account_contact = sugar.relation_search(PortType, sessionid, 'Accounts', module_id=model_xml_id, related_module='Contacts', query=None, deleted=None)
for contact in sugar_account_contact:
model_ids = find_mapped_id(sugar_obj, cr, uid, 'res.partner.address', contact, context)
if model_ids:
model_id = model_obj.browse(cr, uid, model_ids)[0].res_id
address_id = partner_address_obj.browse(cr, uid, model_id)
partner_address_obj.write(cr, uid, [address_id.id], {'partner_id': partner_xml_id[0]})
partner_contact_name = address_id.name
else:
partner_contact_name = val.get('account_name')
sugar_account_contact = set(sugar.relation_search(PortType, sessionid, 'Accounts', module_id=model_xml_id, related_module='Contacts', query=None, deleted=None))
sugar_opportunities_contact = set(sugar.relation_search(PortType, sessionid, 'Opportunities', module_id=val.get('id'), related_module='Contacts', query=None, deleted=None))
sugar_contact = list(sugar_account_contact.intersection(sugar_opportunities_contact))
if sugar_contact:
for contact in sugar_contact:
model_ids = find_mapped_id(sugar_obj, cr, uid, 'res.partner.address', contact, context)
if model_ids:
model_id = model_obj.browse(cr, uid, model_ids)[0].res_id
address_id = partner_address_obj.browse(cr, uid, model_id)
partner_address_obj.write(cr, uid, [address_id.id], {'partner_id': partner_xml_id[0]})
partner_contact_name = address_id.name
else:
partner_contact_name = val.get('account_name')
return partner_contact_name
def import_opportunities(sugar_obj, cr, uid, context=None):
@@ -826,7 +829,7 @@ def import_opportunities(sugar_obj, cr, uid, context=None):
return True
MAP_FIELDS = {'Opportunities': #Object Mapping name
{'dependencies' : ['Users', 'Accounts'], #Object to import before this table
{'dependencies' : ['Users', 'Accounts', 'Contacts'], #Object to import before this table
'process' : import_opportunities,
},
'Leads':
@@ -872,7 +875,7 @@ MAP_FIELDS = {'Opportunities': #Object Mapping name
'Project Tasks':
{'dependencies' : ['Users', 'Projects'],
'process' : import_project_tasks,
},
},
'Resources':
{'dependencies' : ['Users'],
'process' : import_resources,