summaryrefslogtreecommitdiff
path: root/addons/website_mail/controllers
diff options
context:
space:
mode:
authorChristophe Matthieu <chm@openerp.com>2013-07-24 17:20:27 +0200
committerChristophe Matthieu <chm@openerp.com>2013-07-24 17:20:27 +0200
commit185827a579d1a03aec925a4daf2cd6f92e202011 (patch)
treec440d938dea0917d0fbc12d31ebce3db64f75ad0 /addons/website_mail/controllers
parentc3e11ba9ca52cf3c16c1cdc96b67125f00019817 (diff)
[IMP] website_mail
bzr revid: chm@openerp.com-20130724152027-hzcdqli4t80ytg3l
Diffstat (limited to 'addons/website_mail/controllers')
-rw-r--r--addons/website_mail/controllers/__init__.py1
-rw-r--r--addons/website_mail/controllers/main.py44
2 files changed, 45 insertions, 0 deletions
diff --git a/addons/website_mail/controllers/__init__.py b/addons/website_mail/controllers/__init__.py
new file mode 100644
index 00000000000..8ee9bae18d9
--- /dev/null
+++ b/addons/website_mail/controllers/__init__.py
@@ -0,0 +1 @@
+import main
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