/** * Store a newly created resource in storage. * * @param Request $request * @return Response */ public function store(Request $request) { $params = $request->all(); $now = Carbon::now()->second(0)->minute(0); $end = Carbon::parse($now)->addDay($params['count_days']); $params['user_id'] = Auth::user()->id; $params['date_start'] = $now; $params['date_end'] = $end; $vote = Vote::create($params); if (array_key_exists('debate_id', $params)) { $debate = Debate::find((int) $params['debate_id']); $debate->vote_id = $vote->id; $debate->save(); Post::create(['user_id' => Auth::user()->id, 'debate_id' => $debate->id, 'message' => 'Un vote vient d\'être lancé. <a href="' . url('/forum/vote/' . $vote->id) . '">Venez voter !</a>']); } foreach ($params['choices'] as $choice) { Choice::create(['name' => $choice, 'vote_id' => $vote->id]); } return redirect('/forum/vote')->with('message', 'Vote créé avec succès.'); }
/** * Display a listing of the resource. * * @return Response */ public function index($id) { $debate = Debate::find((int) $id); return view('post.index', compact('debate')); }
/** * Update the specified resource in storage. * * @param Request $request * @param int $id * @return Response */ public function update($topic, $debate, Request $request) { $debate = Debate::find((int) $debate); $params = $request->all(); $params['user_id'] = Auth::user()->id; if (!array_key_exists('is_postable', $params)) { $params['is_postable'] = false; } $debate->update($params); $debate->is_public = false; $debate->users()->detach(); if ($debate->is_postable) { switch ($params['visibility']) { case 'all': $debate->is_public = true; break; case 'pick_madiens': $debate->users()->attach($params['users']); break; } } $debate->save(); return redirect('/forum/' . $request->input('topic_id') . '/discussion')->with('message', 'Discussion modifiée avec succès.'); }