diff --git a/app/Repositories/Shop/Offers.php b/app/Repositories/Shop/Offers.php index 2f5fd9e5..f5086997 100644 --- a/app/Repositories/Shop/Offers.php +++ b/app/Repositories/Shop/Offers.php @@ -19,6 +19,7 @@ class Offers 'tariffs' => Tariffs::getOptions(), 'tariff_statuses' => Tariffs::getStatusMap(), 'tariff_status_labels' => Tariffs::getStatuses(), + 'tariff_pricelist_counts' => Tariffs::getPriceListCountMap(), 'variations' => Variations::getOptions(), ]; } diff --git a/app/Repositories/Shop/Tariffs.php b/app/Repositories/Shop/Tariffs.php index 1d0ce409..f752671f 100644 --- a/app/Repositories/Shop/Tariffs.php +++ b/app/Repositories/Shop/Tariffs.php @@ -69,6 +69,11 @@ class Tariffs return Tariff::pluck('status_id', 'id')->toArray(); } + public static function getPriceListCountMap() + { + return Tariff::withCount('price_lists')->pluck('price_lists_count', 'id')->toArray(); + } + public static function getModel() { return Tariff::query(); diff --git a/resources/views/Admin/Shop/Offers/form.blade.php b/resources/views/Admin/Shop/Offers/form.blade.php index c25fe4a1..2bc47f2a 100644 --- a/resources/views/Admin/Shop/Offers/form.blade.php +++ b/resources/views/Admin/Shop/Offers/form.blade.php @@ -158,13 +158,16 @@ var tariffStatuses = {!! json_encode($tariff_statuses ?? (object)[]) !!}; var tariffStatusLabels = {!! json_encode($tariff_status_labels ?? []) !!}; var tariffStatusColors = {0: '#28a745', 1: '#ffc107', 2: '#6c757d', 3: '#dc3545'}; + var tariffPLCounts = {!! json_encode($tariff_pricelist_counts ?? (object)[]) !!}; function formatTariff(item) { if (!item.id) return item.text; var statusId = tariffStatuses[item.id]; var color = tariffStatusColors[statusId] || '#6c757d'; var label = tariffStatusLabels[statusId] || ''; - return $('' + item.text + '' + label + ''); + var plCount = tariffPLCounts[item.id] || 0; + var warning = plCount == 0 ? '' : ''; + return $('' + item.text + '' + warning + '' + label + ''); } $('#tariff_id').select2('destroy').select2({