diff --git a/app/Datatables/Admin/Shop/TariffsDataTable.php b/app/Datatables/Admin/Shop/TariffsDataTable.php
index 070ef26e..3bc359db 100644
--- a/app/Datatables/Admin/Shop/TariffsDataTable.php
+++ b/app/Datatables/Admin/Shop/TariffsDataTable.php
@@ -22,7 +22,7 @@ class TariffsDataTable extends DataTable
{
$datatables
->editColumn('status', function (Tariff $tariff) {
- return Tariffs::getStatus($tariff['status_id']);
+ return Tariffs::getStatusBadge($tariff['status_id']);
})
->editColumn('sale_channels2', function (Tariff $tariff) {
$html = '';
@@ -32,7 +32,7 @@ class TariffsDataTable extends DataTable
return $html;
})
- ->rawColumns(['sale_channels2', 'action']);
+ ->rawColumns(['status', 'sale_channels2', 'action']);
return parent::modifier($datatables);
}
diff --git a/app/Repositories/Shop/Offers.php b/app/Repositories/Shop/Offers.php
index a312f104..2f5fd9e5 100644
--- a/app/Repositories/Shop/Offers.php
+++ b/app/Repositories/Shop/Offers.php
@@ -17,6 +17,8 @@ class Offers
return [
'articles' => Articles::getOptionsWithNature(),
'tariffs' => Tariffs::getOptions(),
+ 'tariff_statuses' => Tariffs::getStatusMap(),
+ 'tariff_status_labels' => Tariffs::getStatuses(),
'variations' => Variations::getOptions(),
];
}
diff --git a/app/Repositories/Shop/Tariffs.php b/app/Repositories/Shop/Tariffs.php
index b66082bf..1d0ce409 100644
--- a/app/Repositories/Shop/Tariffs.php
+++ b/app/Repositories/Shop/Tariffs.php
@@ -50,11 +50,25 @@ class Tariffs
return self::getStatuses()[$status_id];
}
+ public static function getStatusBadge($status_id)
+ {
+ $colors = ['success', 'warning', 'secondary', 'danger'];
+ $label = self::getStatus($status_id);
+ $color = $colors[$status_id] ?? 'secondary';
+
+ return ''.$label.'';
+ }
+
public static function getStatuses()
{
return ['Actif', 'Suspendu', 'Invisible', 'Obsolete'];
}
+ public static function getStatusMap()
+ {
+ return Tariff::pluck('status_id', '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 9e3d117e..c25fe4a1 100644
--- a/resources/views/Admin/Shop/Offers/form.blade.php
+++ b/resources/views/Admin/Shop/Offers/form.blade.php
@@ -154,6 +154,27 @@
initSelect2();
$('#status_id').bootstrapToggle();
+ // Tariff status badges in select2
+ var tariffStatuses = {!! json_encode($tariff_statuses ?? (object)[]) !!};
+ var tariffStatusLabels = {!! json_encode($tariff_status_labels ?? []) !!};
+ var tariffStatusColors = {0: '#28a745', 1: '#ffc107', 2: '#6c757d', 3: '#dc3545'};
+
+ 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 + '');
+ }
+
+ $('#tariff_id').select2('destroy').select2({
+ placeholder: "{{ __('select_a_value') }}",
+ allowClear: false,
+ width: { value: '100%' },
+ templateResult: formatTariff,
+ templateSelection: formatTariff
+ });
+
function updateEditLink(selectId, linkId, routeTemplate) {
var val = $('#' + selectId).val();
var $link = $('#' + linkId);