- },}
- priority = priority_dict['priority'].get(val, '')
- return priority
-
-
-def get_account(sugar_obj, cr, uid, val, context=None):
- if not context:
- context = {}
- partner_id = False
- partner_address_id = False
- partner_phone = False
- partner_mobile = False
- model_obj = sugar_obj.pool.get('ir.model.data')
- address_obj = sugar_obj.pool.get('res.partner.address')
- crm_obj = sugar_obj.pool.get('crm.lead')
- project_obj = sugar_obj.pool.get('project.project')
- issue_obj = sugar_obj.pool.get('project.issue')
- if val.get('parent_type') == 'Accounts':
- model_ids = model_obj.search(cr, uid, [('name', '=', val.get('parent_id')), ('model', '=', 'res.partner')])
- if model_ids:
- model = model_obj.browse(cr, uid, model_ids)[0]
- partner_id = model.res_id
- address_ids = address_obj.search(cr, uid, [('partner_id', '=', partner_id)])
- if address_ids:
- address_id = address_obj.browse(cr, uid, address_ids[0])
- partner_address_id = address_id.id
- partner_phone = address_id.phone
- partner_mobile = address_id.mobile
-
- if val.get('parent_type') == 'Contacts':
- model_ids = model_obj.search(cr, uid, [('name', '=', val.get('parent_id')), ('model', '=', 'res.partner.address')])
- for model in model_obj.browse(cr, uid, model_ids):
- partner_address_id = model.res_id
- address_id = address_obj.browse(cr, uid, partner_address_id)
- partner_phone = address_id.phone
- partner_mobile = address_id.mobile
- partner_id = address_id and address_id.partner_id or False
-
- if val.get('parent_type') == 'Opportunities':
- model_ids = model_obj.search(cr, uid, [('name', '=', val.get('parent_id')), ('model', '=', 'crm.lead')])
- for model in model_obj.browse(cr, uid, model_ids):
- opportunity_id = model.res_id
- opportunity_id = crm_obj.browse(cr, uid, opportunity_id)
- partner_id = opportunity_id.partner_id.id
- partner_address_id = opportunity_id.partner_address_id.id
- partner_phone = opportunity_id.partner_address_id.phone
- partner_mobile = opportunity_id.partner_address_id.mobile
-
- if val.get('parent_type') == 'Project':
- model_ids = model_obj.search(cr, uid, [('name', '=', val.get('parent_id')), ('model', '=', 'project.project')])
- for model in model_obj.browse(cr, uid, model_ids):
- proj_ids = model.res_id
- proj_id = project_obj.browse(cr, uid, proj_ids)
- partner_id = proj_id.partner_id.id
- partner_address_id = proj_id.contact_id.id
- partner_phone = proj_id.contact_id.phone
- partner_mobile = proj_id.contact_id.mobile
-
- if val.get('parent_type') == 'Bugs':
- model_ids = model_obj.search(cr, uid, [('name', '=', val.get('parent_id')), ('model', '=', 'project.issue')])
- for model in model_obj.browse(cr, uid, model_ids):
- issue_ids = model.res_id
- issue_id = issue_obj.browse(cr, uid, issue_ids)
- partner_id = issue_id.partner_id.id
- partner_address_id = issue_id.partner_address_id.id
- partner_phone = issue_id.partner_address_id.phone
- partner_mobile = issue_id.partner_address_id.mobile
-
- return partner_id, partner_address_id, partner_phone,partner_mobile
-
-def import_documents(sugar_obj, cr, uid, context=None):
- if not context:
- context = {}
- map_document = {'id' : 'id',
- 'name': 'document_name',
- 'description': 'description',
- 'datas': 'datas',
- 'datas_fname': 'datas_fname',
- }
- attach_obj = sugar_obj.pool.get('ir.attachment')
- PortType,sessionid = sugar.login(context.get('username',''), context.get('password',''), context.get('url',''))
- sugar_data = sugar.search(PortType,sessionid, 'Documents')
- for val in sugar_data:
- file, filename = sugar.attachment_search(PortType, sessionid, 'DocumentRevisions', val.get('document_revision_id'))
- val['datas'] = file
- val['datas_fname'] = filename or val.get('document_name')
- fields, datas = sugarcrm_fields_mapping.sugarcrm_fields_mapp(val, map_document, context)
- attach_obj.import_data(cr, uid, fields, [datas], mode='update', current_module='sugarcrm_import', noupdate=True, context=context)
- return True
+ }
+ return priority_dict.get(val.get('priority'), '')
+
+ def get_project_task_mapping(self):
+ return {
+ 'model' : 'project.task',
+ 'dependencies' : [self.TABLE_USER, self.TABLE_PROJECT],
+ 'map' : {
+ 'name': 'name',
+ 'date_start': 'date_start',
+ 'date_end': 'date_finish',
+ 'project_id/id': ref(self.TABLE_PROJECT, 'project_id'),
+ 'planned_hours': 'estimated_effort',
+ 'priority': self.get_project_task_priority,
+ 'description': ppconcat('description','milestone_flag', 'project_task_id', 'task_number', 'percent_complete'),
+ 'user_id/id': ref(self.TABLE_USER, 'assigned_user_id'),
+ 'partner_id/id': 'partner_id/id',
+ 'contact_id/id': 'contact_id/id',
+ 'state': map_val('status', self.project_task_state)
+ }
+ }