Files
opensem/app/Repositories/Shop/Tariffs.php
2023-12-09 21:02:28 +01:00

63 lines
1.4 KiB
PHP

<?php
namespace App\Repositories\Shop;
use App\Datatables\Admin\Shop\PriceListsDataTable;
use App\Models\Shop\Tariff;
use App\Traits\Model\Basic;
class Tariffs
{
use Basic;
public static function init()
{
$model = new PriceListsDataTable();
return [
'sale_channels' => SaleChannels::getOptions(),
'statuses' => Tariffs::getStatuses(),
'tariff_unities' => TariffUnities::getOptions(),
'datatables' => [
'price_lists' => $model->html(),
],
];
}
public static function autocomplete($str)
{
$data = Tariff::byAutocomplete($str)->orderBy('name')->limit(30)->get()->pluck('name', 'id');
$export = [];
foreach ($data as $key => $name) {
$export[] = ['value' => $key, 'text' => $name];
}
return $export;
}
public static function getByOffer($id)
{
return Tariff::byOffer($id)->first();
}
public static function getPrices($id)
{
return Tariff::with(['price_lists.price_list_values', 'price_lists.sale_channel'])->find($id);
}
public static function getStatus($status_id)
{
return self::getStatuses()[$status_id];
}
public static function getStatuses()
{
return ['Actif', 'Suspendu', 'Invisible', 'Obsolete'];
}
public static function getModel()
{
return Tariff::query();
}
}