name; $slug = Str::slug($name); $picture = $request->picture; $range = new Range(); $range->name = $name; $range->save(); if ($picture !== null) { $imageName = $range->id . '_' . $slug . '_' . Str::random(5) . '.' . $picture->extension(); $picture->move(public_path('images/ranges'), $imageName); $range->picture = $imageName; $range->save(); } return \response()->redirectToRoute('bo.ranges.index') ->with('success', 'La gamme à bien été enregistré !'); } /** * Display the specified resource. * * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function show(Range $range) { return view('bo.ranges.view', compact('range')); } /** * Show the form for editing the specified resource. * * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function edit(Range $range) { return view('bo.ranges.edit', compact('range')); } /** * Update the specified resource in storage. * * @param \App\Http\Requests\UpdateRangeRequest $request * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function update(UpdateRangeRequest $request, Range $range) { $name = $request->name; $slug = Str::slug($name); $picture = $request->picture; if ($picture !== null) { if ($range->picture !== null && file_exists(public_path('images/ranges/') . $range->picture)) { unlink(public_path('images/ranges/') . $range->picture); } $imageName = $range->id . '_' . $slug . '_' . Str::random(5) . '.' . $picture->extension(); $picture->move(public_path('images/ranges'), $imageName); } $range->name = $name; if ($picture !== null) { $range->picture = $imageName; } $range->saveOrFail(); return \response()->redirectToRoute('bo.ranges.edit', $range) ->with('success', 'La gamme à bien été mise à jour !'); } /** * Remove the specified resource from storage. * * @param \App\Models\Range $range * @return \Illuminate\Http\Response */ public function destroy(Range $range) { if ($range->products()->count()) { return back()->withError( 'Cette gamme est associé a des produits, la supression n\'est pas possible' ); } if (!$range->delete()) { return back()->withError( 'Erreur lors de la suppression de la gamme' ); } return \response()->redirectToRoute('bo.ranges.index') ->with('warning', 'La gamme à bien été supprimée !'); } }