add questions query
This commit is contained in:
@@ -6,6 +6,11 @@ class ApplicationPolicy
|
||||
def initialize(user, record)
|
||||
@user = user
|
||||
@record = record
|
||||
@roles = user.roles.map { |r| r.name.to_sym }
|
||||
end
|
||||
|
||||
def is?(role)
|
||||
@roles.any?(role)
|
||||
end
|
||||
|
||||
def index?
|
||||
|
||||
24
app/policies/question_policy.rb
Normal file
24
app/policies/question_policy.rb
Normal file
@@ -0,0 +1,24 @@
|
||||
class QuestionPolicy < ApplicationPolicy
|
||||
class Scope < Scope
|
||||
def resolve
|
||||
scope.all
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def create?
|
||||
user.roles.present?
|
||||
end
|
||||
|
||||
def update?
|
||||
is?(:admin) || is?(:nde) || (is?(:teacher) && record.user_id == user.id)
|
||||
end
|
||||
|
||||
def destroy?
|
||||
record.user_id == user.id && record.status != "registered"
|
||||
end
|
||||
|
||||
def finish?
|
||||
(is?(:admin) || record.user_id == user.id) && record.status.to_sym == :approved
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user