Add management of merchandises, enhance imageable trait

This commit is contained in:
Ludovic CANDELLIER
2022-04-16 11:40:19 +02:00
parent 79e5a6388a
commit ee148a27ed
8 changed files with 40 additions and 22 deletions

View File

@@ -67,7 +67,7 @@ class ArticlesDataTable extends DataTable
}) })
->editColumn('thumb', function (Article $article) { ->editColumn('thumb', function (Article $article) {
$image = Articles::getFullImageByArticle($article); $image = Articles::getFullImageByArticle($article);
return '<img src="' . Articles::getThumbSrc($image) . '">'; return Articles::getThumb($image, false);
}) })
->editColumn('article_nature.name', function (Article $article) { ->editColumn('article_nature.name', function (Article $article) {
return $article->article_nature ? $article->article_nature->name : ''; return $article->article_nature ? $article->article_nature->name : '';

View File

@@ -11,7 +11,7 @@ class Botanic
{ {
$menu->add('Botanique', ['icon' => 'leaf' ]) $menu->add('Botanique', ['icon' => 'leaf' ])
->id('botanic') ->id('botanic')
->order(5); ->order(4);
$menu->addTo('botanic', 'Familles', [ $menu->addTo('botanic', 'Familles', [
'route' => 'Admin.Botanic.Families.index', 'route' => 'Admin.Botanic.Families.index',

View File

@@ -10,7 +10,7 @@ class Customers
{ {
$menu->add('Clients finaux', ['icon' => 'address-card' ]) $menu->add('Clients finaux', ['icon' => 'address-card' ])
->id('customers') ->id('customers')
->order(4); ->order(6);
$menu->addTo('customers', __('customer.customers.name'), [ $menu->addTo('customers', __('customer.customers.name'), [
'route' => 'Admin.Shop.Customers.index', 'route' => 'Admin.Shop.Customers.index',

19
app/Menu/Merchandises.php Normal file
View File

@@ -0,0 +1,19 @@
<?php
namespace App\Menu;
use Sebastienheyd\Boilerplate\Menu\Builder;
class Merchandises
{
public function make(Builder $menu)
{
$menu->add('Marchandises', ['icon' => 'shopping-bag' ])
->id('merchandises')
->order(5);
$menu->addTo('merchandises', __('Marchandises'), [
'route' => 'Admin.Shop.Merchandises.index',
])->activeIfRoute(['Admin.Shop.Merchandises.*'])->order(1);
}
}

View File

@@ -61,9 +61,5 @@ class Shop
'route' => 'Admin.Shop.Homepages.index', 'route' => 'Admin.Shop.Homepages.index',
])->activeIfRoute(['Admin.Shop.Homepages.*'])->order(15); ])->activeIfRoute(['Admin.Shop.Homepages.*'])->order(15);
$menu->addTo('shop', 'Marchandises', [
'route' => 'Admin.Shop.Merchandises.index',
])->activeIfRoute(['Admin.Shop.Merchandises.*'])->order(16);
} }
} }

View File

@@ -26,6 +26,6 @@ class Merchandise extends Model implements HasMedia
public function tags() public function tags()
{ {
return $this->morphToMany('App\Models\Shop\Tag', 'taggable'); return $this->morphToMany(Tag::class, 'taggable');
} }
} }

View File

@@ -16,34 +16,37 @@ trait Imageable
return Medias::getImages(self::get($id)); return Medias::getImages(self::get($id));
} }
public static function getThumb($image) public static function getThumb($image, $with_undefined = true)
{ {
return '<img src="' . self::getThumbSrc($image) . '">'; $src = self::getThumbSrc($image, $with_undefined);
return $src ? "<img src='$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 '<img src="' . self::getPreviewSrc($image) . '" class="img-fluid">'; $src = self::getPreviewSrc($image, $with_undefined);
return $src ? "<img src='$src' class='img-fluid'>" : '';
} }
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 '<img src="' . self::getImageSrc($image) . '" class="img-fluid">'; $src = self::getImageSrc($image, $with_undefined);
return $src ? "<img src='$src' class='img-fluid'>" : '';
} }
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) public static function deleteImage($id, $index)

View File

@@ -1,6 +1,6 @@
@extends('layout.index', [ @extends('layout.index', [
'title' => __('Shop.merchandises.title'), 'title' => __('Marchandises'),
'subtitle' => __('Shop.merchandises.list'), 'subtitle' => __('Liste de marchandises'),
'breadcrumb' => [__('Shop.merchandises.title')] 'breadcrumb' => [__('Shop.merchandises.title')]
]) ])