Files
opensem/app/Datatables/Shop/PriceListsDataTable.php
Ludovic CANDELLIER 9cf96b7d4e fixes
2021-09-09 00:03:24 +02:00

52 lines
1.4 KiB
PHP

<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\PriceList;
use App\Repositories\Shop\PriceLists;
class PriceListsDataTable extends DataTable
{
public $model_name = 'price_lists';
public function __construct()
{
$this->url = route('Admin.Shop.PriceLists.index');
}
public function query(PriceList $model)
{
$model = $model->with(['sale_channel','price_list_values']);
$model = self::filterByTariff($model);
return self::buildQuery($model);
}
public static function filterByTariff($model, $tariff_id = false)
{
$tariff_id = $tariff_id ? $tariff_id : self::isFilteredByField('tariff_id');
return $tariff_id ? $model->byTariff($tariff_id) : $model;
}
public function modifier($datatables)
{
$datatables
->editColumn('status', function (PriceList $price_list) {
return PriceLists::getStatus($price_list['status_id']);
})
->rawColumns(['action']);
return parent::modifier($datatables);
}
protected function getColumns()
{
return [
Column::make('status_id')->data('status')->title('etat'),
Column::make('name')->title('Nom'),
Column::make('sale_channel.name')->title('Canal de vente'),
self::makeColumnButtons(),
];
}
}