diff options
| author | Christophe Matthieu <chm@openerp.com> | 2013-07-24 17:20:27 +0200 |
|---|---|---|
| committer | Christophe Matthieu <chm@openerp.com> | 2013-07-24 17:20:27 +0200 |
| commit | 185827a579d1a03aec925a4daf2cd6f92e202011 (patch) | |
| tree | c440d938dea0917d0fbc12d31ebce3db64f75ad0 /addons/website_mail/controllers/main.py | |
| parent | c3e11ba9ca52cf3c16c1cdc96b67125f00019817 (diff) | |
[IMP] website_mail
bzr revid: chm@openerp.com-20130724152027-hzcdqli4t80ytg3l
Diffstat (limited to 'addons/website_mail/controllers/main.py')
| -rw-r--r-- | addons/website_mail/controllers/main.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py new file mode 100644 index 00000000000..05ef2130b12 --- /dev/null +++ b/addons/website_mail/controllers/main.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- + +from openerp.addons.web import http +from openerp.addons.web.http import request +from openerp.addons.website.controllers.main import template_values + + +class website_mail(http.Controller): + + @http.route(['/blog', '/blog/<int:mail_group_id>/<int:blog_id>'], type='http', auth="admin") + def blog(self, mail_group_id=None, blog_id=None, **post): + cr = request.cr + uid = request.uid + values = template_values() + + mail_group_obj = request.registry['mail.group'] + mail_message_obj = request.registry['mail.message'] + + if not mail_group_id: + mail_group_ids = mail_group_obj.search(cr, uid, [("public", "=", "public")]) + mail_group_id = mail_group_ids[0] + + domain = [("subject", "!=", False), ("parent_id", "=", False)]#, ("website_published", "=", True)] + + if blog_id and not mail_message_obj.search(cr, uid, [("id", "=", blog_id)] + domain): + blog_id = None + + message_ids = mail_message_obj.search(cr, uid, [("res_id", "=", mail_group_id), ("model", "=", 'mail.group')]) + domain += [("id", "in", message_ids)] + + values.update({ + 'res_company': request.registry['res.company'].browse(cr, uid, 1), + 'blog_ids': not blog_id and mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="create_date desc", limit=20)) or None, + 'popular_ids': mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="child_ids desc", limit=5)), + 'recent_ids': mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="create_date desc", limit=5)), + 'last_ids': mail_message_obj.browse(cr, uid, + mail_message_obj.search(cr, uid, domain, order="write_date desc", limit=5)), + 'blog_id': blog_id and mail_message_obj.browse(cr, uid, blog_id) or None, + }) + html = request.registry.get("ir.ui.view").render(cr, uid, "website_mail.index", values) + return html |
