X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FPolicies%2FTournamentPolicy.php;h=f58eee76dc12be424ddf5c26f89d49a57a80d676;hb=HEAD;hp=fa27298435246cd4f2f186ca4be4f886ce42c5a7;hpb=eebc6384e56336b66ec250fc2aea3be6171d53ff;p=alttp.git diff --git a/app/Policies/TournamentPolicy.php b/app/Policies/TournamentPolicy.php index fa27298..f58eee7 100644 --- a/app/Policies/TournamentPolicy.php +++ b/app/Policies/TournamentPolicy.php @@ -41,7 +41,7 @@ class TournamentPolicy */ public function create(User $user) { - return $user->role === 'admin'; + return $user->isAdmin(); } /** @@ -53,7 +53,7 @@ class TournamentPolicy */ public function update(User $user, Tournament $tournament) { - return $user->role === 'admin'; + return $user->isAdmin() || $user->isTournamentAdmin($tournament); } /** @@ -101,7 +101,19 @@ class TournamentPolicy */ public function addRound(User $user, Tournament $tournament) { - return $user->role === 'admin' || (!$tournament->locked && $user->isParticipant($tournament)); + return !$tournament->locked && ($user->isRunner($tournament) || $user->isTournamentAdmin($tournament)); + } + + /** + * Determine whether the user can apply to participate. + * + * @param \App\Models\User $user + * @param \App\Models\Tournament $tournament + * @return \Illuminate\Auth\Access\Response|bool + */ + public function apply(User $user, Tournament $tournament) + { + return $tournament->accept_applications && !$user->isRunner($tournament) && !$user->isApplicant($tournament); } /** @@ -113,7 +125,7 @@ class TournamentPolicy */ public function viewProtocol(User $user, Tournament $tournament) { - return $user->role === 'admin' || $user->isTournamentAdmin($tournament); + return $user->isTournamentCrew($tournament); } }