voting requires a comment - completes #102

This commit is contained in:
Mark Moser
2017-02-27 13:41:46 -06:00
parent 538190b6bf
commit 3f41773c76
11 changed files with 84 additions and 18 deletions

View File

@ -10,7 +10,10 @@ class QuizCommentPolicy < ApplicationPolicy
end
def create?
user.acts_as_reviewer? && record.candidate.reviewers.where(id: user.id).count.positive?
return true if user.acts_as_admin?
user.acts_as_reviewer? &&
record.candidate.reviewers.where(id: user.id).count.positive?
end
def update?

View File

@ -2,20 +2,22 @@
class ReviewerVotePolicy < ApplicationPolicy
# Voting Policy
#
# Only Reviewers, Managers, and Admins, can cast a vote on a quiz result
# Only Reviewers and Managers can cast a vote on a quiz result
#
# Reviewers can vote any quiz they are linked to
# Only Managers, and Admins, can veto a quiz result
def up?
return true if user.acts_as_admin?
return false unless user.commented_on?(record.candidate.test_hash)
return false unless record.candidate.reviewers.include? user
return false if user.admin?
user.acts_as_reviewer?
end
def down?
return true if user.acts_as_admin?
return false unless user.commented_on?(record.candidate.test_hash)
return false unless record.candidate.reviewers.include? user
return false if user.admin?
user.acts_as_reviewer?
end