X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FPolicies%2FTournamentPolicy.php;h=72b5dcba3131dfe9ae53c4f4c463fef6f34ec7da;hb=a748d5724c8acff6e3bb3fe6c20aa5968b65d58a;hp=b79f8c17b11e2dac8cf359f4241f7fe75e22bc18;hpb=55f2d7cd6c290a0d26db177d54d20c393f890bbb;p=alttp.git diff --git a/app/Policies/TournamentPolicy.php b/app/Policies/TournamentPolicy.php index b79f8c1..72b5dcb 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; } @@ -91,4 +91,29 @@ class TournamentPolicy { return false; } + + /** + * Determine whether the user can add rounds the model. + * + * @param \App\Models\User $user + * @param \App\Models\Tournament $tournament + * @return \Illuminate\Auth\Access\Response|bool + */ + public function addRound(User $user, Tournament $tournament) + { + return $user->isAdmin() || (!$tournament->locked && ($user->isRunner($tournament) || $user->isTournamentAdmin($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->isAdmin() || $user->isTournamentCrew($tournament); + } + }