diff --git a/admin/index.php b/admin/index.php
index 8704f70..e2907d5 100644
--- a/admin/index.php
+++ b/admin/index.php
@@ -383,7 +383,7 @@ include 'includes/header.php';
new Chart(typePieCtx, {
type: 'doughnut',
data: {
- labels: = json_encode(array_map('ucfirst', array_column($salesByType, 'order_type'))) ?>,
+ labels: = json_encode(array_map(fn($t) => match($t) { 'dine-in' => 'Dine-In', 'takeaway' => 'Take Away', 'delivery' => 'Delivery', 'drive-thru' => 'Drive-Thru', default => 'Take Away' }, array_column($salesByType, 'order_type'))) ?>,
datasets: [{
data: = json_encode(array_column($salesByType, 'total')) ?>,
backgroundColor: ['#6610f2', '#198754', '#fd7e14', '#ffc107'],
diff --git a/admin/order_edit.php b/admin/order_edit.php
index 0c32d63..70b566a 100644
--- a/admin/order_edit.php
+++ b/admin/order_edit.php
@@ -107,7 +107,7 @@ include 'includes/header.php';
diff --git a/admin/order_view.php b/admin/order_view.php
index 7925c51..54bc6b7 100644
--- a/admin/order_view.php
+++ b/admin/order_view.php
@@ -131,7 +131,7 @@ $vat_rate = (float)($company_settings['vat_rate'] ?? 0);
Date: = date('M d, Y H:i', strtotime($order['created_at'])) ?>
Status: = ucfirst($order['status']) ?>
Payment: = htmlspecialchars($order['payment_type_name'] ?? 'N/A') ?>
- Type: = ucfirst($order["order_type"]) ?>
+ Type: = match($order["order_type"] ?? "") { "dine-in" => "Dine-In", "takeaway" => "Take Away", "delivery" => "Delivery", "drive-thru" => "Drive-Thru", default => "Take Away" } ?>
Source: = match($order["source"] ?? "pos") { "online" => "Online", "qr" => "QR Order", default => "POS" } ?>
@@ -269,7 +269,7 @@ $vat_rate = (float)($company_settings['vat_rate'] ?? 0);
-
= ucfirst($order["order_type"]) ?>
+
= match($order["order_type"] ?? "") { "dine-in" => "Dine-In", "takeaway" => "Take Away", "delivery" => "Delivery", "drive-thru" => "Drive-Thru", default => "Take Away" } ?>
diff --git a/admin/orders.php b/admin/orders.php
index 3929f05..4e6b1ad 100644
--- a/admin/orders.php
+++ b/admin/orders.php
@@ -340,7 +340,7 @@ include 'includes/header.php';
default => "bg-secondary"
};
?>
-
mb-1">= ucfirst($order["order_type"]) ?>
+
mb-1">= match($order["order_type"] ?? "") { "dine-in" => "Dine-In", "takeaway" => "Take Away", "delivery" => "Delivery", "drive-thru" => "Drive-Thru", default => "Take Away" } ?>
= $source_name ?>
diff --git a/assets/js/main.js b/assets/js/main.js
index 5325a51..8dc5a2d 100644
--- a/assets/js/main.js
+++ b/assets/js/main.js
@@ -202,7 +202,7 @@ document.addEventListener('DOMContentLoaded', () => {
item.className = 'list-group-item list-group-item-action d-flex justify-content-between align-items-center';
item.innerHTML = `
- Order #${order.id} ${order.order_type}
+ Order #${order.id} ${order.order_type === "dine-in" ? "Dine-In" : (order.order_type === "takeaway" || !order.order_type ? "Take Away" : order.order_type)}
${order.customer_name || 'Guest'} ${order.table_number ? ' • Table ' + order.table_number : ''} • ${order.time_formatted}
diff --git a/db/migrations/051_fix_empty_order_type.sql b/db/migrations/051_fix_empty_order_type.sql
new file mode 100644
index 0000000..fe9957e
--- /dev/null
+++ b/db/migrations/051_fix_empty_order_type.sql
@@ -0,0 +1,2 @@
+-- Fix empty order_type resulting from enum changes before 040_vat_system.sql
+UPDATE orders SET order_type = 'takeaway' WHERE order_type = '' OR order_type IS NULL;
|