Files
puzzle-scoreboard/app/policies/contest_policy.rb
sto ff5f387a87
Some checks failed
CI / scan_ruby (push) Successful in 20s
CI / scan_js (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / test (push) Has been cancelled
Offline participation: implement completed puzzle methods
2025-10-31 11:55:28 +01:00

82 lines
1.1 KiB
Ruby

class ContestPolicy < ApplicationPolicy
def index?
true
end
def show?
record.user.id == user.id || user.admin?
end
def new?
true
end
def create?
true
end
def convert?
record.user.id == user.id || user.admin?
end
def convert_csv?
record.user.id == user.id || user.admin?
end
def edit?
record.user.id == user.id || user.admin?
end
def finalize_import?
record.user.id == user.id || user.admin?
end
def update?
record.user.id == user.id || user.admin?
end
def destroy?
record.user.id == user.id || user.admin?
end
def import?
record.user.id == user.id || user.admin?
end
def export?
record.user.id == user.id || user.admin?
end
def offline?
record.offline_form
end
def offline_new?
offline?
end
def offline_create?
offline?
end
def offline_edit?
offline?
end
def offline_update?
offline?
end
def offline_completed?
offline?
end
def scoreboard?
record.public
end
def upload_csv?
record.user.id == user.id || user.admin?
end
end