Files
codeocean/app/policies/code_ocean/file_policy.rb
2020-12-03 17:05:21 +01:00

34 lines
654 B
Ruby

module CodeOcean
class FilePolicy < AdminOrAuthorPolicy
def author?
@user == @record.context.author
end
def show?
if @record.context.is_a?(Exercise)
admin? || author? || !@record.hidden
else
admin? || author?
end
end
def create?
if @record.context.is_a?(Exercise)
admin? || author?
elsif @record.context.is_a?(Submission) and @record.context.exercise.allow_file_creation
author?
else
no_one
end
end
def destroy?
if @record.context.is_a?(Exercise)
admin? || author?
else
no_one
end
end
end
end