Add view for StudyGroups
This commit is contained in:
21
app/policies/study_group_policy.rb
Normal file
21
app/policies/study_group_policy.rb
Normal file
@@ -0,0 +1,21 @@
|
||||
class StudyGroupPolicy < AdminOnlyPolicy
|
||||
def index?
|
||||
admin? || teacher?
|
||||
end
|
||||
|
||||
[:show?, :destroy?, :edit?, :update?].each do |action|
|
||||
define_method(action) { admin? || @user.teacher? && @record.users.include?(@user) }
|
||||
end
|
||||
|
||||
class Scope < Scope
|
||||
def resolve
|
||||
if @user.admin?
|
||||
@scope.all
|
||||
elsif @user.teacher?
|
||||
@scope.joins(:study_group_memberships).where('user_id = ? AND user_type = ?', @user.id, @user.class.name)
|
||||
else
|
||||
@scope.none
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user