isAdmin(); } /** * Determine whether the user can update the model. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function update(User $user, Tournament $tournament) { return $user->isAdmin() || $user->isTournamentAdmin($tournament); } /** * Determine whether the user can delete the model. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function delete(User $user, Tournament $tournament) { return false; } /** * Determine whether the user can restore the model. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function restore(User $user, Tournament $tournament) { return false; } /** * Determine whether the user can permanently delete the model. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function forceDelete(User $user, Tournament $tournament) { return false; } /** * Determine whether the user can add rounds the model. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function addRound(User $user, Tournament $tournament) { return !$tournament->locked && ($user->isRunner($tournament) || $user->isTournamentAdmin($tournament)); } /** * Determine whether the user can apply to participate. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function apply(User $user, Tournament $tournament) { return $tournament->accept_applications && !$user->isRunner($tournament) && !$user->isApplicant($tournament); } /** * Determine whether the user can view the tournament protocol. * * @param \App\Models\User $user * @param \App\Models\Tournament $tournament * @return \Illuminate\Auth\Access\Response|bool */ public function viewProtocol(User $user, Tournament $tournament) { return $user->isTournamentCrew($tournament); } }