From 53c7fa165dc333086c1e05caa89286c379bca1c7 Mon Sep 17 00:00:00 2001 From: "Sunil Sharma (OpenERP)" Date: Tue, 11 Mar 2014 14:42:28 +0530 Subject: [PATCH] [imp]:improve delete question and answer via menu bzr revid: sunilsharma.sharma07@gmail.com-20140311091228-dch3p1vwjd3jfxyx --- addons/website_forum/controllers/main.py | 14 ++++++++++++++ addons/website_forum/models/website_forum.py | 2 +- .../static/src/js/website_forum.editor.js | 13 +++++++++++++ addons/website_forum/views/website_forum.xml | 6 +++--- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/addons/website_forum/controllers/main.py b/addons/website_forum/controllers/main.py index cf8c3ee1b8f..3c603ef400b 100644 --- a/addons/website_forum/controllers/main.py +++ b/addons/website_forum/controllers/main.py @@ -331,3 +331,17 @@ class website_forum(http.Controller): record = Post.browse(cr, uid, post_id, context=context) return record.vote_count + + @http.route('/forum/post_delete/', type='json', auth="user", multilang=True, methods=['POST'], website=True) + def delete_answer(self, **kwarg): + cr, uid, context = request.cr, request.uid, request.context + Post = request.registry['website.forum.post'] + Post.unlink(cr, uid, [int(kwarg.get('post_id'))], context=context) + return True + + @http.route('/forum//delete/question/', type='http', auth="user", multilang=True, website=True) + def delete_question(self, forum, post, **kwarg): + cr, uid, context = request.cr, request.uid, request.context + Post = request.registry['website.forum.post'] + Post.unlink(cr, uid, [post.id], context=context) + return werkzeug.utils.redirect("/forum/%s/" % (slug(forum))) diff --git a/addons/website_forum/models/website_forum.py b/addons/website_forum/models/website_forum.py index 8ef9a675572..b92f355b75d 100644 --- a/addons/website_forum/models/website_forum.py +++ b/addons/website_forum/models/website_forum.py @@ -106,7 +106,7 @@ class Post(osv.Model): 'active': fields.boolean('Active'), 'views': fields.integer('Page Views'), - 'parent_id': fields.many2one('website.forum.post', 'Question'), + 'parent_id': fields.many2one('website.forum.post', 'Question', ondelete='cascade'), 'child_ids': fields.one2many('website.forum.post', 'parent_id', 'Answers'), 'history_ids': fields.one2many('blog.post.history', 'post_id', 'History', help='Last post modifications'), diff --git a/addons/website_forum/static/src/js/website_forum.editor.js b/addons/website_forum/static/src/js/website_forum.editor.js index b79b0d4df37..0dd7f880b69 100644 --- a/addons/website_forum/static/src/js/website_forum.editor.js +++ b/addons/website_forum/static/src/js/website_forum.editor.js @@ -55,4 +55,17 @@ $(document).ready(function () { }); return false; }); + + $('.delete').on('click', function (ev) { + ev.preventDefault(); + var $link = $(ev.currentTarget); + var value = $link.attr("value") + openerp.jsonRpc("/forum/post_delete/", 'call', { + 'post_id': $link.attr("id")}) + .then(function (data) { + $link.parents('#answer').remove(); + }); + return false; + }); + }); \ No newline at end of file diff --git a/addons/website_forum/views/website_forum.xml b/addons/website_forum/views/website_forum.xml index 8c2ef220c66..b31b6f32032 100644 --- a/addons/website_forum/views/website_forum.xml +++ b/addons/website_forum/views/website_forum.xml @@ -322,7 +322,7 @@
  • edit
  • -
  • delete
  • +
  • delete
  • share
  • @@ -338,7 +338,7 @@
    -