/**
  * Download a CSV export of all users based on different criteria.
  *
  * @param  \Gladiator\Models\Competition  $competition
  * @param  \Illuminate\Http\Request  $request
  * @return void
  */
 public function export(Competition $competition, Request $request)
 {
     $fileName = 'contest_' . $competition->contest_id . '-' . 'competition_' . $competition->id;
     $withReportback = convert_string_to_boolean($request->input('withReportback'));
     if (!$withReportback) {
         $fileName = $fileName . '-users';
         $key = generate_model_flash_session_key($competition);
     } else {
         $fileName = $fileName . '-leaderboard';
         $key = generate_model_flash_session_key($competition, ['includeActivity' => true]);
     }
     if (session()->has($key)) {
         $competition = session($key);
     } else {
         $competition = $this->manager->getCompetitionOverview($competition, $withReportback);
     }
     if (!$withReportback) {
         $users = $competition->contestants;
     } else {
         $users = $competition->activity['active'];
     }
     $csv = $this->manager->exportUsersCsv($users);
     $csv->output($fileName . '.csv');
 }
 /**
  * Download a CSV export of all users.
  *
  * @param  \Gladiator\Models\WaitingRoom  $room
  * @return void
  */
 public function export(WaitingRoom $room)
 {
     $users = $this->manager->getModelUsers($room);
     $csv = $this->manager->exportUsersCsv($users);
     $csv->output('contest_' . $room->contest_id . '-' . 'waitingroom_' . $room->id . '-users.csv');
 }