/** * Update the specified resource in storage. * * @param SubmissionRequest $request * @param Submission $submission * @return \Illuminate\Http\RedirectResponse */ public function update(SubmissionRequest $request, Submission $submission) { $submission->update($request->all()); if ($request->get('active')) { $submission->active = true; } else { $submission->active = false; } if ($request->get('bonus')) { $submission->bonus = true; } else { $submission->bonus = false; } $submission->save(); return redirect()->action('SubmissionsController@index'); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request, $id) { $submission = new Submission(); $form = Form::findorfail($id); if ($form->validateInputs($request)) { $inputs = $request->all(); // We don't need the CSRF token, so drop it unset($inputs['_token']); $submission->submission = $this->prepareSubmission($inputs, $form); $submission->form_id = $id; $submission->save(); Event::fire(new FormWasSubmitted($form, $submission)); return view('submissions.confirmation', ['form' => $form, 'submission' => $submission]); } else { dd('validation failed'); } }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $data = $request->all(); if (!empty($data) && isset($data['id'])) { $videoId = $data['id']; $song = new Song(); $row = $song->where('video_id', $videoId)->first(); if (is_null($row)) { $submission = new Submission(); $user = \Auth::user(); $latestSong = new Song(); $latestSong = $latestSong->orderby('updated_at', 'desc')->first(); // Add song $song->video_id = $videoId; $song->video_name = $data['name']; $song->video_duration = $data['duration']; $song->created_at = Carbon::now()->addHours(2); if (is_null($latestSong)) { $song->updated_at = $song->created_at; } else { // We want to set the updated_at coorsponding to latest added // song duration, for a consistent playlist. $latestSongUpdateDate = Carbon::parse($latestSong->updated_at)->timestamp; $latestSongDuration = $latestSong->video_duration; $nextUpdateAtStop = $latestSongUpdateDate + $latestSongDuration; $song->updated_at = Carbon::createFromTimestamp($nextUpdateAtStop)->toDateTimeString(); } $song->save(); $submission->facebook_id = $user->facebook_id; $submission->playlist_id = $song->video_id; $submission->save(); // Publish song added $this->pusher->trigger('playlist-channel', 'song-added', []); return new Response(json_encode($song), Response::HTTP_CREATED); } else { // Song record already exists return new Response('Conflict', Response::HTTP_CONFLICT); } } // Request data not supported return new Response('Unprocessable Entity', Response::HTTP_UNPROCESSABLE_ENTITY); }