diff --git a/app/controllers/moderator/post/posts_controller.rb b/app/controllers/moderator/post/posts_controller.rb index 94ceb1166..10e7e701d 100644 --- a/app/controllers/moderator/post/posts_controller.rb +++ b/app/controllers/moderator/post/posts_controller.rb @@ -1,10 +1,12 @@ module Moderator module Post class PostsController < ApplicationController - before_filter :approver_only, :only => [:delete, :undelete, :move_favorites, :ban, :unban, :confirm_delete, :confirm_move_favorites, :confirm_ban] + before_filter :approver_only, :only => [:delete, :undelete, :move_favorites, :replace, :ban, :unban, :confirm_delete, :confirm_move_favorites, :confirm_ban] before_filter :admin_only, :only => [:expunge] skip_before_filter :api_check + respond_to :html, :json, :xml + def confirm_delete @post = ::Post.find(params[:id]) end @@ -35,6 +37,15 @@ module Moderator redirect_to(post_path(@post)) end + def replace + @post = ::Post.find(params[:id]) + @post.replace!(params[:post][:source]) + + respond_with(@post) do |format| + format.html { redirect_to(@post) } + end + end + def expunge @post = ::Post.find(params[:id]) @post.expunge! diff --git a/config/routes.rb b/config/routes.rb index 45cddb0fc..3d2b95e0b 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -30,6 +30,7 @@ Rails.application.routes.draw do member do get :confirm_delete post :expunge + post :replace post :delete post :undelete get :confirm_move_favorites