/**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $contests = Contest::all();
     $messages = $this->repository->getMessagesFromSettings();
     foreach ($contests as $contest) {
         if (!$contest->messages->count()) {
             $this->repository->createMessagesForContestFromSettings($contest, $messages);
         }
     }
 }
 /**
  * Get a collection of contests
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function index(Request $request)
 {
     $campaignRunId = $request->query('campaign_run_id');
     // @TODO: below is temporary fix until Phoenix GET request updates run_nid param to run_id.
     // We want to aim to not have any proprietary Drupal id names :P
     if (!$campaignRunId) {
         $campaignRunId = $request->query('run_nid');
     }
     if (isset($campaignRunId)) {
         $contest = Contest::with('waitingRoom')->where('campaign_run_id', $campaignRunId)->firstOrFail();
         return $this->item($contest);
     }
     return $this->collection(Contest::all());
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $contest = $this->argument('contest');
     $messages = $this->repository->buildMessagesFromDefaults();
     if ($contest) {
         $contest = Contest::findOrFail($contest);
         $this->repository->updateMessagesForContest($contest, $messages);
         return $this->comment(PHP_EOL . 'All set! Messages for Contest ID #' . $contest->id . ' have been updated. If any messages were missing, they were added as well!' . PHP_EOL);
     } else {
         $contests = Contest::all();
         foreach ($contests as $contest) {
             $this->repository->updateMessagesForContest($contest, $messages);
         }
         return $this->comment(PHP_EOL . 'All set! Messages for all Contests have been updated. If any messages for a Contest were missing, they were added as well!' . PHP_EOL);
     }
 }
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $contests = Contest::all();
     $contests = $this->manager->appendCampaign($contests);
     return view('contests.index', compact('contests'));
 }