From 857f255d95e2a7ac9e9dbc87dfccdae4cb255e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 30 Sep 2013 16:33:57 +0200 Subject: [PATCH] [IMP] website_mail, website_blog: improved follow / unfollow (always display email, more visible) bzr revid: tde@openerp.com-20130930143357-0r61uikrf8nx92fg --- addons/website_blog/controllers/main.py | 9 ++++-- .../views/website_blog_templates.xml | 32 +++++++++++-------- addons/website_mail/controllers/main.py | 4 +-- .../static/src/js/website_mail.js | 2 ++ addons/website_mail/tests/__init__.py | 2 +- addons/website_mail/views/website_mail.xml | 7 ++-- 6 files changed, 36 insertions(+), 20 deletions(-) diff --git a/addons/website_blog/controllers/main.py b/addons/website_blog/controllers/main.py index 66c802e0de5..1f8ddf1d81f 100644 --- a/addons/website_blog/controllers/main.py +++ b/addons/website_blog/controllers/main.py @@ -29,7 +29,7 @@ import simplejson import werkzeug -class website_mail(http.Controller): +class WebsiteBlog(http.Controller): _category_post_per_page = 6 _post_comment_per_page = 6 @@ -75,7 +75,8 @@ class website_mail(http.Controller): blog_post_obj = request.registry['blog.post'] tag_obj = request.registry['blog.tag'] category_obj = request.registry['blog.category'] - user_obj = request.registry['res.users'] + + current_user = request.registry['res.users'].browse(cr, uid, uid, context=context) tag = None category = None @@ -103,6 +104,9 @@ class website_mail(http.Controller): blog_posts = category.blog_post_ids elif tag: blog_posts = tag.blog_post_ids + else: + blog_post_ids = blog_post_obj.search(cr, uid, [], context=context) + blog_posts = blog_post_obj.browse(cr, uid, blog_post_ids, context=context) if blog_posts: pager = request.website.pager( @@ -143,6 +147,7 @@ class website_mail(http.Controller): 'blog_posts': blog_posts, 'pager': pager, 'nav_list': nav, + 'current_user': current_user, 'unable_editor': post.get('unable_editor') } diff --git a/addons/website_blog/views/website_blog_templates.xml b/addons/website_blog/views/website_blog_templates.xml index 1f5b57c3682..2e46267747e 100644 --- a/addons/website_blog/views/website_blog_templates.xml +++ b/addons/website_blog/views/website_blog_templates.xml @@ -186,19 +186,25 @@ diff --git a/addons/website_mail/controllers/main.py b/addons/website_mail/controllers/main.py index f1b91ed22a2..60c1d4204d1 100644 --- a/addons/website_mail/controllers/main.py +++ b/addons/website_mail/controllers/main.py @@ -32,10 +32,10 @@ class WebsiteMail(http.Controller): partner_obj = request.registry['res.partner'] user_obj = request.registry['res.users'] partner_ids = [] - if request.context['is_public_user'] and email: + if request.context['is_public_user'] and email and email != u'false': # post contains stringified booleans partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", email)], context=request.context) if not partner_ids: - partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": email, "name": email}, request.context)] + partner_ids = [partner_obj.name_create(request.cr, SUPERUSER_ID, email, request.context)] else: partner_ids = [user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id] return partner_ids diff --git a/addons/website_mail/static/src/js/website_mail.js b/addons/website_mail/static/src/js/website_mail.js index 63b9105f6bd..91cb63fab5b 100644 --- a/addons/website_mail/static/src/js/website_mail.js +++ b/addons/website_mail/static/src/js/website_mail.js @@ -12,12 +12,14 @@ $(document).ready(function () { $(document).on('click', '.js_follow', function (ev) { ev.preventDefault(); var $data = $(":first", this).parents("[data-follow]"); + var $email = $data.first().siblings(".js_follow_email"); var message_is_follower = $data.first().attr("data-follow"); $data.attr("data-follow", message_is_follower == 'off' ? 'on' : 'off'); $.post('/website_mail/follow', { 'id': $(this).data('id'), 'object': $(this).data('object'), 'message_is_follower': message_is_follower, + 'email': $email && $email.val() || false, }, function (result) { $data.attr("data-follow", + result ? 'on' : 'off'); }); diff --git a/addons/website_mail/tests/__init__.py b/addons/website_mail/tests/__init__.py index 97f1da2f54b..4d92d6a8823 100644 --- a/addons/website_mail/tests/__init__.py +++ b/addons/website_mail/tests/__init__.py @@ -19,7 +19,7 @@ # ############################################################################## -from openerp.addons.website_blog.tests import test_controllers +from openerp.addons.website_mail.tests import test_controllers checks = [ test_controllers, diff --git a/addons/website_mail/views/website_mail.xml b/addons/website_mail/views/website_mail.xml index 8070bd97fbf..f1618ce44d2 100644 --- a/addons/website_mail/views/website_mail.xml +++ b/addons/website_mail/views/website_mail.xml @@ -6,9 +6,12 @@ Follow Unfollow - Followed - Unfollowed + Following + Not Following +