X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FPolicies%2FTournamentPolicy.php;h=2cc6b6ed2932dd3c1eb60d4424cfe4b322a563d0;hb=7016f4b28fa1324269ae9e2a8aad28dd562927d4;hp=6352d714cba1fc7f174a8d56204ca64e6791e009;hpb=edd0e97bfdc544114f30bf4c13a929631c44a555;p=alttp.git diff --git a/app/Policies/TournamentPolicy.php b/app/Policies/TournamentPolicy.php index 6352d71..2cc6b6e 100644 --- a/app/Policies/TournamentPolicy.php +++ b/app/Policies/TournamentPolicy.php @@ -16,7 +16,7 @@ class TournamentPolicy * @param \App\Models\User $user * @return \Illuminate\Auth\Access\Response|bool */ - public function viewAny(User $user) + public function viewAny(?User $user) { return true; } @@ -28,7 +28,7 @@ class TournamentPolicy * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ - public function view(User $user, Tournament $tournament) + public function view(?User $user, Tournament $tournament) { return true; } @@ -101,7 +101,19 @@ class TournamentPolicy */ public function addRound(User $user, Tournament $tournament) { - return $user->role === 'admin' || $user->isParticipant($tournament); + return $user->role === 'admin' || (!$tournament->locked && $user->isParticipant($tournament)); + } + + /** + * Determine whether the user can view the tournament protocol. + * + * @param \App\Models\User $user + * @param \App\Models\Tournament $tournament + * @return \Illuminate\Auth\Access\Response|bool + */ + public function viewProtocol(User $user, Tournament $tournament) + { + return $user->role === 'admin'; } }