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();
 }