Add /post_replacements.json, /posts/1234/replacements.json.
This commit is contained in:
11
app/controllers/post_replacements_controller.rb
Normal file
11
app/controllers/post_replacements_controller.rb
Normal file
@@ -0,0 +1,11 @@
|
||||
class PostReplacementsController < ApplicationController
|
||||
respond_to :html, :xml, :json
|
||||
before_filter :approver_only, except: [:index]
|
||||
|
||||
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
|
||||
end
|
||||
@@ -61,4 +61,32 @@ class PostReplacement < ActiveRecord::Base
|
||||
post.distribute_files
|
||||
post.update_iqdb_async
|
||||
end
|
||||
|
||||
module SearchMethods
|
||||
def search(params = {})
|
||||
q = all
|
||||
|
||||
if params[:creator_id].present?
|
||||
q = q.where(creator_id: params[:creator_id].split(",").map(&:to_i))
|
||||
end
|
||||
|
||||
if params[:creator_name].present?
|
||||
q = q.where(creator_name: User.name_to_id(params[:creator_name]))
|
||||
end
|
||||
|
||||
if params[:id].present?
|
||||
q = q.where(id: params[:id].split(",").map(&:to_i))
|
||||
end
|
||||
|
||||
if params[:post_id].present?
|
||||
q = q.where(post_id: params[:post_id].split(",").map(&:to_i))
|
||||
end
|
||||
|
||||
q = q.order("created_at DESC")
|
||||
|
||||
q
|
||||
end
|
||||
end
|
||||
|
||||
extend SearchMethods
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user