This commit is contained in:
Ludovic CANDELLIER
2021-11-07 17:16:35 +01:00
parent 46b751c361
commit c7c8e18cbc
11 changed files with 41 additions and 35 deletions

View File

@@ -13,7 +13,7 @@ class SpeciesDataTable extends DataTable
public function query(Specie $model)
{
$model = $model::withCount('varieties')->with(['genre','image']);
$model = $model::withCount(['images','varieties','tags'])->with(['genre','image','tags']);
return $this->buildQuery($model);
}
@@ -26,7 +26,14 @@ class SpeciesDataTable extends DataTable
->editColumn('genre_name', function (Specie $specie) {
return $specie->genre ? $specie->genre->name : '';
})
->rawColumns(['thumb', 'genre_name', 'action']);
->editColumn('tags2', function (Specie $specie) {
$html = '';
foreach ($specie->tags as $tag) {
$html .= '<span class="btn btn-xs btn-secondary pb-2">' . $tag->slug . '</span> ';
}
return $html;
})
->rawColumns(['thumb', 'tags2', 'genre_name', 'action']);
return parent::modifier($datatables);
}
@@ -38,7 +45,10 @@ class SpeciesDataTable extends DataTable
Column::make('alias'),
Column::make('genre.name')->data('genre_name')->title('Genre'),
Column::make('latin'),
Column::make('varieties_count')->title('Nb variétés')->searchable(false)->addClass('text-right'),
Column::make('tags2')->title('Tags')->searchable(false)->orderable(false),
Column::make('varieties_count')->title('#Var')->searchable(false)->addClass('text-right'),
Column::make('tags_count')->title('#Tag')->searchable(false)->addClass('text-right'),
Column::make('images_count')->title('#Pho')->searchable(false)->addClass('text-right'),
$this->makeColumnButtons(),
];
}

View File

@@ -97,7 +97,6 @@ class ParentDataTable extends DataTable
*/
public function buildQuery($model)
{
// $model = $model->select($model->getTable() . '.*');
return $model->newQuery();
}
@@ -150,7 +149,7 @@ class ParentDataTable extends DataTable
'colReorder' => $this->colReorder,
'fixedColumns' => $this->fixedColumns,
'fixedHeader' => $this->fixedHeader,
'pageLength' => 5,
'pageLength' => 10,
'searchDelay' => 500,
'scrollX' => $this->scrollX,
'scrollCollapse' => $this->scrollCollapse,

View File

@@ -28,6 +28,9 @@ class Shop
$menu->addTo('shop', 'Tags', [ 'route' => 'Admin.Shop.Tags.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.Tags.*'])->order(8);
$menu->addTo('shop', 'Groupes de tags', [ 'route' => 'Admin.Shop.TagGroups.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.TagGroups.*'])->order(8);
$menu->addTo('shop', 'Natures d\'articles', [ 'route' => 'Admin.Shop.ArticleNatures.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.ArticleNatures.*'])->order(9);

View File

@@ -4,8 +4,12 @@ namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Spatie\Translatable\HasTranslations;
class Tag extends Model
{
use HasTranslations;
protected $guarded = ['id'];
public $translatable = ['name'];
@@ -40,9 +44,4 @@ class Tag extends Model
{
return $query->where($this->table . '.tag_group_id', $id);
}
public function getNameAttribute($value)
{
return json_decode($value)->fr ?? false;
}
}

View File

@@ -49,13 +49,10 @@ class Tags
public static function create($data)
{
$slug = self::buildSlug($data);
$tag = app('rinvex.tags.tag')->create([
'name' => ['fr' => $data['name']],
'slug' => $slug,
'tag_group_id' => $data['tag_group_id'],
'sort_order' => self::getNewOrder($data['tag_group_id'])
]);
$data['name'] = ['fr' => $data['name']];
$data['slug'] = self::buildSlug($data);
$data['sort_order'] = self::getNewOrder($data['tag_group_id']);
$tag = Tag::create($data);
return $tag;
}