[FIX]: Fix Import partner address problem

bzr revid: atp@tinyerp.com-20110325123353-r4r6bdsbp2rrgg0h
This commit is contained in:
Atul Patel (OpenERP)
2011-03-25 18:03:53 +05:30
parent 1b8c12e336
commit 26d02e7f51
+14 -16
View File
@@ -197,6 +197,7 @@ def get_billing_address(sugar_obj,cr, uid, val, map_partner_address, context=Non
fields, datas = sugarcrm_fields_mapping.sugarcrm_fields_mapp(val, map_partner_address)
dict_val = dict(zip(fields,datas))
new_address_id = address_obj.create(cr,uid, dict_val)
return new_address_id
def get_shipping_address(sugar_obj,cr, uid, val, map_partner_address, context=None):
@@ -251,6 +252,7 @@ def get_address(sugar_obj, cr, uid, val, context=None):
fields=[]
datas=[]
address_obj = sugar_obj.pool.get('res.partner.address')
model_obj = sugar_obj.pool.get('ir.model.data')
address_ids = address_obj.search(cr, uid, [('name', '=',val.get('name')), ('type', 'in', ('invoice', 'delivery')), ('street', '=', val.get('billing_address_street'))])
if address_ids:
return address_ids
@@ -262,9 +264,8 @@ def get_address(sugar_obj, cr, uid, val, context=None):
'phone': 'phone_office',
'mobile': 'phone_mobile',
'fax': 'phone_fax',
'type': 'type'
'type': 'type',
}
address_id.append(get_billing_address(sugar_obj,cr, uid, val, map_partner_address, context))
address_id.append(get_shipping_address(sugar_obj,cr, uid, val, map_partner_address, context))
return address_id
@@ -276,7 +277,6 @@ def import_partners(sugar_obj, cr, uid, context=None):
'id': 'id',
'name': 'name',
'website': 'website',
'address/.id': 'address/.id',
'user_id/id': 'assigned_user_id',
'ref': 'sic_code',
'comment': ['description', 'employees', 'ownership', 'annual_revenue', 'rating', 'industry', 'ticker_symbol'],
@@ -291,19 +291,17 @@ def import_partners(sugar_obj, cr, uid, context=None):
for val in sugar_data:
add_id = get_address(sugar_obj, cr, uid, val, context)
for res_address in address_obj.browse(cr, uid, add_id):
partner_ids = partner_obj.search(cr, uid, [('name', '=', res_address.name)])
if partner_ids:
for partner in partner_obj.browse(cr, uid, partner_ids):
address_obj.write(cr,uid,res_address.id,{'partner_id':partner.id})
else:
val['address/.id'] = res_address.id
if val.get('account_type') in ('customer', 'prospect', 'other'):
val['customer'] = True
else:
val['supplier'] = True
fields, datas = sugarcrm_fields_mapping.sugarcrm_fields_mapp(val, map_partner)
partner_obj.import_data(cr, uid, fields, [datas], mode='update', current_module='sugarcrm_import', context=context)
if val.get('account_type') in ('customer', 'prospect', 'other'):
val['customer'] = True
else:
val['supplier'] = True
fields, datas = sugarcrm_fields_mapping.sugarcrm_fields_mapp(val, map_partner)
partner_obj.import_data(cr, uid, fields, [datas], mode='update', current_module='sugarcrm_import', context=context)
for a in address_obj.browse(cr,uid,add_id):
data_id=partner_obj.search(cr,uid,[('name','like',a.name),('website','like',val.get('website'))])
if data_id:
address_obj.write(cr,uid,a.id,{'partner_id':data_id[0]})
return True
def import_resources(sugar_obj, cr, uid, context=None):