public function postPreferences(QuizzingPreferencesRequest $request, $slug, $guid) { /** @var TournamentQuizmaster $tournamentQuizmaster */ $tournamentQuizmaster = TournamentQuizmaster::where('guid', $guid)->firstOrFail(); // model events will pick this up and make sure this user // is flagged as a quizmaster in the mailing list if ($tournamentQuizmaster->user_id == null && $tournamentQuizmaster->email == Auth::user()->email) { $tournamentQuizmaster->user_id = Auth::user()->id; } /** @var QuizzingPreferences $quizzingPreferences */ $quizzingPreferences = $tournamentQuizmaster->quizzing_preferences; $quizzingPreferences->setQuizzedAtThisTournamentBefore($request->get('quizzed_at_tournament')); $quizzingPreferences->setTimesQuizzedAtThisTournament($request->get('times_quizzed_at_tournament')); $quizzingPreferences->setGamesQuizzedThisSeason($request->get('games_quizzed_this_season')); $quizzingPreferences->setQuizzingInterest($request->get('quizzing_interest')); $tournamentQuizmaster->quizzing_preferences = $quizzingPreferences; $tournamentQuizmaster->shirt_size = $request->get('shirt_size'); $tournamentQuizmaster->save(); return redirect('/tournaments/' . $tournamentQuizmaster->tournament->slug)->withFlashSuccess('Your quizzing preferences have been updated'); }
/** * @return TournamentQuizmaster */ public function tournamentQuizmaster() { return TournamentQuizmaster::where('id', $this->eventData()[0])->first(); }