/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(ContestRequest $request) { $contest = Contest::create(['campaign_id' => $request->input('campaign_id'), 'campaign_run_id' => $request->input('campaign_run_id'), 'sender_email' => $request->input('sender_email'), 'sender_name' => $request->input('sender_name')]); $contest->waitingRoom->fill($request->only(['signup_start_date', 'signup_end_date']))->save(); $repository = new MessageRepository(); $repository->createMessagesForContest($contest, $request->input('messages')); return redirect()->action('ContestsController@show', $contest->id)->with('status', 'Contest has been saved!'); }
/** * 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); } } }
/** * Update the specified resources. * * @param \Illuminate\Http\Request $request * @param string $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $contest = Contest::findOrFail($id); $this->msgRepository->updateMessagesForContest($contest, $request->input('messages')); return redirect()->action('ContestsController@show', $contest->id)->with('status', 'Messages have been updated!'); }