/** * 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'); }