return False
fields = ['name']
data = [val]
- return self.import_object(fields, data, 'res.partner.canal', 'crm_channel', val)
+ return self.import_object(fields, data, 'crm.case.channel', 'crm_channel', val)
def get_all_states(self, external_val, country_id):
"""Get states or create new state unless country_id is False"""
def get_email_mapping(self):
return {
- 'model' : 'mailgate.message',
+ 'model' : 'mail.message',
'dependencies' : [self.TABLE_USER, self.TABLE_ACCOUNT, self.TABLE_CONTACT, self.TABLE_LEAD, self.TABLE_OPPORTUNITY, self.TABLE_MEETING, self.TABLE_CALL],
'hook' : self.import_email,
'map' : {
- 'name':'name',
- 'history' : const("1"),
+ 'subject':'name',
+ 'state' : const('received'),
'date':'date_sent',
'email_from': 'from_addr_name',
'email_to': 'to_addrs_names',
'model': 'model',
'partner_id/.id': 'partner_id/.id',
'user_id/id': ref(self.TABLE_USER, 'assigned_user_id'),
- 'description': ppconcat('description', 'description_html'),
+ 'body_text': 'description',
+ 'body_html' : 'description_html',
+
}
}
}
def import_task(self, val):
- print val.get('date_start'), val.get('date_due')
- val['date'] = val.get('date_start') or datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
- val['date_deadline'] = val.get('date_due') or datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
+ date = val.get('date_start') or datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
+ val['date'] = ''.join(date)
+ date_deadline = val.get('date_due') or datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
+ val['date_deadline'] = ''.join(date_deadline)
return val
def get_task_mapping(self):
}
def get_opportunity_status(self, sugar_val):
- fields = ['name', 'type']
+ fields = ['name', 'case_default']
name = 'Opportunity_' + sugar_val['sales_stage']
- data = [sugar_val['sales_stage'], 'Opportunity']
- return self.import_object(fields, data, 'crm.case.stage', self.TABLE_STAGE, name, [('type', '=', 'opportunity'), ('name', 'ilike', sugar_val['sales_stage'])])
+ data = [sugar_val['sales_stage'], '1']
+ return self.import_object(fields, data, 'crm.case.stage', self.TABLE_STAGE, name, [('name', 'ilike', sugar_val['sales_stage'])])
def import_opportunity_contact(self, val):
sugar_opportunities_contact = set(sugar.relation_search(self.context.get('port'), self.context.get('session_id'), 'Opportunities', module_id=val.get('id'), related_module='Contacts', query=None, deleted=None))
'type' : const('opportunity'),
'categ_id/id': call(self.get_category, 'crm.lead', value('opportunity_type')),
'email_from': 'email_from',
- 'state': map_val('status', self.opp_state) , #TODO
+ 'state': map_val('status', self.opp_state),
+ 'description' : 'description',
}
}
import lead
"""
def get_lead_status(self, sugar_val):
- fields = ['name', 'type']
+ fields = ['name', 'case_default']
name = 'lead_' + sugar_val.get('status', '')
- data = [sugar_val.get('status', ''), 'lead']
- return self.import_object(fields, data, 'crm.case.stage', self.TABLE_STAGE, name, [('type', '=', 'lead'), ('name', 'ilike', sugar_val.get('status', ''))])
-
+ data = [sugar_val.get('status', ''), '1']
+ return self.import_object(fields, data, 'crm.case.stage', self.TABLE_STAGE, name, [('name', 'ilike', sugar_val.get('status', ''))])
+
lead_state = {
'New' : 'draft',
'Assigned':'open',
'state': map_val('status', self.lead_state) ,
'fax': 'phone_fax',
'referred': 'refered_by',
- 'optout': 'do_not_call',
+ 'opt_out': 'do_not_call',
'channel_id/id': call(self.get_channel_id, value('lead_source')),
'type_id/id': ref(self.TABLE_COMPAIGN, 'campaign_id'),
'country_id/id': 'country_id/id',
- 'state_id/id': 'state_id/id'
+ 'state_id/id': 'state_id/id',
}
}
'document': True,
'instance_name': 'sugarcrm',
'email_from': _get_email_id,
- #'username' : 'admin',
- #'password' : '',
- #'url': "http://sugarcrm.example.com/soap.php"
- 'username' : 'tfr',
- 'password' : 'a',
- 'url': "http://localhost/sugarcrm/soap.php"
+ 'username' : 'admin',
+ 'password' : '',
+ 'url': "http://sugarcrm.example.com/soap.php"
}
def check_url(self, url, context):
scheduler Method
"""
context = {'username': args[4], 'password': args[5], 'url': args[3], 'instance_name': args[3]}
- imp = sugar_import(self, cr, uid, args[2], "import_sugarcrm", [args[1]], context)
+ imp = sugar_import(self, cr, uid, args[2], "import_sugarcrm", args[1], context)
imp.set_table_list(args[0])
imp.start()
return True
raise osv.except_osv(_('Error !!'), _("%s data required %s Module to be installed, Please install %s module") %(keys,module,module))
url = self.parse_valid_url(context)
context.update({'url': url})
- imp = sugar_import(self, cr, uid, context.get('instance_name'), "import_sugarcrm", [context.get('email_user')], context)
+ imp = sugar_import(self, cr, uid, context.get('instance_name'), "import_sugarcrm", context.get('email_user'), context)
imp.set_table_list(keys)
imp.start()
obj_model = self.pool.get('ir.model.data')
}
import_sugarcrm()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: