diff options
author | Louise Crow <louise.crow@gmail.com> | 2014-11-04 14:52:49 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2014-12-12 16:47:14 +0000 |
commit | dcfa7fd733008cd4b0bf066729df4b232342c65b (patch) | |
tree | 80bd2c26f5bfda61ee9900bff16f93d703388d93 /app/controllers/admin_comment_controller.rb | |
parent | 5a8a6ee0667874e34ef6b9c581f39de82b58649e (diff) |
RESTful routing for editing and updating comments
Diffstat (limited to 'app/controllers/admin_comment_controller.rb')
-rw-r--r-- | app/controllers/admin_comment_controller.rb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/app/controllers/admin_comment_controller.rb b/app/controllers/admin_comment_controller.rb new file mode 100644 index 000000000..0aafb122a --- /dev/null +++ b/app/controllers/admin_comment_controller.rb @@ -0,0 +1,36 @@ +# app/controllers/admin_comment_controller.rb: +# Controller for editing comments from the admin interface. +# +# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved. +# Email: hello@mysociety.org; WWW: http://www.mysociety.org/ + +class AdminCommentController < AdminController + + def edit + @comment = Comment.find(params[:id]) + end + + def update + @comment = Comment.find(params[:id]) + + old_body = @comment.body + old_visible = @comment.visible + @comment.visible = params[:comment][:visible] == "true" ? true : false + + if @comment.update_attributes(params[:comment]) + @comment.info_request.log_event("edit_comment", + { :comment_id => @comment.id, + :editor => admin_current_user(), + :old_body => old_body, + :body => @comment.body, + :old_visible => old_visible, + :visible => @comment.visible, + }) + flash[:notice] = 'Comment successfully updated.' + redirect_to admin_request_url(@comment.info_request) + else + render :action => 'edit' + end + end + +end |