2016-11-19 16:34:48 -06:00
|
|
|
# frozen_string_literal: true
|
|
|
|
module Admin
|
|
|
|
class VoteController < AdminController
|
|
|
|
def up
|
|
|
|
@candidate = Candidate.find_by(test_hash: params[:test_hash])
|
2016-11-20 13:07:53 -06:00
|
|
|
authorize ReviewerVote.find_by(user_id: current_user.id, candidate_id: @candidate.id)
|
2016-11-19 16:34:48 -06:00
|
|
|
current_user.cast_yea_on(@candidate)
|
|
|
|
end
|
|
|
|
|
|
|
|
def down
|
|
|
|
@candidate = Candidate.find_by(test_hash: params[:test_hash])
|
2016-11-20 13:07:53 -06:00
|
|
|
authorize ReviewerVote.find_by(user_id: current_user.id, candidate_id: @candidate.id)
|
2016-11-19 16:34:48 -06:00
|
|
|
current_user.cast_nay_on(@candidate)
|
|
|
|
end
|
|
|
|
|
2017-03-02 10:32:02 -06:00
|
|
|
def interview_request
|
2016-11-19 16:34:48 -06:00
|
|
|
@candidate = Candidate.find_by(test_hash: params[:test_hash])
|
2016-11-20 13:07:53 -06:00
|
|
|
authorize ReviewerVote.find_by(user_id: current_user.id, candidate_id: @candidate.id)
|
2016-11-19 16:34:48 -06:00
|
|
|
|
2017-03-07 16:35:59 -06:00
|
|
|
if interview_params[:review_comments].blank?
|
|
|
|
refuse_interview_request
|
|
|
|
else
|
|
|
|
send_interview_request
|
|
|
|
end
|
2016-11-19 16:34:48 -06:00
|
|
|
end
|
|
|
|
|
2017-03-02 10:32:02 -06:00
|
|
|
private
|
2016-11-19 16:34:48 -06:00
|
|
|
|
2017-03-07 16:35:59 -06:00
|
|
|
def refuse_interview_request
|
|
|
|
redirect_to admin_result_path(@candidate.test_hash),
|
|
|
|
flash: { error: "Must provide a comment" }
|
|
|
|
end
|
|
|
|
|
|
|
|
def send_interview_request
|
|
|
|
current_user.review_candidate(@candidate, interview_params)
|
|
|
|
RecruiterMailer.candidate_reviewed(@candidate).deliver_later
|
|
|
|
redirect_to admin_result_path(@candidate.test_hash),
|
|
|
|
flash: { notice: "Quiz #{interview_params[:review_status]}" }
|
|
|
|
end
|
|
|
|
|
2017-03-02 10:32:02 -06:00
|
|
|
def interview_params
|
|
|
|
params.permit(:review_status, :review_comments)
|
2016-11-30 18:55:27 -06:00
|
|
|
end
|
2016-11-19 16:34:48 -06:00
|
|
|
end
|
|
|
|
end
|