Merge pull request #3055 from evazion/feat-post-replacement-controller

Add post replacements controller.
This commit is contained in:
Albert Yi
2017-05-15 16:19:34 -07:00
committed by GitHub
12 changed files with 123 additions and 23 deletions

View File

@@ -1,7 +1,7 @@
module Moderator
module Post
class PostsController < ApplicationController
before_filter :approver_only, :only => [:delete, :undelete, :move_favorites, :replace, :ban, :unban, :confirm_delete, :confirm_move_favorites, :confirm_ban]
before_filter :approver_only, :only => [:delete, :undelete, :move_favorites, :ban, :unban, :confirm_delete, :confirm_move_favorites, :confirm_ban]
before_filter :admin_only, :only => [:expunge]
skip_before_filter :api_check
@@ -37,15 +37,6 @@ 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!

View File

@@ -0,0 +1,28 @@
class PostReplacementsController < ApplicationController
respond_to :html, :xml, :json
before_filter :approver_only, except: [:index]
def new
@post = Post.find(params[:post_id])
end
def create
@post = Post.find(params[:post_id])
@post_replacement = @post.replace!(create_params)
flash[:notice] = "Post replaced"
respond_with(@post_replacement, location: @post)
end
def index
params[:search][:post_id] = params.delete(:post_id) if params.has_key?(:post_id)
@post_replacements = PostReplacement.search(params[:search]).paginate(params[:page], limit: params[:limit])
respond_with(@post_replacements)
end
private
def create_params
params.require(:post_replacement).permit(:replacement_url)
end
end