diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index ab8a99bbc6c..bb1a87e912a 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -186,33 +186,17 @@ class WebsiteForum(http.Controller): }) return request.website.render("website_forum.post_description_full", values) - @http.route('/forum//question//toggle_favourite', type='json', auth="user", multilang=True, website=True) - def question_toggle_favorite_tmp(self, forum_id, question_id, **post): + @http.route('/forum//question//toggle_favourite', type='json', auth="user", multilang=True, methods=['POST'], website=True) + def question_toggle_favorite(self, forum, question, **post): if not request.session.uid: return {'error': 'anonymous_user'} - # forum = request.registry['forum.forum'].browse(request.cr, request.uid, forum_id, context=request.context) - question = request.registry['forum.post'].browse(request.cr, request.uid, question_id, context=request.context) # TDE: add check for not public favourite = False if question.user_favourite else True - print favourite if favourite: favourite_ids = [(4, request.uid)] else: favourite_ids = [(3, request.uid)] request.registry['forum.post'].write(request.cr, request.uid, [question.id], {'favourite_ids': favourite_ids}, context=request.context) - print favourite_ids - return favourite - - @http.route('/forum//question//toggle_favourite', type='json', auth="user", multilang=True, methods=['POST'], website=True) - def question_toggle_favorite(self, forum, question, **post): - # TDE: add check for not public - favourite = False if question.user_favourite else True - if favourite: - favourite_ids = [(4, request.uid)] - else: - favourite_ids = [(3, request.uid)] - request.registry['forum.post'].write( - request.cr, request.uid, [question.id], {'favourite_ids': favourite_ids}, context=request.context) return favourite @http.route('/forum//question//ask_for_close', type='http', auth="user", multilang=True, website=True) @@ -359,28 +343,12 @@ class WebsiteForum(http.Controller): question = post.parent_id if post.parent_id else post return werkzeug.utils.redirect("/forum/%s/question/%s" % (slug(forum), slug(question))) - @http.route('/forum//post//upvote', type='json', auth="public", multilang=True, website=True) - def post_upvote_tmp(self, forum_id, post_id, **kwargs): - if not request.session.uid: - return {'error': 'anonymous_user'} - # forum = request.registry['forum.forum'].browse(request.cr, request.uid, forum_id, context=request.context) - post = request.registry['forum.post'].browse(request.cr, request.uid, post_id, context=request.context) - return request.registry['forum.post'].vote(request.cr, request.uid, [post.id], upvote=True, context=request.context) - @http.route('/forum//post//upvote', type='json', auth="public", multilang=True, website=True) def post_vote(self, forum, post, **kwargs): if not request.session.uid: return {'error': 'anonymous_user'} return request.registry['forum.post'].vote(request.cr, request.uid, [post.id], upvote=True, context=request.context) - @http.route('/forum//post//downvote', type='json', auth="public", multilang=True, website=True) - def post_downvote_tmp(self, forum_id, post_id, **kwargs): - if not request.session.uid: - return {'error': 'anonymous_user'} - # forum = request.registry['forum.forum'].browse(request.cr, request.uid, forum_id, context=request.context) - post = request.registry['forum.post'].browse(request.cr, request.uid, post_id, context=request.context) - return request.registry['forum.post'].vote(request.cr, request.uid, [post.id], upvote=False, context=request.context) - @http.route('/forum//post//downvote', type='json', auth="public", multilang=True, website=True) def post_downvote(self, forum, post, **kwargs): if not request.session.uid: diff --git a/addons/website_forum/static/src/js/website_forum.js b/addons/website_forum/static/src/js/website_forum.js index 56de026728c..cee5348a82d 100644 --- a/addons/website_forum/static/src/js/website_forum.js +++ b/addons/website_forum/static/src/js/website_forum.js @@ -3,11 +3,7 @@ $(document).ready(function () { $('.vote_up ,.vote_down').on('click', function (ev) { ev.preventDefault(); var $link = $(ev.currentTarget); - var url_target = $link.data("value") == '1' ? 'upvote' : 'downvote'; - var forum_id = $link.data('forum-id'); - var post_id = $link.data('post-id'); - - openerp.jsonRpc("/forum/" + forum_id + "/post/" + post_id + "/" + url_target, 'call', {}) + openerp.jsonRpc($link.attr('href'), 'call', {}) .then(function (data) { if (data['error']){ if (data['error'] == 'own_post'){ @@ -84,9 +80,7 @@ $(document).ready(function () { $('.favourite_question').on('click', function (ev) { ev.preventDefault(); var $link = $(ev.currentTarget); - var forum_id = $link.data('forum-id'); - var post_id = $link.data('post-id'); - openerp.jsonRpc("/forum/" + forum_id + "/question/" + post_id + "/toggle_favourite", 'call', {}).then(function (data) { + openerp.jsonRpc($link.attr('href'), 'call', {}).then(function (data) { if (data) { $link.addClass("forum_favourite_question") } else { diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index a412d114724..d99b588908a 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -379,10 +379,10 @@