Files
danbooru/app/controllers/janitor_trials_controller.rb
evazion a5ab25d0ba pagination: avoid counting pages outside searches.
Replace this common pattern in controllers:

    @tags = Tag.search(search_params).paginate(params[:page], :limit => params[:limit], :search_count => params[:search])

with this:

    @tags = Tag.paginated_search(params)

`search_count` is used to skip doing a full page count when we're not
doing a search (on the assumption that the number of results will be
high when not constrained by a search). We didn't do this consistently
though. Refactor to do this in every controller.
2019-10-07 22:02:03 -05:00

51 lines
1.1 KiB
Ruby

class JanitorTrialsController < ApplicationController
respond_to :html, :xml, :json
before_action :moderator_only, :only => [:create, :promote, :demote]
def new
@janitor_trial = JanitorTrial.new
respond_with(@janitor_trial)
end
def edit
@janitor_trial = JanitorTrial.find(params[:id])
respond_with(@janitor_trial)
end
def index
@janitor_trials = JanitorTrial.paginated_search(params)
respond_with(@janitor_trials)
end
def create
@janitor_trial = JanitorTrial.create(janitor_trial_params)
respond_with(@janitor_trial, :location => janitor_trials_path)
end
def promote
@janitor_trial = JanitorTrial.find(params[:id])
@janitor_trial.promote!
respond_with(@janitor_trial) do |format|
format.js
end
end
def demote
@janitor_trial = JanitorTrial.find(params[:id])
@janitor_trial.demote!
respond_with(@janitor_trial) do |format|
format.js
end
end
def test
@tester = JanitorTrialTester.new(params[:janitor_trial][:user_name])
end
private
def janitor_trial_params
params.require(:janitor_trial).permit(%i[user_id user_name])
end
end