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