diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index edfa6214f8b..517178f66a6 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -84,11 +84,15 @@ class website_forum(http.Controller): @http.route(['/forum/question/'], type='http', auth="public", website=True, multilang=True) def open_question(self, question, **post): + answer_done = False + for answer in question.child_ids: + if answer.create_uid.id == request.uid: + answer_done = True values = { 'question': question, 'main_object': question, - 'range': range, - 'searches': post + 'searches': post, + 'answer_done': answer_done } return request.website.render("website_forum.post_description_full", values) @@ -130,6 +134,30 @@ class website_forum(http.Controller): }, context=create_context) return werkzeug.utils.redirect("/forum/question/%s" % post_id) + @http.route(['/forum/question/editanswer'], type='http', auth="user", website=True, multilang=True) + def edit_answer(self, post_id, **kwargs): + cr, uid, context = request.cr, request.uid, request.context + post = request.registry['website.forum.post'].browse(cr, uid, int(post_id), context=context) + for answer in post.child_ids: + if answer.create_uid.id == request.uid: + post_answer = answer + values = { + 'post': post, + 'post_answer': post_answer, + 'searches': kwargs + } + return request.website.render("website_forum.edit_answer", values) + + @http.route('/forum/question/saveanswer/', type='http', auth="user", multilang=True, methods=['POST'], website=True) + def save_edited_answer(self, forum_id=1, **post): + cr, uid, context = request.cr, request.uid, request.context + answer_id = int(post.get('answer_id')) + + new_question_id = request.registry['website.forum.post'].write( cr, uid, [answer_id], { + 'content': post.get('answer_content'), + }, context=context) + return werkzeug.utils.redirect("/forum/question/%s" % post.get('post_id')) + @http.route(['/forum/tag/'], type='http', auth="public", website=True, multilang=True) def tag_questions(self, tag, page=1, **kwargs): cr, uid, context = request.cr, request.uid, request.context diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 1b23421bad8..25716d1e3ab 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -9,6 +9,10 @@ src="/website_forum/static/src/js/website_forum.editor.js"> + @@ -450,9 +454,6 @@ @@ -503,13 +504,44 @@ +