diff --git a/app/Http/Controllers/Bo/ProductsController.php b/app/Http/Controllers/Bo/ProductsController.php index 6e72394..d4b4816 100644 --- a/app/Http/Controllers/Bo/ProductsController.php +++ b/app/Http/Controllers/Bo/ProductsController.php @@ -63,6 +63,9 @@ class ProductsController extends Controller { $plusproduit = json_decode($request->plusproduit); $product = new Product($request->validated()); + if (is_a($request->picture,"SplFileInfo")) { + $product->picture = Utils::storeImage($request->picture, $product->getTable()); + } foreach($plusproduit as $plus) { $picto = 'pictogramme'.$plus->id; @@ -109,6 +112,9 @@ class ProductsController extends Controller //valeurs transmises dans le post $plusproduit = json_decode($request->plusproduit); $product->fill($request->validated()); + if (is_a($request->picture,"SplFileInfo")) { + $product->picture = Utils::storeImage($request->picture, $product->getTable()); + } foreach($plusproduit as $plus) { //boucle pour stockage des images uploadées diff --git a/app/Models/Product.php b/app/Models/Product.php index c175d11..19a9419 100644 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -36,9 +36,10 @@ class Product extends Model 'name', 'slug', 'description', + 'picture', + 'alt_text_picture', 'pictos', 'plusproduit', - 'alt_text_picture', 'seo_title', 'seo_description', ]; @@ -46,21 +47,15 @@ class Product extends Model protected static function boot() { static::creating(function (Product $product) { - if ($product->picture) { + if (is_a($product->picture,"SplFileInfo")) { $product->picture = Utils::storeImage($product->picture, $product->getTable()); } - if ($product->banner) { - $product->banner = Utils::storeImage($product->banner, $product->getTable()); - } }); static::updating(function (Product $product) { - if ($product->picture) { + if (is_a($product->picture,"SplFileInfo")) { $product->picture = Utils::storeImage($product->picture, $product->getTable()); } - if ($product->banner) { - $product->banner = Utils::storeImage($product->banner, $product->getTable()); - } }); static::deleted(function (Product $product) { @@ -72,14 +67,6 @@ class Product extends Model } } } - if ($product->banner) { - $urlPicture = public_path() . $product->banner; - if ($urlPicture) { - if (File::exists($urlPicture)) { - File::delete($urlPicture); - } - } - } //delete des images de plus produit $plusproduit = json_decode($product->plusproduit); foreach($plusproduit as $plus) { diff --git a/database/factories/ProductFactory.php b/database/factories/ProductFactory.php index 4e89715..82118f1 100644 --- a/database/factories/ProductFactory.php +++ b/database/factories/ProductFactory.php @@ -2,6 +2,8 @@ namespace Database\Factories; +use App\Lib\Utils; +use App\Models\Product; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; use SplFileInfo; @@ -95,11 +97,16 @@ class ProductFactory extends Factory 'name' => 'Lorem ipsum set doloris', 'url' => '/assets/images/sans-label.jpg', ); + + $upload = new SplFileInfo(resource_path('assets/images/product_sample_01.png')); + $picto = new Product(); + $imgpath = Utils::storeImage($upload, $picto->getTable()); + return [ 'name' => $name, 'slug' => Str::slug($name), 'description' => $this->faker->paragraph(), - 'picture' => new SplFileInfo(resource_path('assets/images/product_sample_01.png')), + 'picture' => $imgpath, 'alt_text_picture' => $this->faker->sentence(10), 'pictos' => json_encode([ 'four' => $tabFour, diff --git a/resources/views/back/products/form-inputs.blade.php b/resources/views/back/products/form-inputs.blade.php index f0d7018..511854d 100644 --- a/resources/views/back/products/form-inputs.blade.php +++ b/resources/views/back/products/form-inputs.blade.php @@ -29,7 +29,7 @@

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

{{$product->alt_text_picture}} diff --git a/resources/views/back/products/index.blade.php b/resources/views/back/products/index.blade.php index 91265b2..800861e 100644 --- a/resources/views/back/products/index.blade.php +++ b/resources/views/back/products/index.blade.php @@ -28,7 +28,11 @@ @foreach($products as $product) {{$product->name}} - + + @if (!empty($product->picture)) + + @endif + @if (isset($product->gamme)) {{$product->gamme->title}} @@ -52,4 +56,4 @@ @endforeach -@endsection \ No newline at end of file +@endsection