diff --git a/app/Http/Controllers/Bo/SlidesController.php b/app/Http/Controllers/Bo/SlidesController.php index 61ef56f..ea9be76 100644 --- a/app/Http/Controllers/Bo/SlidesController.php +++ b/app/Http/Controllers/Bo/SlidesController.php @@ -6,8 +6,6 @@ use App\Http\Controllers\Controller; use App\Http\Requests\StoreSlideRequest; use App\Models\Slide; use App\Models\Slider; -use Illuminate\Http\Request; -use Illuminate\Support\Carbon; use Illuminate\Support\Str; class SlidesController extends Controller @@ -28,17 +26,15 @@ class SlidesController extends Controller * * @return \Illuminate\Http\Response */ - public function create() + public function create(Slide $slide) { $sliders = Slider::all(); - return view('back.slides.create', compact('sliders')); + return view('back.slides.create', compact('sliders', 'slide')); } /** * Store a newly created resource in storage. * - * @todo : validation des dates - * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ @@ -77,9 +73,8 @@ class SlidesController extends Controller * @param int $id * @return \Illuminate\Http\Response */ - public function edit($id) + public function edit(Slide $slide) { - $slide = Slide::findOrFail($id); $sliders = Slider::all(); return view('back.slides.edit', compact('slide', 'sliders')); } @@ -91,13 +86,11 @@ class SlidesController extends Controller * @param int $id * @return \Illuminate\Http\Response */ - public function update(StoreSlideRequest $request, $id) + public function update(StoreSlideRequest $request, Slide $slide) { $picture = $request->picture; - // $request->validated() - $slide = Slide::findOrFail($id); - // $slide->save(); + $slide->fill($request->validated()); if ($picture !== null) { if (file_exists(public_path() . 'images/slides/' . $slide->picture)) { @@ -107,47 +100,47 @@ class SlidesController extends Controller $picture->move(public_path('images/slides'), $imageName); $slide->picture = $imageName; } - $slide->save(); - return redirect()->route('bo.slides.edit', $slide->id)->with('success', 'Modifications enregistrées !'); + if (!$slide->saveOrFail()) { + return redirect()->route('bo.slides.edit', $slide->id)->with('error', trans('La modification a échoué')); + } + + return redirect()->route('bo.slides.edit', $slide->id)->with('success', trans('Modifications enregistrées !')); } /** * Remove the specified resource from storage. * - * @param int $id + * @param Slide $slide * @return \Illuminate\Http\Response */ - public function destroy($id) + public function destroy(Slide $slide) { - $s = Slide::findOrFail($id); + if (!$slide->delete()) { + return redirect()->route('bo.slides.index')->with('error', trans('La suppression a échoué')); + } - $s->delete(); - - return redirect()->route('bo.slides.index'); + return redirect()->route('bo.slides.index')->with('success', trans('Suppression faite avec succès')); } - public function changeOrder($id, $action) + public function changeOrder(Slide $slide, $action) { - $current = Slide::findOrFail($id); - if ($action === 'up') { - $tmp = Slide::where('order', '<', $current->order)->orderBy('order', 'DESC')->first(); + $tmp = Slide::where('order', '<', $slide->order)->orderBy('order', 'DESC')->first(); $newOrder = $tmp->order; - $tmp->order = $current->order; - $current->order = $newOrder; + $tmp->order = $slide->order; + $slide->order = $newOrder; } else { - $tmp = Slide::where('order', '>', $current->order)->orderBy('order', 'ASC')->first(); + $tmp = Slide::where('order', '>', $slide->order)->orderBy('order', 'ASC')->first(); $newOrder = $tmp->order; - $tmp->order = $current->order; - $current->order = $newOrder; + $tmp->order = $slide->order; + $slide->order = $newOrder; } $tmp->save(); - $current->save(); + $slide->save(); return back(); - //return redirect()->route('back.slides.index'); } /** diff --git a/app/Http/Requests/StoreSlideRequest.php b/app/Http/Requests/StoreSlideRequest.php index a024e05..9050c3e 100644 --- a/app/Http/Requests/StoreSlideRequest.php +++ b/app/Http/Requests/StoreSlideRequest.php @@ -5,7 +5,6 @@ namespace App\Http\Requests; use Carbon\Exceptions\InvalidFormatException; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Carbon; -use Illuminate\Validation\Rule; class StoreSlideRequest extends FormRequest { diff --git a/package-lock.json b/package-lock.json index a3ef48b..65349ad 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ }, "devDependencies": { "axios": "^0.21", - "bootstrap": "^4.6.0", + "bootstrap": "^5.1.3", "clean-webpack-plugin": "^3.0.0", "jquery": "^3.6", "laravel-mix": "^6.0.6", @@ -1757,6 +1757,17 @@ "node": ">= 8" } }, + "node_modules/@popperjs/core": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz", + "integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==", + "dev": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -2702,17 +2713,17 @@ "dev": true }, "node_modules/bootstrap": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", - "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", + "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/bootstrap" }, "peerDependencies": { - "jquery": "1.9.1 - 3", - "popper.js": "^1.16.1" + "@popperjs/core": "^2.10.2" } }, "node_modules/brace-expansion": { @@ -10822,6 +10833,13 @@ "fastq": "^1.6.0" } }, + "@popperjs/core": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.0.tgz", + "integrity": "sha512-zrsUxjLOKAzdewIDRWy9nsV1GQsKBCWaGwsZQlCgr6/q+vjyZhFgqedLfFBuI9anTPEUT4APq9Mu0SZBTzIcGQ==", + "dev": true, + "peer": true + }, "@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -11645,9 +11663,9 @@ "dev": true }, "bootstrap": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", - "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", + "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 289daf4..065ed4f 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "axios": "^0.21", - "bootstrap": "^4.6.0", + "bootstrap": "^5.1.3", "clean-webpack-plugin": "^3.0.0", "jquery": "^3.6", "laravel-mix": "^6.0.6", diff --git a/public/images/slides/10_Y3Ijf.jpg b/public/images/slides/10_Y3Ijf.jpg new file mode 100644 index 0000000..dc752c8 Binary files /dev/null and b/public/images/slides/10_Y3Ijf.jpg differ diff --git a/public/images/slides/11_T8q4W.jpg b/public/images/slides/11_T8q4W.jpg new file mode 100644 index 0000000..55a1c60 Binary files /dev/null and b/public/images/slides/11_T8q4W.jpg differ diff --git a/public/images/slides/8_FkEDw.jpg b/public/images/slides/8_FkEDw.jpg new file mode 100644 index 0000000..55a1c60 Binary files /dev/null and b/public/images/slides/8_FkEDw.jpg differ diff --git a/public/images/slides/8_eL1ET.jpg b/public/images/slides/8_eL1ET.jpg new file mode 100644 index 0000000..1612ea9 Binary files /dev/null and b/public/images/slides/8_eL1ET.jpg differ diff --git a/public/images/slides/8_rmcT8.jpg b/public/images/slides/8_rmcT8.jpg new file mode 100644 index 0000000..dc752c8 Binary files /dev/null and b/public/images/slides/8_rmcT8.jpg differ diff --git a/public/images/slides/9_l5r05.jpg b/public/images/slides/9_l5r05.jpg new file mode 100644 index 0000000..1612ea9 Binary files /dev/null and b/public/images/slides/9_l5r05.jpg differ diff --git a/resources/assets/images/slide_home_2.jpg b/resources/assets/images/slide_home_2.jpg new file mode 100644 index 0000000..55a1c60 Binary files /dev/null and b/resources/assets/images/slide_home_2.jpg differ diff --git a/resources/assets/images/slide_home_3.jpg b/resources/assets/images/slide_home_3.jpg new file mode 100644 index 0000000..dc752c8 Binary files /dev/null and b/resources/assets/images/slide_home_3.jpg differ diff --git a/resources/views/back/modules/input-error.blade.php b/resources/views/back/modules/input-error.blade.php new file mode 100644 index 0000000..86d984b --- /dev/null +++ b/resources/views/back/modules/input-error.blade.php @@ -0,0 +1,5 @@ +@if($errors->has($inputName)) +
| Titre | -Texte | -Image | -Lien | -Début | -Fin | -Slider de regroupement | -Ordre | +{{ __('Titre') }} | +{{ __('Texte') }} | +{{ __('Image') }} | +{{ __('Lien') }} | +{{ __('Début') }} | +{{ __('Fin') }} | +{{ __('Slider de regroupement') }} | +{{ __('Ordre') }} | {{$slide->slider->label}} | @if ($loop->first) - - + + + > + @elseif($loop->last) + + < + + @else + + < - @elseif($loop->last) - - > - - @else - - - < - - > - - @endif + + > + + @endif | - Éditer + {{ __('Éditer') }} |
|---|