diff options
Diffstat (limited to 'addons/website_mail/controllers/main.py')
| -rw-r--r-- | addons/website_mail/controllers/main.py | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py index 3011908471d..194281f9d93 100644 --- a/addons/website_mail/controllers/main.py +++ b/addons/website_mail/controllers/main.py @@ -3,6 +3,7 @@ from openerp import SUPERUSER_ID from openerp.addons.web import http from openerp.addons.web.http import request +from openerp.addons.website import website import werkzeug from openerp.tools.translate import _ from openerp.tools.safe_eval import safe_eval @@ -13,7 +14,7 @@ _months = {1:_("January"), 2:_("February"), 3:_("March"), 4:_("April"), 5:_("May class website_mail(http.Controller): - @http.route(['/blog/', '/blog/<int:mail_group_id>/', '/blog/<int:mail_group_id>/<int:blog_id>/', + @website.route(['/blog/', '/blog/<int:mail_group_id>/', '/blog/<int:mail_group_id>/<int:blog_id>/', '/blog/page/<int:page>/', '/blog/<int:mail_group_id>/page/<int:page>/', '/blog/<int:mail_group_id>/<int:blog_id>/page/<int:page>/'], type='http', auth="public") def blog(self, mail_group_id=None, blog_id=None, page=0, **post): website = request.registry['website'] @@ -21,16 +22,16 @@ class website_mail(http.Controller): message_obj = request.registry['mail.message'] user_obj = request.registry['res.users'] - values = website.get_rendering_context({ + values = { 'blog_ids': None, 'blog_id': None, 'nav_list': dict(), 'mail_group_id': mail_group_id, 'subscribe': post.get('subscribe'), 'website': website, - }) + } - if request.uid != website.get_public_user().id and mail_group_id: + if not request.webcontext.is_public_user and mail_group_id: message_follower_ids = group_obj.read(request.cr, request.uid, [mail_group_id], ['message_follower_ids'])[0]['message_follower_ids'] parent_id = user_obj.browse(request.cr, SUPERUSER_ID, request.uid).partner_id.id values['subscribe'] = parent_id in message_follower_ids @@ -54,20 +55,19 @@ class website_mail(http.Controller): values['pager'] = pager values['blog_ids'] = message_obj.browse(request.cr, request.uid, message_ids) - return website.render("website_mail.index", values) + return request.webcontext.render("website_mail.index", values) - @http.route(['/blog/nav'], type='http', auth="public") + @website.route(['/blog/nav'], type='http', auth="public") def nav(self, **post): comment_ids = request.registry['mail.group'].get_public_message_ids(request.cr, request.uid, domain=safe_eval(post.get('domain')), order="create_date asc", limit=None) return simplejson.dumps(request.registry['mail.message'].read(request.cr, request.uid, comment_ids, ['website_published', 'subject', 'res_id'])) - @http.route(['/blog/<int:mail_group_id>/<int:blog_id>/post'], type='http', auth="public") + @website.route(['/blog/<int:mail_group_id>/<int:blog_id>/post'], type='http', auth="public") def blog_post(self, mail_group_id=None, blog_id=None, **post): - website = request.registry['website'] url = request.httprequest.host_url if post.get('body'): request.session.body = post.get('body') - if request.uid == website.get_public_user().id: + if request.webcontext.is_public_user: return '%s/admin#action=redirect&url=%s/blog/%s/%s/post' % (url, url, mail_group_id, blog_id) if 'body' in request.session and request.session.body: @@ -86,7 +86,7 @@ class website_mail(http.Controller): else: return werkzeug.utils.redirect("/blog/%s/%s/" % (mail_group_id, blog_id)) - @http.route(['/blog/<int:mail_group_id>/new'], type='http', auth="public") + @website.route(['/blog/<int:mail_group_id>/new'], type='http', auth="public") def new_blog_post(self, mail_group_id=None, **post): blog_id = request.registry['mail.group'].message_post(request.cr, request.uid, mail_group_id, body=_("Blog content.<br/>Please edit this content then you can publish this blog."), @@ -98,15 +98,14 @@ class website_mail(http.Controller): ) return werkzeug.utils.redirect("/blog/%s/%s/" % (mail_group_id, blog_id)) - @http.route(['/blog/<int:mail_group_id>/subscribe', '/blog/<int:mail_group_id>/<int:blog_id>/subscribe'], type='http', auth="public") + @website.route(['/blog/<int:mail_group_id>/subscribe', '/blog/<int:mail_group_id>/<int:blog_id>/subscribe'], type='http', auth="public") def subscribe(self, mail_group_id=None, blog_id=None, **post): - website = request.registry['website'] partner_obj = request.registry['res.partner'] group_obj = request.registry['mail.group'] user_obj = request.registry['res.users'] - if mail_group_id and 'subscribe' in post and (post.get('email') or request.uid != website.get_public_user().id): - if request.uid == website.get_public_user().id: + if mail_group_id and 'subscribe' in post and (post.get('email') or not request.webcontext.is_public_user): + if request.webcontext.is_public_user: partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))]) if not partner_ids: partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": post.get('email'), "name": "Subscribe: %s" % post.get('email')})] @@ -117,15 +116,14 @@ class website_mail(http.Controller): return self.blog(mail_group_id=mail_group_id, blog_id=blog_id, subscribe=post.get('email')) - @http.route(['/blog/<int:mail_group_id>/unsubscribe', '/blog/<int:mail_group_id>/<int:blog_id>/unsubscribe'], type='http', auth="public") + @website.route(['/blog/<int:mail_group_id>/unsubscribe', '/blog/<int:mail_group_id>/<int:blog_id>/unsubscribe'], type='http', auth="public") def unsubscribe(self, mail_group_id=None, blog_id=None, **post): - website = request.registry['website'] partner_obj = request.registry['res.partner'] group_obj = request.registry['mail.group'] user_obj = request.registry['res.users'] - if mail_group_id and 'unsubscribe' in post and (post.get('email') or request.uid != website.get_public_user().id): - if request.uid == website.get_public_user().id: + if mail_group_id and 'unsubscribe' in post and (post.get('email') or not request.webcontext.is_public_user): + if request.webcontext.is_public_user: partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))]) else: partner_ids = [user_obj.browse(request.cr, request.uid, request.uid).partner_id.id] @@ -133,4 +131,3 @@ class website_mail(http.Controller): group_obj.message_unsubscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids) return self.blog(mail_group_id=mail_group_id, blog_id=blog_id, subscribe=None) - |
