← Back to team overview

openerp-dev-web team mailing list archive

lp:~openerp-dev/openobject-addons/trunk-contact-google-sync-backlog_correction-uco into lp:~openerp-dev/openobject-addons/trunk-contact-google-sync

 

Ujjvala Collins (OpenERP) has proposed merging lp:~openerp-dev/openobject-addons/trunk-contact-google-sync-backlog_correction-uco into lp:~openerp-dev/openobject-addons/trunk-contact-google-sync.

Requested reviews:
  OpenERP R&D Team (openerp-dev)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-contact-google-sync-backlog_correction-uco/+merge/52052

[REF]
In res.users
  * Title : Google account (not google user detail)
  * Field : Username (instead of google account)

Improved logic of using ir.model.data.
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-contact-google-sync-backlog_correction-uco/+merge/52052
Your team OpenERP R&D Team is requested to review the proposed merge of lp:~openerp-dev/openobject-addons/trunk-contact-google-sync-backlog_correction-uco into lp:~openerp-dev/openobject-addons/trunk-contact-google-sync.
=== modified file 'google_base_account/google_base_account.py'
--- google_base_account/google_base_account.py	2011-02-28 12:38:47 +0000
+++ google_base_account/google_base_account.py	2011-03-03 12:28:59 +0000
@@ -24,19 +24,10 @@
 class res_users(osv.osv):
     _inherit = "res.users"
     _columns = {
-        'gmail_user': fields.char('Google Account', size=64,),
+        'gmail_user': fields.char('Username', size=64,),
         'gmail_password': fields.char('Password', size=64),
     }
 res_users()    
 
-class ir_model_data(osv.osv):
-    
-    _inherit = "ir.model.data"
-    _columns = {
-        'google_id': fields.char('Google Contact Id', size=128, readonly=True),  
-    }
-
-ir_model_data()
-
 # vim:expandtab:smartindent:toabstop=4:softtabstop=4:shiftwidth=4:
 

=== modified file 'google_base_account/google_base_account_view.xml'
--- google_base_account/google_base_account_view.xml	2011-02-14 07:20:49 +0000
+++ google_base_account/google_base_account_view.xml	2011-03-03 12:28:59 +0000
@@ -9,7 +9,7 @@
           <field name="arch" type="xml">
               <xpath expr="//notebook[last()]" position="inside">
                      <page string=" Synchronization ">
-                     	<separator string="Google User Detail" colspan="4" />
+                     	<separator string="Google Account" colspan="4" />
 						<field name="gmail_user"/>
                       <field name="gmail_password" password="True"/>
 					</page>

=== modified file 'sync_google_contact/wizard/google_contact_import.py'
--- sync_google_contact/wizard/google_contact_import.py	2011-03-01 06:54:24 +0000
+++ sync_google_contact/wizard/google_contact_import.py	2011-03-03 12:28:59 +0000
@@ -85,9 +85,7 @@
     def create_partner(self, cr, uid, data={}, context=None):
         partner_obj = self.pool.get('res.partner')
         name = data.get('name','')
-        partner_id = partner_obj.search(cr, uid, [('name','ilike',name)], context=context)
-        if not partner_id:
-            partner_id.append(partner_obj.create(cr, uid, {'name': name, 'address' : [(6, 0, [data['address_id']])]}, context=context))
+        partner_id = partner_obj.create(cr, uid, {'name': name, 'address' : [(6, 0, [data['address_id']])]}, context=context)
         return partner_id, data
 
     def import_contact(self, cr, uid, ids, context=None):
@@ -137,22 +135,20 @@
         while contact:
             for entry in contact.entry:
                 data = {}
+                google_id = entry.id.text
                 model_data = {
-                    'name': 'google_contacts_information_%s' %(entry.id.text),
+                    'name': google_id,
                     'model': 'res.partner.address',
                     'module': 'sync_google_contact',
                 }
                 name = tools.ustr(entry.title.text)
                 if name == "None":
                     name = entry.email[0].address
-
-                google_id = entry.id.text
+                
                 emails = ','.join(email.address for email in entry.email)
                 if name and name != 'None':
                     data['name'] = name
 
-                if google_id:
-                    model_data.update({'google_id': google_id})
                 if entry.phone_number:
                     for phone in entry.phone_number:
                         if phone.rel == gdata.contacts.REL_WORK:
@@ -162,7 +158,7 @@
                         if phone.rel == gdata.contacts.PHONE_WORK_FAX:
                             data['fax'] = phone.text
 
-                data_ids = model_obj.search(cr, uid, [('google_id','=',google_id)])
+                data_ids = model_obj.search(cr, uid, [('model','=','res.partner.address'), ('name','=',google_id)])
                 if data_ids:
                     contact_ids = [model_obj.browse(cr, uid, data_ids[0], context=context).res_id]
                 elif emails:
@@ -181,7 +177,7 @@
                     data['address_id'] = res_id
                     if option == 'create_all':
                         partner_id, data = self.create_partner(cr, uid, data, context=context)
-                        partner_ids.append(partner_id[0])
+                        partner_ids.append(partner_id)
                     addresses.append(res_id)
                     model_data.update({'res_id': res_id})
                     model_obj.create(cr, uid, model_data, context=context)


Follow ups