summaryrefslogtreecommitdiff
path: root/addons/website_mail_group/controllers
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2014-05-23 13:17:33 +0200
committerThibault Delavallée <tde@openerp.com>2014-05-23 13:17:33 +0200
commit9fadd0b04cab4fc54526a1f4dcafc2e77d3f6050 (patch)
tree308bb1cd19d0d00cf55476b6fd4cba2b176a3bd8 /addons/website_mail_group/controllers
parent41e3f881193d8427dcc99ad8fe88aa14bf7d49ea (diff)
[IMP] website_mail_group: display previous / next message when browsing + take into account thread or date mode.
Diffstat (limited to 'addons/website_mail_group/controllers')
-rw-r--r--addons/website_mail_group/controllers/main.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/addons/website_mail_group/controllers/main.py b/addons/website_mail_group/controllers/main.py
index 56bc4797dd5..7320ebc6548 100644
--- a/addons/website_mail_group/controllers/main.py
+++ b/addons/website_mail_group/controllers/main.py
@@ -83,6 +83,19 @@ class MailGroup(http.Controller):
], type='http', auth="public", website=True)
def thread_discussion(self, group, message, mode='thread', date_begin=None, date_end=None, **post):
cr, uid, context = request.cr, request.uid, request.context
+ Message = request.registry['mail.message']
+ if mode == 'thread':
+ base_domain = [('model', '=', 'mail.group'), ('res_id', '=', group.id), ('parent_id', '=', message.parent_id and message.parent_id.id or False)]
+ else:
+ base_domain = [('model', '=', 'mail.group'), ('res_id', '=', group.id)]
+ next_message = None
+ next_message_ids = Message.search(cr, uid, base_domain + [('date', '<', message.date)], order="date DESC", limit=1, context=context)
+ if next_message_ids:
+ next_message = Message.browse(cr, uid, next_message_ids[0], context=context)
+ prev_message = None
+ prev_message_ids = Message.search(cr, uid, base_domain + [('date', '>', message.date)], order="date ASC", limit=1, context=context)
+ if prev_message_ids:
+ prev_message = Message.browse(cr, uid, prev_message_ids[0], context=context)
values = {
'message': message,
'group': group,
@@ -91,6 +104,8 @@ class MailGroup(http.Controller):
'date_begin': date_begin,
'date_end': date_end,
'replies_per_page': self._replies_per_page,
+ 'next_message': next_message,
+ 'prev_message': prev_message,
}
return request.website.render('website_mail_group.group_message', values)