]> git.localhorst.tv Git - alttp.git/blobdiff - app/Policies/TournamentPolicy.php
remove absurd admin permissions
[alttp.git] / app / Policies / TournamentPolicy.php
index fd2a781e87db325e2322e517f7b1442dde0a55f8..5942b7f7979c8ff215275b9e6a83d6853e8624b7 100644 (file)
@@ -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;
        }
@@ -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->isTournamentAdmin($tournament);
        }
 
        /**
@@ -101,7 +101,7 @@ class TournamentPolicy
         */
        public function addRound(User $user, Tournament $tournament)
        {
-               return $user->role === 'admin' || $user->isParticipant($tournament);
+               return !$tournament->locked && ($user->isRunner($tournament) || $user->isTournamentAdmin($tournament));
        }
 
        /**
@@ -113,7 +113,7 @@ class TournamentPolicy
         */
        public function viewProtocol(User $user, Tournament $tournament)
        {
-               return $user->role === 'admin';
+               return $user->isTournamentCrew($tournament);
        }
 
 }