From f98eaa4ba14e37f723d804a1b67ffc1340247bc7 Mon Sep 17 00:00:00 2001 From: John Mizerek Date: Wed, 14 Jan 2026 21:36:18 -0800 Subject: [PATCH] Fix null date handling in order history API Safely handle null/empty OrderAddedOn and OrderLastEditedOn fields that were causing server errors when formatting dates. Co-Authored-By: Claude Opus 4.5 --- api/orders/history.cfm | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/api/orders/history.cfm b/api/orders/history.cfm index a2f2273..f1c510b 100644 --- a/api/orders/history.cfm +++ b/api/orders/history.cfm @@ -125,6 +125,21 @@ try { default: statusText = "Unknown"; } + // Safely format dates + createdAt = ""; + try { + if (!isNull(row.OrderAddedOn) && len(trim(row.OrderAddedOn))) { + createdAt = dateTimeFormat(row.OrderAddedOn, "yyyy-mm-dd'T'HH:nn:ss"); + } + } catch (any de) { createdAt = ""; } + + completedAt = ""; + try { + if (row.OrderStatusID >= 4 && !isNull(row.OrderLastEditedOn) && len(trim(row.OrderLastEditedOn))) { + completedAt = dateTimeFormat(row.OrderLastEditedOn, "yyyy-mm-dd'T'HH:nn:ss"); + } + } catch (any de) { completedAt = ""; } + arrayAppend(orders, { "OrderID": row.OrderID, "OrderUUID": row.OrderUUID ?: "", @@ -134,12 +149,10 @@ try { "OrderStatusID": row.OrderStatusID, "StatusName": statusText, "OrderTypeID": row.OrderTypeID ?: 0, - "TypeName": row.OrderTypeName, + "TypeName": row.OrderTypeName ?: "Unknown", "ItemCount": itemCount, - "CreatedAt": dateTimeFormat(row.OrderAddedOn, "yyyy-mm-dd'T'HH:nn:ss"), - "CompletedAt": (row.OrderStatusID >= 4 && len(row.OrderLastEditedOn)) - ? dateTimeFormat(row.OrderLastEditedOn, "yyyy-mm-dd'T'HH:nn:ss") - : "" + "CreatedAt": createdAt, + "CompletedAt": completedAt }); }