changed default sort direction

This commit is contained in:
Mark Moser 2017-03-06 13:35:02 -06:00
parent dbb355b4d3
commit b6284fdd7e
4 changed files with 17 additions and 5 deletions

View File

@ -3,8 +3,6 @@ module Admin
class CandidateController < AdminController class CandidateController < AdminController
before_action :collect_quizzes, except: [:login, :auth] before_action :collect_quizzes, except: [:login, :auth]
helper_method :sort_column
def index def index
@candidates = policy_scope Candidate.order("#{sort_column} #{sort_direction}") @candidates = policy_scope Candidate.order("#{sort_column} #{sort_direction}")
.page(params[:page]) .page(params[:page])

View File

@ -1,8 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
module Admin module Admin
class ResultController < AdminController class ResultController < AdminController
helper_method :sort_column
# TODO: change context from Candidate to Quiz # TODO: change context from Candidate to Quiz
# bypass pundit lockdowns until completed # bypass pundit lockdowns until completed
after_action :skip_policy_scope after_action :skip_policy_scope
@ -32,5 +30,9 @@ module Admin
def sort_column def sort_column
@sort_col ||= Candidate.column_names.include?(params[:sort]) ? params[:sort] : 'completed_at' @sort_col ||= Candidate.column_names.include?(params[:sort]) ? params[:sort] : 'completed_at'
end end
def sort_direction
%w(asc desc).include?(params[:direction]) ? params[:direction] : 'desc'
end
end end
end end

View File

@ -10,6 +10,7 @@ class AdminController < ApplicationController
after_action :verify_policy_scoped, only: :index after_action :verify_policy_scoped, only: :index
helper_method :sort_direction helper_method :sort_direction
helper_method :sort_column
def current_user def current_user
@current_user ||= User.find_by(id: session[:user]) if session[:user] @current_user ||= User.find_by(id: session[:user]) if session[:user]
@ -18,8 +19,12 @@ class AdminController < ApplicationController
private private
def sort_column
:completed_at
end
def sort_direction def sort_direction
%w(asc desc).include?(params[:direction]) ? params[:direction] : 'desc' %w(asc desc).include?(params[:direction]) ? params[:direction] : 'asc'
end end
def authorize_user def authorize_user

View File

@ -9,4 +9,11 @@ class AdminControllerTest < ActionDispatch::IntegrationTest
assert_redirected_to admin_login_path assert_redirected_to admin_login_path
assert_match 'not authorized', flash[:error] assert_match 'not authorized', flash[:error]
end end
test 'sort_column present' do
# a stupid coverage report thing.
admin_controller = AdminController.new
assert_equal :completed_at, admin_controller.send(:sort_column)
end
end end