locked || ($user && $user->hasFinished($round)) || ($user && $user->isTournamentMonitor($round->tournament)) || ($user && $user->isTournamentAdmin($round->tournament) && !$user->isRunner($round->tournament)) || $round->isComplete(); } /** * 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 !$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 !$round->tournament->locked && ($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); } }