Launchpad automatic translations update.
[odoo/odoo.git] / addons / import_sugarcrm / import_sugarcrm.py
index 2afe8ee..3ff14bc 100644 (file)
@@ -113,7 +113,7 @@ class sugar_import(import_framework):
             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"""
@@ -210,12 +210,12 @@ class sugar_import(import_framework):
         
     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',
@@ -226,7 +226,9 @@ class sugar_import(import_framework):
                         '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',
+                        
                 }
             } 
     
@@ -450,9 +452,10 @@ class sugar_import(import_framework):
         }
 
     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):
@@ -574,10 +577,10 @@ class sugar_import(import_framework):
         }
         
     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))
@@ -625,7 +628,8 @@ class sugar_import(import_framework):
                 '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',
             }
         }
         
@@ -645,11 +649,11 @@ class sugar_import(import_framework):
         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',
@@ -693,11 +697,11 @@ class sugar_import(import_framework):
                 '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',
                 } 
         }
     
@@ -995,12 +999,9 @@ class import_sugarcrm(osv.osv):
         '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):
@@ -1086,7 +1087,7 @@ class import_sugarcrm(osv.osv):
         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 
@@ -1130,7 +1131,7 @@ class import_sugarcrm(osv.osv):
                 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')
@@ -1146,3 +1147,5 @@ class import_sugarcrm(osv.osv):
             }
         
 import_sugarcrm()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: