diff --git a/addons/calendar/calendar.py b/addons/calendar/calendar.py
index fdd02e19c5c..635e72e7b85 100644
--- a/addons/calendar/calendar.py
+++ b/addons/calendar/calendar.py
@@ -334,22 +334,22 @@ class calendar_alarm_manager(osv.AbstractModel):
res = {}
base_request = """
SELECT
- crm.id,
- crm.date - interval '1' minute * calcul_delta.max_delta AS first_alarm,
+ cal.id,
+ cal.date - interval '1' minute * calcul_delta.max_delta AS first_alarm,
CASE
- WHEN crm.recurrency THEN crm.end_date - interval '1' minute * calcul_delta.min_delta
- ELSE crm.date_deadline - interval '1' minute * calcul_delta.min_delta
+ WHEN cal.recurrency THEN cal.end_date - interval '1' minute * calcul_delta.min_delta
+ ELSE cal.date_deadline - interval '1' minute * calcul_delta.min_delta
END as last_alarm,
- crm.date as first_event_date,
+ cal.date as first_event_date,
CASE
- WHEN crm.recurrency THEN crm.end_date
- ELSE crm.date_deadline
+ WHEN cal.recurrency THEN cal.end_date
+ ELSE cal.date_deadline
END as last_event_date,
calcul_delta.min_delta,
calcul_delta.max_delta,
- crm.rrule AS rule
+ cal.rrule AS rule
FROM
- calendar_event AS crm
+ calendar_event AS cal
RIGHT JOIN
(
SELECT
@@ -359,11 +359,11 @@ class calendar_alarm_manager(osv.AbstractModel):
LEFT JOIN calendar_alarm AS alarm ON alarm.id = rel.calendar_alarm_id
WHERE alarm.type in %s
GROUP BY rel.calendar_event_id
- ) AS calcul_delta ON calcul_delta.calendar_event_id = crm.id
+ ) AS calcul_delta ON calcul_delta.calendar_event_id = cal.id
"""
filter_user = """
- LEFT JOIN calendar_event_res_partner_rel AS part_rel ON part_rel.calendar_event_id = crm.id
+ LEFT JOIN calendar_event_res_partner_rel AS part_rel ON part_rel.calendar_event_id = cal.id
AND part_rel.res_partner_id = %s
"""
@@ -384,19 +384,14 @@ class calendar_alarm_manager(osv.AbstractModel):
#Add filter on hours
tuple_params += (seconds, seconds,)
- cr.execute("""
- SELECT
- *
- FROM (
- %s
- ) AS ALL_EVENTS
- WHERE
- ALL_EVENTS.first_alarm < (now() at time zone 'utc' + interval '%s' second )
- AND ALL_EVENTS.last_alarm > (now() at time zone 'utc' - interval '%s' second )
- """ % base_request, tuple_params)
+ cr.execute("""SELECT *
+ FROM ( %s ) AS ALL_EVENTS
+ WHERE ALL_EVENTS.first_alarm < (now() at time zone 'utc' + interval '%%s' second )
+ AND ALL_EVENTS.last_alarm > (now() at time zone 'utc' - interval '%%s' second )
+ """ % base_request, tuple_params)
for event_id, first_alarm, last_alarm, first_meeting, last_meeting, min_duration, max_duration, rule in cr.fetchall():
- res[event_id].update({
+ res[event_id] = {
'event_id': event_id,
'first_alarm': first_alarm,
'last_alarm': last_alarm,
@@ -405,7 +400,7 @@ class calendar_alarm_manager(osv.AbstractModel):
'min_duration': min_duration,
'max_duration': max_duration,
'rrule': rule
- })
+ }
return res
@@ -496,7 +491,7 @@ class calendar_alarm_manager(osv.AbstractModel):
LastFound = False
for one_date in self.pool.get("calendar.event").get_recurrent_date_by_event(cr, uid, curEvent, context=context):
in_date_format = datetime.strptime(one_date, '%Y-%m-%d %H:%M:%S')
- LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, ajax_check_every_seconds, after=partner.cal_last_notif, mail=False, context=context)
+ LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, ajax_check_every_seconds, after=partner.calendar_last_notif_ack, mail=False, context=context)
if LastFound:
for alert in LastFound:
all_notif.append(self.do_notif_reminder(cr, uid, alert, context=context))
@@ -506,7 +501,7 @@ class calendar_alarm_manager(osv.AbstractModel):
break
else:
in_date_format = datetime.strptime(curEvent.date, '%Y-%m-%d %H:%M:%S')
- LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, ajax_check_every_seconds, partner.cal_last_notif, mail=False, context=context)
+ LastFound = self.do_check_alarm_for_one_date(cr, uid, in_date_format, curEvent, max_delta, ajax_check_every_seconds, partner.calendar_last_notif_ack, mail=False, context=context)
if LastFound:
for alert in LastFound:
all_notif.append(self.do_notif_reminder(cr, uid, alert, context=context))
@@ -521,7 +516,7 @@ class calendar_alarm_manager(osv.AbstractModel):
alarm = self.pool['calendar.alarm'].browse(cr, uid, alert['alarm_id'], context=context)
if alarm.type == 'email':
- res = self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, event.attendee_ids, template_xmlid='calendar_template_meeting_reminder', context=context)
+ res = self.pool['calendar.attendee']._send_mail_to_attendees(cr, uid, [att.id for att in event.attendee_ids], template_xmlid='calendar_template_meeting_reminder', context=context)
return res
diff --git a/addons/calendar/controllers/main.py b/addons/calendar/controllers/main.py
index 941c92dcc3d..98625be42da 100644
--- a/addons/calendar/controllers/main.py
+++ b/addons/calendar/controllers/main.py
@@ -1,21 +1,19 @@
import simplejson
-import urllib
import openerp
import openerp.addons.web.http as http
from openerp.addons.web.http import request
import openerp.addons.web.controllers.main as webmain
import json
-from openerp.addons.web.http import SessionExpiredException
-from werkzeug.exceptions import BadRequest
+
class meeting_invitation(http.Controller):
@http.route('/calendar/meeting/accept', type='http', auth="calendar")
- def accept(self, db, token, action, id,**kwargs):
+ def accept(self, db, token, action, id, **kwargs):
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
with registry.cursor() as cr:
- attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token','=',token),('state','!=', 'accepted')])
+ attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token', '=', token), ('state', '!=', 'accepted')])
if attendee_id:
attendee_pool.do_accept(cr, openerp.SUPERUSER_ID, attendee_id)
return self.view(db, token, action, id, view='form')
@@ -25,7 +23,7 @@ class meeting_invitation(http.Controller):
registry = openerp.modules.registry.RegistryManager.get(db)
attendee_pool = registry.get('calendar.attendee')
with registry.cursor() as cr:
- attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token','=',token),('state','!=', 'declined')])
+ attendee_id = attendee_pool.search(cr, openerp.SUPERUSER_ID, [('access_token', '=', token), ('state', '!=', 'declined')])
if attendee_id:
attendee_pool.do_decline(cr, openerp.SUPERUSER_ID, attendee_id)
return self.view(db, token, action, id, view='form')
@@ -36,13 +34,13 @@ class meeting_invitation(http.Controller):
meeting_pool = registry.get('calendar.event')
attendee_pool = registry.get('calendar.attendee')
with registry.cursor() as cr:
- attendee_data = meeting_pool.get_attendee(cr, openerp.SUPERUSER_ID, id);
- attendee = attendee_pool.search_read(cr, openerp.SUPERUSER_ID, [('access_token','=',token)],[])
-
+ attendee_data = meeting_pool.get_attendee(cr, openerp.SUPERUSER_ID, id)
+ attendee = attendee_pool.search_read(cr, openerp.SUPERUSER_ID, [('access_token', '=', token)], [])
+
if attendee:
attendee_data['current_attendee'] = attendee[0]
js = "\n ".join('' % i for i in webmain.manifest_list('js', db=db))
- css = "\n ".join('' % i for i in webmain.manifest_list('css',db=db))
+ css = "\n ".join('' % i for i in webmain.manifest_list('css', db=db))
return webmain.html_template % {
'js': js,
@@ -50,7 +48,7 @@ class meeting_invitation(http.Controller):
'modules': simplejson.dumps(webmain.module_boot(db)),
'init': "s.calendar.event('%s', '%s', '%s', '%s' , '%s');" % (db, action, id, 'form', json.dumps(attendee_data)),
}
-
+
# Function used, in RPC to check every 5 minutes, if notification to do for an event or not
@http.route('/calendar/notify', type='json', auth="none")
def notify(self):
@@ -58,15 +56,14 @@ class meeting_invitation(http.Controller):
uid = request.session.uid
context = request.session.context
with registry.cursor() as cr:
- res = registry.get("calendar.alarm_manager").get_next_notif(cr,uid,context=context)
+ res = registry.get("calendar.alarm_manager").get_next_notif(cr, uid, context=context)
return res
-
+
@http.route('/calendar/notify_ack', type='json', auth="none")
def notify_ack(self, type=''):
registry = openerp.modules.registry.RegistryManager.get(request.session.db)
uid = request.session.uid
context = request.session.context
with registry.cursor() as cr:
- res = registry.get("res.partner").calendar_last_notif(cr,uid,context=context)
+ res = registry.get("res.partner").calendar_last_notif_ack(cr, uid, context=context)
return res
-