diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py
index f39c94a5465..806fda76b03 100644
--- a/addons/website_mail/controllers/main.py
+++ b/addons/website_mail/controllers/main.py
@@ -13,30 +13,20 @@ class website_mail(website):
mail_group_obj = request.registry['mail.group']
message_obj = request.registry['mail.message']
- domain = [("subject", "!=", False), ("parent_id", "=", False)]
-
- if blog_id and not message_obj.search(cr, uid, [("id", "=", blog_id)] + domain):
- blog_id = None
- else:
- blog_domain = [("parent_id", "=", blog_id)]
-
- domain += [("id", "in", message_obj.search(cr, uid,
- mail_group_id and [("res_id", "=", mail_group_id), ("model", "=", 'mail.group')] or [("model", "=", 'mail.group')]))]
-
values = {
'res_company': request.registry['res.company'].browse(cr, uid, 1),
- 'blog_ids': not blog_id and message_obj.browse(cr, uid,
- message_obj.search(cr, uid, domain, order="create_date desc", limit=20)) or None,
- 'popular_ids': message_obj.browse(cr, uid,
- message_obj.search(cr, uid, domain, order="child_ids desc", limit=5)),
- 'recent_ids': message_obj.browse(cr, uid,
- message_obj.search(cr, uid, domain, order="create_date desc", limit=5)),
- 'last_ids': message_obj.browse(cr, uid,
- message_obj.search(cr, uid, domain, order="write_date desc", limit=5)),
- 'blog_id': blog_id and message_obj.browse(cr, uid, blog_id) or None,
- 'blog_message_ids': blog_id and message_obj.browse(cr, uid,
- message_obj.search(cr, uid, blog_domain, order="create_date asc", limit=20)) or None,
+ 'blog_ids': None,
+ 'blog_id': None,
}
+ if not blog_id:
+ message_ids = mail_group_obj.get_public_message_ids(cr, uid, domain=mail_group_id and [("res_id", "=", mail_group_id)] or [])
+ if message_ids:
+ values['blog_ids'] = message_obj.browse(cr, uid, message_ids)
+ else:
+ values['blog_id'] = message_obj.browse(cr, uid, blog_id)
+
+ print values
+
html = self.render(cr, uid, "website_mail.index", values)
return html
diff --git a/addons/website_mail/mail_message.py b/addons/website_mail/mail_message.py
index 4427af34e9d..cf2b88587ce 100644
--- a/addons/website_mail/mail_message.py
+++ b/addons/website_mail/mail_message.py
@@ -27,3 +27,14 @@ class mail_message(osv.osv):
_columns = {
'website_published': fields.boolean('Publish', help="Publish on the website as a blog"),
}
+
+
+class mail_group(osv.Model):
+ _inherit = 'mail.group'
+
+ def get_public_message_ids(self, cr, uid, domain=[], context=None):
+ mail_group_ids = self.search(cr, uid, [('public', '=', 'public')], context=context)
+ domain += [ ("type", "in", ['comment']),
+ ("parent_id", "=", False),
+ ("model", "=", 'mail.group'), ("res_id", "in", mail_group_ids)]
+ return self.pool.get('mail.message').search(cr, uid, domain, context=context)
diff --git a/addons/website_mail/security/website_mail.xml b/addons/website_mail/security/website_mail.xml
index 10b53673012..057329e7903 100644
--- a/addons/website_mail/security/website_mail.xml
+++ b/addons/website_mail/security/website_mail.xml
@@ -16,16 +16,5 @@