diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index b9173dc7d28..0d71c317666 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -968,7 +968,7 @@ class crm_meeting(osv.Model): 'attendee_ids': fields.one2many('calendar.attendee', 'event_id', 'Attendees', ondelete='cascade'), #'attendee_ids': fields.many2many('calendar.attendee', 'crmmeeting_attendee_rel', 'crmmeeting_id', 'attendee_id', 'Attendees', ondelete='cascade'), 'partner_ids': fields.many2many('res.partner', string='Attendees', states={'done': [('readonly', True)]}), - 'alarm_ids': fields.many2many('calendar.alarm', string='Reminders'), + 'alarm_ids': fields.many2many('calendar.alarm', string='Reminders',ondelete="restrict"), } _defaults = { 'end_type': 'count', diff --git a/addons/base_calendar/crm_meeting_demo.xml b/addons/base_calendar/crm_meeting_demo.xml index 690e65c1583..9d04e78d9ea 100644 --- a/addons/base_calendar/crm_meeting_demo.xml +++ b/addons/base_calendar/crm_meeting_demo.xml @@ -1,15 +1,32 @@ - + + + Another User + Another Login + + + + + + + + + + + + + + - + Follow-up for Project proposal Meeting to discuss project plan and hash out the details of implementation. @@ -21,7 +38,8 @@ - + + Initial discussion Discussion with partner for product. @@ -45,7 +63,8 @@ - + + Requirements review @@ -56,7 +75,7 @@ - + Changes in Designing @@ -67,7 +86,8 @@ - + + Presentation for new Services @@ -75,5 +95,18 @@ draft + + + + + + + Meeting between 2 others users than me + + + + + draft + diff --git a/addons/base_setup/res_config_view.xml b/addons/base_setup/res_config_view.xml index 086a5d865c3..8b89cbb9546 100644 --- a/addons/base_setup/res_config_view.xml +++ b/addons/base_setup/res_config_view.xml @@ -96,9 +96,11 @@
diff --git a/addons/google_calendar/google_calendar.py b/addons/google_calendar/google_calendar.py index fbfaf2f2ba4..f2c00f80ffe 100644 --- a/addons/google_calendar/google_calendar.py +++ b/addons/google_calendar/google_calendar.py @@ -115,6 +115,7 @@ class google_calendar(osv.osv): params = { 'fields': 'items,nextPageToken', 'access_token' : token, + 'maxResults':1000 # 'orderBy' : 'id', #Allow to create the main recurrence event, before instance of it ! DOESNT WORK ACTUALLY ON API GMAIL } headers = {'Content-type': 'application/json', 'Accept': 'text/plain'} @@ -148,6 +149,10 @@ class google_calendar(osv.osv): update_date = datetime.strptime(content['updated'],"%Y-%m-%dT%H:%M:%S.%fz") crm_meeting.write(cr, uid, [oe_event.id], {'oe_update_date':update_date}) + + if context['curr_attendee']: + self.pool.get('calendar.attendee').write(cr,uid,[context['curr_attendee']], {'oe_synchro_date':update_date},context) + def update_an_event(self, cr, uid,event, context=None): gs_pool = self.pool.get('google.service') @@ -431,7 +436,7 @@ class google_calendar(osv.osv): print "### Should never be here : L462" raise("error L 462") - if event['OE_update'] != event['GG_update']: + if event['OE_update'].split('.')[0] != event['GG_update'].split('.')[0]: if event['OE_update'] < event['GG_update']: event['td_source'] = 'GG' elif event['OE_update'] > event['GG_update']: @@ -455,7 +460,7 @@ class google_calendar(osv.osv): event['td_comment'] = 'Simply Update... I\'m a single event' else: - if event['OE_synchro'] < event['OE_update']: + if not event['OE_synchro'] or event['OE_synchro'].split('.')[0] < event['OE_update'].split('.')[0]: event['td_source'] = 'OE' event['td_action'] = "UPDATE" event['td_comment'] = 'Event already updated by another user, but not synchro with my google calendar' @@ -507,18 +512,20 @@ class google_calendar(osv.osv): ############# ### DEBUG ### - ############# -# print " Real Event %s (%s)" % (current_event[0],event['OE_event_id']) -# print " Found OE:%5s vs GG: %5s" % (event['OE_found'],event['GG_found']) -# print " Recurrence OE:%5s vs GG: %5s" % (event['OE_isRecurrence'],event['GG_isRecurrence']) -# print " Instance OE:%5s vs GG: %5s" % (event['OE_isInstance'],event['GG_isInstance']) -# print " Update OE: %10s " % (event['OE_update']) -# print " Update GG: %10s " % (event['GG_update']) -# print " Status OE:%5s vs GG: %5s" % (event['OE_status'],event['GG_status']) -# print " Action %s" % (event['td_action']) -# print " Source %s" % (event['td_source']) -# print " comment %s" % (event['td_comment']) - + ############# + if event['td_action'] and event['td_action'] != 'None': + print " Real Event %s (%s)" % (current_event[0],event['OE_event_id']) + print " Found OE:%5s vs GG: %5s" % (event['OE_found'],event['GG_found']) + print " Recurrence OE:%5s vs GG: %5s" % (event['OE_isRecurrence'],event['GG_isRecurrence']) + print " Instance OE:%5s vs GG: %5s" % (event['OE_isInstance'],event['GG_isInstance']) + print " Synchro OE: %10s " % (event['OE_synchro']) + print " Update OE: %10s " % (event['OE_update']) + print " Update GG: %10s " % (event['GG_update']) + print " Status OE:%5s vs GG: %5s" % (event['OE_status'],event['GG_status']) + print " Action %s" % (event['td_action']) + print " Source %s" % (event['td_source']) + print " comment %s" % (event['td_comment']) + context['curr_attendee'] = event.get('OE_attendee_id',False) diff --git a/addons/google_calendar/google_calendar.pyc b/addons/google_calendar/google_calendar.pyc index e4997fc6114..f8d03454c1d 100644 Binary files a/addons/google_calendar/google_calendar.pyc and b/addons/google_calendar/google_calendar.pyc differ diff --git a/addons/google_calendar/res_config.py b/addons/google_calendar/res_config.py index b2c22b2035c..c86ae7824c4 100644 --- a/addons/google_calendar/res_config.py +++ b/addons/google_calendar/res_config.py @@ -1,13 +1,14 @@ from openerp.osv import fields, osv class calendar_config_settings(osv.osv_memory): - _name = 'calendar.config.settings' - _inherit = 'res.config.settings' - + #_name = 'calendar.config.settings' + _inherit = 'base.config.settings' + _columns = { 'google_cal_sync': fields.boolean("Show tutorial to know how to get my 'Client ID' and my 'Client Secret'"), 'cal_client_id': fields.char("Client_id"), 'cal_client_secret': fields.char("Client_key"), + 'server_uri': fields.char('URI for tuto') } @@ -44,8 +45,8 @@ class calendar_config_settings(osv.osv_memory): cal_client_id = params.get_param(cr, uid, 'google_calendar_client_id',default='',context=context) cal_client_secret = params.get_param(cr, uid, 'google_calendar_client_secret',default='',context=context) - - return dict(cal_client_id=cal_client_id,cal_client_secret=cal_client_secret) + server_uri= "%s/googleauth/oauth2callback" % params.get_param(cr, uid, 'web.base.url',default="http://yourcompany.my.openerp.com",context=context) + return dict(cal_client_id=cal_client_id,cal_client_secret=cal_client_secret,server_uri=server_uri) diff --git a/addons/google_calendar/res_config_view.xml b/addons/google_calendar/res_config_view.xml index 7565d6498a3..eb66f350d56 100644 --- a/addons/google_calendar/res_config_view.xml +++ b/addons/google_calendar/res_config_view.xml @@ -2,18 +2,13 @@ - - Calendar settings - calendar.config.settings + + Calendar_settings_grgrgrgt + base.config.settings + -
-
-
- -
+
+
@@ -72,22 +69,25 @@
-
- + + +
+ API Configuration ir.actions.act_window - calendar.config.settings + base.config.settings form inline - + +