new: add colored status badges in order lists
Add ``getStatusBadge()`` to ``Orders`` returning Bootstrap badge HTML per status: warning (En attente), info (Préparation), primary (Expédié), success (Livré), danger (Annulé). Applied to all four order DataTables (admin, admin customer, shop, shop customer).
This commit is contained in:
@@ -46,12 +46,12 @@ class CustomerOrdersDataTable extends DataTable
|
|||||||
{
|
{
|
||||||
$datatables
|
$datatables
|
||||||
->editColumn('status', function (Order $order) {
|
->editColumn('status', function (Order $order) {
|
||||||
return Orders::getStatus($order->status);
|
return Orders::getStatusBadge($order->status);
|
||||||
})
|
})
|
||||||
->editColumn('created_at', function (Order $order) {
|
->editColumn('created_at', function (Order $order) {
|
||||||
return $order->created_at->isoFormat('DD/MM/YY HH:mm');
|
return $order->created_at->isoFormat('DD/MM/YY HH:mm');
|
||||||
})
|
})
|
||||||
->rawColumns(['action']);
|
->rawColumns(['status', 'action']);
|
||||||
|
|
||||||
return parent::modifier($datatables);
|
return parent::modifier($datatables);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class OrdersDataTable extends DataTable
|
|||||||
{
|
{
|
||||||
$datatables
|
$datatables
|
||||||
->editColumn('status', function (Order $order) {
|
->editColumn('status', function (Order $order) {
|
||||||
return Orders::getStatus($order->status);
|
return Orders::getStatusBadge($order->status);
|
||||||
})
|
})
|
||||||
->editColumn('created_at', function (Order $order) {
|
->editColumn('created_at', function (Order $order) {
|
||||||
return $order->created_at->format('d/m/Y H:i:s');
|
return $order->created_at->format('d/m/Y H:i:s');
|
||||||
@@ -42,7 +42,7 @@ class OrdersDataTable extends DataTable
|
|||||||
->editColumn('payment_type', function (Order $order) {
|
->editColumn('payment_type', function (Order $order) {
|
||||||
return InvoicePayments::getPaymentType($order->payment_type);
|
return InvoicePayments::getPaymentType($order->payment_type);
|
||||||
})
|
})
|
||||||
->rawColumns(['action']);
|
->rawColumns(['status', 'action']);
|
||||||
|
|
||||||
return parent::modifier($datatables);
|
return parent::modifier($datatables);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,15 +48,15 @@ class CustomerOrdersDataTable extends DataTable
|
|||||||
$datatables
|
$datatables
|
||||||
->editColumn('status', function (Order $order) {
|
->editColumn('status', function (Order $order) {
|
||||||
if ($order->status == 0 && in_array($order->payment_type, [2, 3])) {
|
if ($order->status == 0 && in_array($order->payment_type, [2, 3])) {
|
||||||
return 'En attente de règlement';
|
return '<span class="badge badge-warning">En attente de règlement</span>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return Orders::getStatus($order->status);
|
return Orders::getStatusBadge($order->status);
|
||||||
})
|
})
|
||||||
->editColumn('created_at', function (Order $order) {
|
->editColumn('created_at', function (Order $order) {
|
||||||
return $order->created_at->isoFormat('DD/MM/YY HH:mm');
|
return $order->created_at->isoFormat('DD/MM/YY HH:mm');
|
||||||
})
|
})
|
||||||
->rawColumns(['action']);
|
->rawColumns(['status', 'action']);
|
||||||
|
|
||||||
return parent::modifier($datatables);
|
return parent::modifier($datatables);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class OrdersDataTable extends DataTable
|
|||||||
{
|
{
|
||||||
$datatables
|
$datatables
|
||||||
->editColumn('status', function (Order $order) {
|
->editColumn('status', function (Order $order) {
|
||||||
return Orders::getStatus($order->status);
|
return Orders::getStatusBadge($order->status);
|
||||||
})
|
})
|
||||||
->editColumn('created_at', function (Order $order) {
|
->editColumn('created_at', function (Order $order) {
|
||||||
return $order->created_at->toDateTimeString();
|
return $order->created_at->toDateTimeString();
|
||||||
@@ -40,7 +40,7 @@ class OrdersDataTable extends DataTable
|
|||||||
->editColumn('payment_type', function (Order $order) {
|
->editColumn('payment_type', function (Order $order) {
|
||||||
return InvoicePayments::getPaymentType($order->payment_type);
|
return InvoicePayments::getPaymentType($order->payment_type);
|
||||||
})
|
})
|
||||||
->rawColumns(['action']);
|
->rawColumns(['status', 'action']);
|
||||||
|
|
||||||
return parent::modifier($datatables);
|
return parent::modifier($datatables);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,6 +126,26 @@ class Orders
|
|||||||
return self::statuses()[$id] ?? false;
|
return self::statuses()[$id] ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getStatusBadge($id)
|
||||||
|
{
|
||||||
|
$label = self::getStatus($id);
|
||||||
|
if ($label === false) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
$classes = [
|
||||||
|
0 => 'badge-warning',
|
||||||
|
1 => 'badge-info',
|
||||||
|
2 => 'badge-primary',
|
||||||
|
3 => 'badge-success',
|
||||||
|
4 => 'badge-danger',
|
||||||
|
];
|
||||||
|
|
||||||
|
$class = $classes[$id] ?? 'badge-secondary';
|
||||||
|
|
||||||
|
return '<span class="badge '.$class.'">'.$label.'</span>';
|
||||||
|
}
|
||||||
|
|
||||||
public static function getStatusByName($name)
|
public static function getStatusByName($name)
|
||||||
{
|
{
|
||||||
$data = array_flip(self::statuses());
|
$data = array_flip(self::statuses());
|
||||||
|
|||||||
Reference in New Issue
Block a user