From 4a61498f0e37823ab433f3552910b00fd82a9337 Mon Sep 17 00:00:00 2001 From: albert Date: Sat, 23 Feb 2013 16:53:03 -0500 Subject: [PATCH] delete action from post/show requires confirmation+flag reason now --- .../moderator/post/posts_controller.rb | 10 +++++++++- .../moderator/post/posts/confirm_delete.html.erb | 15 +++++++++++++++ app/views/moderator/post/posts/delete.js.erb | 4 ---- app/views/posts/partials/show/_options.html.erb | 2 +- config/routes.rb | 3 ++- 5 files changed, 27 insertions(+), 7 deletions(-) create mode 100644 app/views/moderator/post/posts/confirm_delete.html.erb delete mode 100644 app/views/moderator/post/posts/delete.js.erb diff --git a/app/controllers/moderator/post/posts_controller.rb b/app/controllers/moderator/post/posts_controller.rb index 7cca91dd2..b350d1167 100644 --- a/app/controllers/moderator/post/posts_controller.rb +++ b/app/controllers/moderator/post/posts_controller.rb @@ -3,10 +3,18 @@ module Moderator class PostsController < ApplicationController before_filter :janitor_only, :only => [:delete, :undelete] before_filter :admin_only, :only => [:annihilate] + + def confirm_delete + @post = ::Post.find(params[:id]) + end def delete @post = ::Post.find(params[:id]) - @post.delete! + if params[:commit] == "Delete" + @post.flag!(params[:reason]) + @post.delete! + end + redirect_to(post_path(@post)) end def undelete diff --git a/app/views/moderator/post/posts/confirm_delete.html.erb b/app/views/moderator/post/posts/confirm_delete.html.erb new file mode 100644 index 000000000..20c3229b3 --- /dev/null +++ b/app/views/moderator/post/posts/confirm_delete.html.erb @@ -0,0 +1,15 @@ +

Delete Post

+ +
+ <%= PostPresenter.preview(@post) %> +
+ +<%= form_tag(delete_moderator_post_post_path, :style => "clear: both;", :class => "simple_form") do %> +
+ + <%= text_area_tag "reason" %> +
+ + <%= submit_tag "Delete" %> + <%= submit_tag "Cancel" %> +<% end %> \ No newline at end of file diff --git a/app/views/moderator/post/posts/delete.js.erb b/app/views/moderator/post/posts/delete.js.erb deleted file mode 100644 index 00c67338c..000000000 --- a/app/views/moderator/post/posts/delete.js.erb +++ /dev/null @@ -1,4 +0,0 @@ -$("#c-posts #delete").hide(); -$("#c-posts #undelete").show(); -$("#c-post-moderation #post-<%= @post.id %>").remove(); -Danbooru.notice("Post was deleted"); \ No newline at end of file diff --git a/app/views/posts/partials/show/_options.html.erb b/app/views/posts/partials/show/_options.html.erb index 1b349a5e8..d20eb0614 100644 --- a/app/views/posts/partials/show/_options.html.erb +++ b/app/views/posts/partials/show/_options.html.erb @@ -25,7 +25,7 @@ <% if post.is_deleted? %>
  • <%= link_to "Undelete", undelete_moderator_post_post_path(:post_id => post.id), :remote => true, :method => :post, :id => "undelete" %>
  • <% else %> -
  • <%= link_to "Delete", delete_moderator_post_post_path(:post_id => post.id), :remote => true, :method => :post, :id => "delete" %>
  • +
  • <%= link_to "Delete", confirm_delete_moderator_post_post_path(:post_id => post.id) %>
  • <% end %> <% end %> <% end %> diff --git a/config/routes.rb b/config/routes.rb index 88b77e07d..4321e3159 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,8 +16,9 @@ Danbooru::Application.routes.draw do resource :queue, :only => [:show] resource :approval, :only => [:create] resource :disapproval, :only => [:create] - resources :posts, :only => [:delete, :undelete] do + resources :posts, :only => [:delete, :undelete, :annihilate, :confirm_delete] do member do + get :confirm_delete post :annihilate post :delete post :undelete