← Back to team overview

openerp-dev-web team mailing list archive

lp:~openerp-dev/openobject-addons/trunk-calendar-retrieve_modification_date-uco into lp:~openerp-dev/openobject-addons/trunk-calendar

 

Ujjvala Collins (OpenERP) has proposed merging lp:~openerp-dev/openobject-addons/trunk-calendar-retrieve_modification_date-uco into lp:~openerp-dev/openobject-addons/trunk-calendar.

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

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-calendar-retrieve_modification_date-uco/+merge/57433

[IMP]:
sync_google_calendar:
-----------------------------------------
* Retreive last modification date
    * Same behavior as google contact import for conflict of two existing meeting 
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-calendar-retrieve_modification_date-uco/+merge/57433
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/trunk-calendar.
=== modified file 'sync_google_calendar/wizard/wizard_import_calendar_events.py'
--- sync_google_calendar/wizard/wizard_import_calendar_events.py	2011-04-08 12:09:18 +0000
+++ sync_google_calendar/wizard/wizard_import_calendar_events.py	2011-04-13 04:43:44 +0000
@@ -29,8 +29,8 @@
 from dateutil.tz import *
 from dateutil.parser import *
 from dateutil import parser
+from pytz import timezone
 import re
-
 import urllib
 
 try:
@@ -203,6 +203,12 @@
             categ_id.append(categ_obj.create(cr, uid, {'name': event_feed.title.text, 
                                                        'object_id': object_id and object_id[0],
                                                        'user_id': uid }))
+        if 'tz' in context and context['tz']:
+            time_zone = context['tz']
+        else:
+            time_zone = tools.get_server_timezone()
+        au_tz = timezone(time_zone)
+        
         for feed in event_feed.entry:
             google_id = feed.id.text
             model_data = {
@@ -232,8 +238,14 @@
             data_ids = model_obj.search(cr, uid, [('model','=','crm.meeting'), ('name','=',google_id)])
             if data_ids:
                 res_id = model_obj.browse(cr, uid, data_ids[0], context=context).res_id
-                meeting_ids.append(res_id)
-                meeting_obj.write(cr, uid, [res_id], vals, context=context)
+                meeting = meeting_obj.browse(cr, uid, res_id, context=context)
+                google_updated = feed.updated.text
+                utime = dateutil.parser.parse(google_updated)
+                au_dt = au_tz.normalize(utime.astimezone(au_tz))
+                updated_dt = datetime.datetime(*au_dt.timetuple()[:6]).strftime('%Y-%m-%d %H:%M:%S')
+                if meeting.write_date < updated_dt:
+                    meeting_ids.append(res_id)
+                    meeting_obj.write(cr, uid, [res_id], vals, context=context)
             else:
                 res_id = meeting_obj.create(cr, uid, vals, context=context)
                 meeting_ids.append(res_id)


Follow ups