- Implemented the full order lifecycle, secure customer tracker, automatic acceptance emails, configurable status templates, and guest/account CRM management.
Key areas: [OrderStatusService.php](/Users/tyemeclifford/Documents/GH/fatbottomgrille/app/Services/OrderStatusService.php), [AdminController.php](/Users/tyemeclifford/Documents/GH/fatbottomgrille/app/Controllers/AdminController.php), and [Database.php](/Users/tyemeclifford/Documents/GH/fatbottomgrille/app/Core/Database.php). SQLite migration applied successfully. PHP/JS syntax, integration workflows, rendered pages, database integrity, and tracker authorization all passed. Invalid tracker tokens correctly return 403.
This commit is contained in:
@@ -45,6 +45,21 @@ function checked(mixed $value): string
|
||||
return (bool) $value ? 'checked' : '';
|
||||
}
|
||||
|
||||
function order_status_label(string $status): string
|
||||
{
|
||||
return [
|
||||
'pending' => 'Awaiting acceptance',
|
||||
'paid' => 'Awaiting acceptance',
|
||||
'accepted' => 'Accepted',
|
||||
'declined' => 'Declined',
|
||||
'processing' => 'Processing / Active',
|
||||
'preparing' => 'Processing / Active',
|
||||
'ready' => 'Ready for pickup',
|
||||
'completed' => 'Complete',
|
||||
'cancelled' => 'Declined',
|
||||
][$status] ?? ucwords(str_replace('_', ' ', $status));
|
||||
}
|
||||
|
||||
function store_datetime(?string $value, string $format = 'M j, Y g:i A'): string
|
||||
{
|
||||
if ($value === null || $value === '') {
|
||||
|
||||
Reference in New Issue
Block a user