value)->first(); $encart_marque = Encart::where('page', Page::marque()->value)->first(); $encart_food = Encart::where('page', Page::food()->value)->first(); return view('back.sliders.index', compact('sliders', 'encart_home', 'encart_marque', 'encart_food')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create(Slider $slider) { return view('back.sliders.create', compact('slider')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(StoreSliderRequest $request) { $slider = new Slider($request->validated()); // $slider->page = Page::home(); if (!$slider->saveOrFail()) { return redirect()->route('bo.sliders.edit', $slider->id)->with('error', 'Le slider n\'a pas été crée'); } return redirect()->route('bo.sliders.edit', $slider->id)->with('success', 'Slider créé !'); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { // } /** * Show the form for editing the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function edit(Slider $slider) { $encart_home = Encart::where('page', Page::home()->value)->first(); $encart_marque = Encart::where('page', Page::marque()->value)->first(); $encart_food = Encart::where('page', Page::food()->value)->first(); return view('back.sliders.edit', compact('slider', 'encart_home', 'encart_marque', 'encart_food')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(UpdateSliderRequest $request, Slider $slider) { $slider->fill($request->validated()); if (!$slider->saveOrFail()) { return redirect()->route('bo.sliders.edit', $slider->id)->with('error', 'La modification a échoué'); } return redirect()->route('bo.sliders.edit', $slider->id)->with('success', 'Modifications enregistrées !'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy(Slider $slider) { $count = Slider::count(); if ($count === 1) { return redirect()->back()->withErrors("Suppression impossible : Vous devez conserver au moins 1 Slider"); } // @todo : controller les slides liés if (!$slider->delete()) { return redirect()->route('bo.sliders.index')->with('error', trans('La suppression a échoué')); } return redirect()->route('bo.sliders.index')->with('success', trans('Suppression faite avec succès')); } }