get(); return view('bo.faq-themes.index', compact('f')); } public function create() { return view('bo.faq-themes.create'); } public function store(Request $request) { $name = $request->name; $pictogram = $request->pictogram; $request->validate([ 'name' => 'required|max:100', 'pictogram' => 'required|max:255', ]); $f = new FaqThemes(); $f->name = $name; $f->pictogram = $pictogram; $f->order = $this->getLastOrder(); $f->save(); return redirect()->route('bo.faq-themes.index'); } public function edit($id) { $f = FaqThemes::findOrFail($id); return view('bo.faq-themes.edit', compact('f')); } public function update(Request $request, $id) { $name = $request->name; $pictogram = $request->pictogram; $request->validate([ 'name' => 'required|max:100', 'pictogram' => 'required|max:255', ]); $f = FaqThemes::findOrFail($id); $f->name = $name; $f->pictogram = $pictogram; $f->save(); return redirect()->route('bo.faq-themes.edit', $f->id)->with('success', 'Enregistré !'); } public function destroy($id) { $f = FaqThemes::findOrFail($id); $f->delete(); return redirect()->route('bo.faq-themes.index'); } public function changeOrder($id, $action) { $current = FaqThemes::findOrFail($id); if ($action === 'up'){ $tmp = FaqThemes::where('order', $current->order - 1)->first(); $tmp->order = $tmp->order + 1; $current->order = $current->order - 1; }else{ $tmp = FaqThemes::where('order', $current->order + 1)->first(); $tmp->order = $tmp->order - 1; $current->order = $current->order + 1; } $tmp->save(); $current->save(); return redirect()->route('bo.faq-themes.index'); } private function getLastOrder() { $order = FaqThemes::select('order')->orderBy('order', 'DESC')->first(); if ($order === NULL) return 1; return $order->order + 1; } }