diff --git a/app/Http/Controllers/Bo/ProductsController.php b/app/Http/Controllers/Bo/ProductsController.php index 303062e..8eff52b 100644 --- a/app/Http/Controllers/Bo/ProductsController.php +++ b/app/Http/Controllers/Bo/ProductsController.php @@ -38,12 +38,14 @@ class ProductsController extends Controller //ici récupération des infos additionnelles pour affichage dans la liste // @todo : parametrer l'occurence de ces affichages car ça n'aura aucun sens selon le type de produit foreach ($products as &$product) { - $product->additionnalProductInfo = $product->additionnalProductInfo($product->product_type); - if ($product->additionnalProductInfo === null) { - //n'existe pas on renseigne un vide - $product_type = $product->product_type; - $modelClass = 'App\Models\\' . ucfirst($product_type); - $product->$product_type = new $modelClass(); + if(!empty($product->product_type)) { + $product->additionnalProductInfo = $product->additionnalProductInfo($product->product_type); + if ($product->additionnalProductInfo === null) { + //n'existe pas on renseigne un vide + $product_type = $product->product_type; + $modelClass = 'App\Models\\' . ucfirst($product_type); + $product->$product_type = new $modelClass(); + } } } unset($product); @@ -53,15 +55,17 @@ class ProductsController extends Controller /** * create à product */ - public function create(Request $request, $product_type) + public function create(Request $request, $product_type = null) { - if (!array_key_exists($product_type, config('theme.enum_product_types'))) { + if (!empty($product_type) && !array_key_exists($product_type, config('theme.enum_product_types'))) { abort(404, "Cette page n'existe pas."); //return redirect()->route('bo.products.index'); } $modelClass = 'App\Models\\' . ucfirst($product_type); $product = new Product(); - $product->$product_type = new $modelClass(); + if(!empty($product_type)) { + $product->$product_type = new $modelClass(); + } $ranges = Range::all(); $taxes = TaxRate::all(); return view('bo.products.create', compact('product_type', 'product', 'ranges', 'taxes')); @@ -180,15 +184,17 @@ class ProductsController extends Controller public function edit($id) { $product = Product::findOrFail($id); - $product->additionnalProductInfo = $product->additionnalProductInfo($product->product_type); - //above lines equivalent to : - //$product = Product::with('additionnalProductInfo')->findOrFail($id); + if(!empty($product->product_type)) { + $product->additionnalProductInfo = $product->additionnalProductInfo($product->product_type); + //above lines equivalent to : + //$product = Product::with('additionnalProductInfo')->findOrFail($id); - if ($product->additionnalProductInfo === null) { - //n'existe pas on renseigne un vide - $product_type = $product->product_type; - $modelClass = 'App\Models\\' . ucfirst($product_type); - $product->$product_type = new $modelClass(); + if ($product->additionnalProductInfo === null) { + //n'existe pas on renseigne un vide + $product_type = $product->product_type; + $modelClass = 'App\Models\\' . ucfirst($product_type); + $product->$product_type = new $modelClass(); + } } $ranges = Range::all(); diff --git a/database/seeders/TagsSeeder.php b/database/seeders/TagsSeeder.php index 9d3b63b..c8932b0 100644 --- a/database/seeders/TagsSeeder.php +++ b/database/seeders/TagsSeeder.php @@ -15,7 +15,7 @@ class TagsSeeder extends Seeder */ public function run() { - $canard = new Tag(); + /*$canard = new Tag(); $canard->label = "Canard"; $canard->slug = Str::slug($canard->label); $canard->save(); @@ -53,6 +53,6 @@ class TagsSeeder extends Seeder $paniers = new Tag(); $paniers->label = "Paniers garnis"; $paniers->slug = Str::slug($paniers->label); - $paniers->save(); + $paniers->save();*/ } } diff --git a/public/b-o/js/app.js b/public/b-o/js/app.js index 756d816..581b625 100644 --- a/public/b-o/js/app.js +++ b/public/b-o/js/app.js @@ -69281,10 +69281,10 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./resources/views/front/canard/sass/app.scss": -/*!****************************************************!*\ - !*** ./resources/views/front/canard/sass/app.scss ***! - \****************************************************/ +/***/ "./resources/views/front/jeusselin/sass/app.scss": +/*!*******************************************************!*\ + !*** ./resources/views/front/jeusselin/sass/app.scss ***! + \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports) { @@ -69293,15 +69293,15 @@ __webpack_require__.r(__webpack_exports__); /***/ }), /***/ 0: -/*!**********************************************************************************************************!*\ - !*** multi ./resources/js/app.js ./resources/sass/app.scss ./resources/views/front/canard/sass/app.scss ***! - \**********************************************************************************************************/ +/*!*************************************************************************************************************!*\ + !*** multi ./resources/js/app.js ./resources/sass/app.scss ./resources/views/front/jeusselin/sass/app.scss ***! + \*************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! D:\laragon\www\boutique-du-canard\resources\js\app.js */"./resources/js/app.js"); -__webpack_require__(/*! D:\laragon\www\boutique-du-canard\resources\sass\app.scss */"./resources/sass/app.scss"); -module.exports = __webpack_require__(/*! D:\laragon\www\boutique-du-canard\resources\views\front\canard\sass\app.scss */"./resources/views/front/canard/sass/app.scss"); +__webpack_require__(/*! D:\laragon\www\boutique-jeusselin\resources\js\app.js */"./resources/js/app.js"); +__webpack_require__(/*! D:\laragon\www\boutique-jeusselin\resources\sass\app.scss */"./resources/sass/app.scss"); +module.exports = __webpack_require__(/*! D:\laragon\www\boutique-jeusselin\resources\views\front\jeusselin\sass\app.scss */"./resources/views/front/jeusselin/sass/app.scss"); /***/ }) diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 5d16845..725b977 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,6 +1,6 @@ { "/b-o/js/app.js": "/b-o/js/app.js", "/b-o/css/app.css": "/b-o/css/app.css", - "/canard/css/app.css": "/canard/css/app.css", - "/canard/js/app.js": "/canard/js/app.js" + "/jeusselin/css/app.css": "/jeusselin/css/app.css", + "/jeusselin/js/app.js": "/jeusselin/js/app.js" } diff --git a/resources/views/bo/products/create.blade.php b/resources/views/bo/products/create.blade.php index a732e63..0865857 100644 --- a/resources/views/bo/products/create.blade.php +++ b/resources/views/bo/products/create.blade.php @@ -105,7 +105,9 @@ Publié ? - @include('bo.products.' . Str::snake($product_type)) + @if(!empty($product_type)) + @include('bo.products.' . Str::snake($product_type)) + @endif @endsection diff --git a/resources/views/bo/products/edit.blade.php b/resources/views/bo/products/edit.blade.php index f4137ef..cf55dc6 100644 --- a/resources/views/bo/products/edit.blade.php +++ b/resources/views/bo/products/edit.blade.php @@ -178,7 +178,9 @@ Publié ? - @include('bo.products.' . Str::snake($product->product_type)) + @if(!empty($product_type)) + @include('bo.products.' . Str::snake($product->product_type)) + @endif @endsection diff --git a/routes/web.php b/routes/web.php index 3e2c572..2a08c5f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -90,10 +90,11 @@ Route::namespace('App\Http\Controllers\Bo') //route ajoutée avant la déclaration de route resource sinon la forme /products/{product} l'emporte lors du routage Route::get('/products/starred', [\App\Http\Controllers\Bo\ProductsController::class, 'starred']) ->name('products.starred'); - Route::resource('products', '\App\Http\Controllers\Bo\ProductsController')->except([ - 'create' - ]); - Route::get('/products/create/{product_type}', [\App\Http\Controllers\Bo\ProductsController::class, 'create']) + // Route::resource('products', '\App\Http\Controllers\Bo\ProductsController')->except([ + // 'create' + // ]); + Route::resource('products', '\App\Http\Controllers\Bo\ProductsController'); + Route::get('/products/create/{product_type?}', [\App\Http\Controllers\Bo\ProductsController::class, 'create']) ->name('products.create'); Route::resources([