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 @@
-
- Once installed, you can configure your API credentials in "Google calendar -> API credentials"
-
+
+
+ Once installed, you can configure your API credentials for "Google calendar"
+
+
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
+
-
+
+
+
+
API Configuration
ir.actions.act_window
- calendar.config.settings
+ base.config.settings
form
inline
-
+
+