'Enfant', '2' => 'Adolescent', '3' => 'Femme', '4' => 'Homme', '5' => 'Senior']; public function index() { $m = BalancedMenus::all(); return view('bo.balanced-menus.index') ->with('m', $m) ->with('profils', $this->profils) ; } public function create() { // TODO : Ajouter la liste des produits à passer à la vue // $p = Products::all(); // return view(bo.balanced-menus.create') // ->with('p', $p) // ->with('profils', $this->profils) // ; return view('bo.balanced-menus.create')->with('profils', $this->profils); } public function store(Request $request) { // TODO : Ajouter la récupération de l'id du produit associé // $productId = $request->product_id; $type = $request->type; $picture = $request->picture; $entree = $request->entree; $meal = $request->meal; $dessert = $request->dessert; $status = 0; $typeChaine = strtolower($this->profils[$type]); $request->validate([ 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=770,height=684', 'entree' => 'required|max:4000', 'meal' => 'required|max:4000', 'dessert' => 'required|max:4000', ]); $imageName = 'menu-' . $typeChaine . '-' . date('d-m-Y-h-i-s') .'-le-gaulois' . '.' . $picture->extension(); $picture->move(public_path('images/menus-equilibres/' . date('Y') . '/' . date('m')), $imageName); $m = new BalancedMenus(); $m->type = $type; $m->picture = date('Y') . '/' . date('m') . '/' . $imageName; $m->entree = $entree; $m->meal = $meal; $m->dessert = $dessert; $m->status = $status; $m->save(); return redirect()->route('bo.balanced-menus.index'); } public function edit($id) { $m = BalancedMenus::findOrFail($id); return view('bo.balanced-menus.edit') ->with('m', $m) ->with('profils', $this->profils) ; } public function update(Request $request, $id) { // TODO : Ajouter la récupération de l'id du produit associé // $productId = $request->product_id; $type = $request->type; $picture = $request->picture; $entree = $request->entree; $meal = $request->meal; $dessert = $request->dessert; $status = $request->status === null ? 0 : 1; $typeChaine = strtolower($this->profils[$type]); $request->validate([ 'entree' => 'required|max:4000', 'meal' => 'required|max:4000', 'dessert' => 'required|max:4000', ]); if ($picture !== null) { $request->validate([ 'picture' => 'required|image|mimes:jpeg,png,jpg|max:2048|dimensions:width=770,height=684', ]); } $m = BalancedMenus::findOrFail($id); if ($picture !== null) { if (file_exists(public_path('images/menus-equilibres/') . $m->picture)) unlink(public_path('images/menus-equilibres/') . $m->picture); $imageName = 'menu-' . $typeChaine . '-' . date('d-m-Y-h-i-s') .'-le-gaulois' . '.' . $picture->extension(); $picture->move(public_path('images/menus-equilibres/' . date('Y') . '/' . date('m')), $imageName); } $m->type = $type; if ($picture !== null) $m->picture = date('Y') . '/' . date('m') . '/' . $imageName; $m->entree = $entree; $m->meal = $meal; $m->dessert = $dessert; $m->status = $status; $m->save(); return redirect()->route('bo.balanced-menus.edit', $m->id)->with('success', 'Enregistré !'); } public function destroy($id) { $m = BalancedMenus::findOrFail($id); if (file_exists(public_path('images/menus-equilibres/') . $m->picture)) unlink(public_path('images/menus-equilibres/') . $m->picture); $m->delete(); return redirect()->route('bo.balanced-menus.index'); } }