34 lines
850 B
Ruby
34 lines
850 B
Ruby
|
class ReviewController < ApplicationController
|
||
|
before_action :authorize_reviewer, except: [:login, :auth]
|
||
|
|
||
|
def index
|
||
|
@candidates = Candidate.where(completed: true).includes(:recruiter)
|
||
|
end
|
||
|
|
||
|
def view
|
||
|
@candidate = Candidate.find_by(test_hash: params[:test_hash])
|
||
|
@quiz = @candidate.my_quiz
|
||
|
@status = QuizStatus.new(@candidate)
|
||
|
end
|
||
|
|
||
|
def login
|
||
|
redirect_to review_path unless current_reviewer.nil?
|
||
|
end
|
||
|
|
||
|
def auth
|
||
|
reviewer = User.find_by(email: auth_params[:email], role: %w(admin reviewer))
|
||
|
|
||
|
if reviewer && reviewer.authenticate(auth_params[:password])
|
||
|
session[:user] = reviewer.to_i
|
||
|
redirect_to review_path
|
||
|
else
|
||
|
redirect_to review_login_path, flash: { error: "Sorry, incorrect email or password." }
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def logout
|
||
|
reset_session
|
||
|
redirect_to review_login_path
|
||
|
end
|
||
|
end
|