*/
public function create(User $user)
{
- return $user->role === 'admin';
+ return false;
}
/**
*/
public function update(User $user, Round $round)
{
- return $user->role === 'admin';
+ return false;
}
/**
return false;
}
+ /**
+ * Determine whether the user can see the results for this round.
+ *
+ * @param \App\Models\User $user
+ * @param \App\Models\Round $round
+ * @return \Illuminate\Auth\Access\Response|bool
+ */
+ public function seeResults(?User $user, Round $round)
+ {
+ return
+ $round->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.
*
*/
public function setSeed(User $user, Round $round)
{
- return $user->role === 'admin' || ($user->isParticipant($round->tournament) && !$round->locked);
+ 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);
+ }
+
}