From 6471fa6ddb7479c1e97d370eea3ccebee47879c9 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Mon, 5 Jan 2015 12:25:00 +0100 Subject: [PATCH] [FIX] website_sale: Discussion not working on product and gives '500: Internal Server Error' if public user try to comment on product (without login). Need to redirect to the login page (all user who want to write a comment have already buy the product and can use the portal login) --- addons/website_forum/controllers/main.py | 2 +- addons/website_forum/models/forum.py | 2 +- addons/website_sale/controllers/main.py | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index 1e1553f68b4..d9411fb12c9 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -346,7 +346,7 @@ class WebsiteForum(http.Controller): body=kwargs.get('comment'), type='comment', subtype='mt_comment', - context=dict(context, mail_create_nosubcribe=True)) + context=dict(context, mail_create_nosubscribe=True)) return werkzeug.utils.redirect("/forum/%s/question/%s" % (slug(forum), slug(question))) @http.route('/forum//post//toggle_correct', type='json', auth="public", website=True) diff --git a/addons/website_forum/models/forum.py b/addons/website_forum/models/forum.py index f3830c9826e..dcae413a8e5 100644 --- a/addons/website_forum/models/forum.py +++ b/addons/website_forum/models/forum.py @@ -499,7 +499,7 @@ class Post(osv.Model): } message_id = self.pool['forum.post'].message_post( cr, uid, question.id, - context=dict(context, mail_create_nosubcribe=True), + context=dict(context, mail_create_nosubscribe=True), **values) # unlink the original answer, using SUPERUSER_ID to avoid karma issues diff --git a/addons/website_sale/controllers/main.py b/addons/website_sale/controllers/main.py index 0ab1796ccab..5843767d5c9 100644 --- a/addons/website_sale/controllers/main.py +++ b/addons/website_sale/controllers/main.py @@ -6,6 +6,7 @@ from openerp import http from openerp.http import request from openerp.tools.translate import _ from openerp.addons.website.models.website import slug +from openerp.addons.web.controllers.main import login_redirect PPG = 20 # Products Per Page PPR = 4 # Products Per Row @@ -273,6 +274,8 @@ class website_sale(http.Controller): @http.route(['/shop/product/comment/'], type='http', auth="public", methods=['POST'], website=True) def product_comment(self, product_template_id, **post): + if not request.session.uid: + return login_redirect() cr, uid, context = request.cr, request.uid, request.context if post.get('comment'): request.registry['product.template'].message_post( @@ -280,7 +283,7 @@ class website_sale(http.Controller): body=post.get('comment'), type='comment', subtype='mt_comment', - context=dict(context, mail_create_nosubcribe=True)) + context=dict(context, mail_create_nosubscribe=True)) return werkzeug.utils.redirect(request.httprequest.referrer + "#comments") @http.route(['/shop/pricelist'], type='http', auth="public", website=True)