From ee148a27edbe9ab1407e38a17a4f218b4f138e40 Mon Sep 17 00:00:00 2001 From: Ludovic CANDELLIER Date: Sat, 16 Apr 2022 11:40:19 +0200 Subject: [PATCH] Add management of merchandises, enhance imageable trait --- app/Datatables/Shop/ArticlesDataTable.php | 2 +- app/Menu/Botanic.php | 2 +- app/Menu/Customers.php | 2 +- app/Menu/Merchandises.php | 19 +++++++++++++ app/Menu/Shop.php | 4 --- app/Models/Shop/Merchandise.php | 2 +- app/Traits/Repository/Imageable.php | 27 ++++++++++--------- .../Admin/Shop/Merchandises/list.blade.php | 4 +-- 8 files changed, 40 insertions(+), 22 deletions(-) create mode 100644 app/Menu/Merchandises.php diff --git a/app/Datatables/Shop/ArticlesDataTable.php b/app/Datatables/Shop/ArticlesDataTable.php index 23ef7257..c270a138 100644 --- a/app/Datatables/Shop/ArticlesDataTable.php +++ b/app/Datatables/Shop/ArticlesDataTable.php @@ -67,7 +67,7 @@ class ArticlesDataTable extends DataTable }) ->editColumn('thumb', function (Article $article) { $image = Articles::getFullImageByArticle($article); - return ''; + return Articles::getThumb($image, false); }) ->editColumn('article_nature.name', function (Article $article) { return $article->article_nature ? $article->article_nature->name : ''; diff --git a/app/Menu/Botanic.php b/app/Menu/Botanic.php index 64aa561a..3b283d29 100644 --- a/app/Menu/Botanic.php +++ b/app/Menu/Botanic.php @@ -11,7 +11,7 @@ class Botanic { $menu->add('Botanique', ['icon' => 'leaf' ]) ->id('botanic') - ->order(5); + ->order(4); $menu->addTo('botanic', 'Familles', [ 'route' => 'Admin.Botanic.Families.index', diff --git a/app/Menu/Customers.php b/app/Menu/Customers.php index cf725150..8ed9d5e9 100644 --- a/app/Menu/Customers.php +++ b/app/Menu/Customers.php @@ -10,7 +10,7 @@ class Customers { $menu->add('Clients finaux', ['icon' => 'address-card' ]) ->id('customers') - ->order(4); + ->order(6); $menu->addTo('customers', __('customer.customers.name'), [ 'route' => 'Admin.Shop.Customers.index', diff --git a/app/Menu/Merchandises.php b/app/Menu/Merchandises.php new file mode 100644 index 00000000..8725c6e5 --- /dev/null +++ b/app/Menu/Merchandises.php @@ -0,0 +1,19 @@ +add('Marchandises', ['icon' => 'shopping-bag' ]) + ->id('merchandises') + ->order(5); + + $menu->addTo('merchandises', __('Marchandises'), [ + 'route' => 'Admin.Shop.Merchandises.index', + ])->activeIfRoute(['Admin.Shop.Merchandises.*'])->order(1); + } +} diff --git a/app/Menu/Shop.php b/app/Menu/Shop.php index 7a37dbb6..5c922604 100644 --- a/app/Menu/Shop.php +++ b/app/Menu/Shop.php @@ -60,10 +60,6 @@ class Shop $menu->addTo('shop', 'Accueil', [ 'route' => 'Admin.Shop.Homepages.index', ])->activeIfRoute(['Admin.Shop.Homepages.*'])->order(15); - - $menu->addTo('shop', 'Marchandises', [ - 'route' => 'Admin.Shop.Merchandises.index', - ])->activeIfRoute(['Admin.Shop.Merchandises.*'])->order(16); } } diff --git a/app/Models/Shop/Merchandise.php b/app/Models/Shop/Merchandise.php index 5f9f61b0..9b4ca47a 100644 --- a/app/Models/Shop/Merchandise.php +++ b/app/Models/Shop/Merchandise.php @@ -26,6 +26,6 @@ class Merchandise extends Model implements HasMedia public function tags() { - return $this->morphToMany('App\Models\Shop\Tag', 'taggable'); + return $this->morphToMany(Tag::class, 'taggable'); } } diff --git a/app/Traits/Repository/Imageable.php b/app/Traits/Repository/Imageable.php index 59fab86a..2063e68d 100644 --- a/app/Traits/Repository/Imageable.php +++ b/app/Traits/Repository/Imageable.php @@ -16,34 +16,37 @@ trait Imageable return Medias::getImages(self::get($id)); } - public static function getThumb($image) + public static function getThumb($image, $with_undefined = true) { - return ''; + $src = self::getThumbSrc($image, $with_undefined); + return $src ? "" : ''; } - public static function getThumbSrc($image) + public static function getThumbSrc($image, $with_undefined = true) { - return $image ? Medias::getThumbSrc($image) : '/img/visuel-non-disponible.jpg'; + return $image ? Medias::getThumbSrc($image) : ($with_undefined ? '/img/visuel-non-disponible.jpg' : ''); } - public static function getPreview($image) + public static function getPreview($image, $with_undefined = true) { - return ''; + $src = self::getPreviewSrc($image, $with_undefined); + return $src ? "" : ''; } - public static function getPreviewSrc($image) + public static function getPreviewSrc($image, $with_undefined = true) { - return $image ? Medias::getPreviewSrc($image) : '/img/visuel-non-disponible.jpg'; + return $image ? Medias::getPreviewSrc($image) : ($with_undefined ? '/img/visuel-non-disponible.jpg' :''); } - public static function getImage($image) + public static function getImage($image, $with_undefined = true) { - return ''; + $src = self::getImageSrc($image, $with_undefined); + return $src ? "" : ''; } - public static function getImageSrc($image) + public static function getImageSrc($image, $with_undefined = true) { - return $image ? Medias::getImageSrc($image) : '/img/visuel-non-disponible.jpg'; + return $image ? Medias::getImageSrc($image) : ($with_undefined ? '/img/visuel-non-disponible.jpg' : ''); } public static function deleteImage($id, $index) diff --git a/resources/views/Admin/Shop/Merchandises/list.blade.php b/resources/views/Admin/Shop/Merchandises/list.blade.php index 721a724c..4be55daf 100644 --- a/resources/views/Admin/Shop/Merchandises/list.blade.php +++ b/resources/views/Admin/Shop/Merchandises/list.blade.php @@ -1,6 +1,6 @@ @extends('layout.index', [ - 'title' => __('Shop.merchandises.title'), - 'subtitle' => __('Shop.merchandises.list'), + 'title' => __('Marchandises'), + 'subtitle' => __('Liste de marchandises'), 'breadcrumb' => [__('Shop.merchandises.title')] ])