X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FPolicies%2FRoundPolicy.php;h=230b2254d9c9469d29d388c56905aa9b0647464b;hb=d1f28ea443b090c7593791eba9631796ccaeafe1;hp=1e29803d24764f258b311c806c9456c98a064b57;hpb=a907ef7c6676fef11f42933b2d79bdd496b20122;p=alttp.git diff --git a/app/Policies/RoundPolicy.php b/app/Policies/RoundPolicy.php index 1e29803..230b225 100644 --- a/app/Policies/RoundPolicy.php +++ b/app/Policies/RoundPolicy.php @@ -101,6 +101,31 @@ class RoundPolicy */ public function setSeed(User $user, Round $round) { - return $user->role === 'admin' || $user->isParticipant($round->tournament); + return $user->role === 'admin' || ($user->isParticipant($round->tournament) && !$round->locked); } + + /** + * 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->role === 'admin' || $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); + } + }