]> git.localhorst.tv Git - alttp.git/blobdiff - app/Policies/RoundPolicy.php
tournament monitors
[alttp.git] / app / Policies / RoundPolicy.php
index 045785d28047aed0bd5d9e177d767234e1471aea..c1a1a4845beb157e0ddcc50547ced4d28b440531 100644 (file)
@@ -91,4 +91,41 @@ class RoundPolicy
        {
                return false;
        }
+
+       /**
+        * Determine whether the user can set the seed for this round.
+        *
+        * @param  \App\Models\User  $user
+        * @param  \App\Models\Round  $round
+        * @return \Illuminate\Auth\Access\Response|bool
+        */
+       public function setSeed(User $user, Round $round)
+       {
+               return $user->isAdmin() || (!$round->locked && ($user->isRunner($round->tournament) || $user->isTournamentAdmin($round->tournament)));
+       }
+
+       /**
+        * Determine whether the user can lock this round.
+        *
+        * @param  \App\Models\User  $user
+        * @param  \App\Models\Round  $round
+        * @return \Illuminate\Auth\Access\Response|bool
+        */
+       public function lock(User $user, Round $round)
+       {
+               return $user->isAdmin() || $user->isTournamentAdmin($round->tournament);
+       }
+
+       /**
+        * Determine whether the user can unlock this round.
+        *
+        * @param  \App\Models\User  $user
+        * @param  \App\Models\Round  $round
+        * @return \Illuminate\Auth\Access\Response|bool
+        */
+       public function unlock(User $user, Round $round)
+       {
+               return $this->lock($user, $round);
+       }
+
 }