From ef393326cd1c23a5a13883a74db79730ca0ed160 Mon Sep 17 00:00:00 2001 From: Olivier Legat Date: Fri, 21 Jan 2022 14:26:44 +0100 Subject: [PATCH] make picture attribute translatable --- app/Http/Controllers/Bo/SlidesController.php | 2 ++ app/Models/Slide.php | 5 +++-- database/factories/SlideFactory.php | 8 +++++++- resources/views/back/slides/form-inputs.blade.php | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/Bo/SlidesController.php b/app/Http/Controllers/Bo/SlidesController.php index a385fe1..529b2b8 100644 --- a/app/Http/Controllers/Bo/SlidesController.php +++ b/app/Http/Controllers/Bo/SlidesController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Bo; use App\Http\Controllers\Controller; use App\Http\Requests\StoreSlideRequest; +use App\Lib\Utils; use App\Models\Slide; use App\Models\Slider; @@ -86,6 +87,7 @@ class SlidesController extends Controller public function update(StoreSlideRequest $request, Slide $slide) { $slide->fill($request->validated()); + $slide->picture = Utils::storeImage($request->picture, $slide->getTable()); if (!$slide->saveOrFail()) { return redirect()->route('bo.slides.edit', $slide->id)->with('error', trans('La modification a échoué')); diff --git a/app/Models/Slide.php b/app/Models/Slide.php index 0af7003..87eebed 100644 --- a/app/Models/Slide.php +++ b/app/Models/Slide.php @@ -39,6 +39,7 @@ class Slide extends Model public $translatable = [ 'title', 'text', + 'picture', 'link', 'link_label', 'alt_text_picture' @@ -47,13 +48,13 @@ class Slide extends Model protected static function boot() { static::creating(function (Slide $slide) { - if ($slide->picture) { + if (is_a($slide->picture,"SplFileInfo")) { $slide->picture = Utils::storeImage($slide->picture, $slide->getTable()); } }); static::updating(function (Slide $slide) { - if ($slide->picture) { + if (is_a($slide->picture,"SplFileInfo")) { $slide->picture = Utils::storeImage($slide->picture, $slide->getTable()); } }); diff --git a/database/factories/SlideFactory.php b/database/factories/SlideFactory.php index 40d0a38..94f0ac7 100644 --- a/database/factories/SlideFactory.php +++ b/database/factories/SlideFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use App\Lib\Utils; use App\Models\Slide; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Carbon; @@ -24,6 +25,11 @@ class SlideFactory extends Factory */ public function definition() { + + $upload = new SplFileInfo(resource_path('assets/images/image-sample.jpg')); + $slide = new Slide(); + $imgpath = Utils::storeImage($upload, $slide->getTable()); + return [ 'title' => $this->faker->unique()->word(), 'text' => $this->faker->realText(25), @@ -32,7 +38,7 @@ class SlideFactory extends Factory 'link_new_tab' => rand(0, 1), 'date_start' => Carbon::now(), 'date_end' => Carbon::now()->addDays(2), - 'picture' => new SplFileInfo(resource_path('assets/images/image-sample.jpg')), + 'picture' => $imgpath, 'alt_text_picture' => $this->faker->sentence(10), ]; } diff --git a/resources/views/back/slides/form-inputs.blade.php b/resources/views/back/slides/form-inputs.blade.php index 99e0e83..a9dc6ae 100644 --- a/resources/views/back/slides/form-inputs.blade.php +++ b/resources/views/back/slides/form-inputs.blade.php @@ -11,7 +11,7 @@

- @if ($slide->picture !== null) + @if (!empty($slide->picture))

{{$slide->title}}