fix: Cash task completion now triggers kitchen flow

When a cash task is completed, the order now goes to status 1 (submitted)
instead of directly to status 5 (complete). This allows the normal kitchen
flow to proceed: kitchen sees order → prepares → marks status 3 → delivery
task is auto-created.

Also sets PaymentStatus, PaymentCompletedOn, and SubmittedOn to match the
Stripe webhook behavior for paid orders.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
John Mizerek 2026-02-16 18:22:14 -08:00
parent 703a283d32
commit 01cb11dad3

View file

@ -187,15 +187,30 @@
WHERE ID = ? WHERE ID = ?
", [ { value = TaskID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })> ", [ { value = TaskID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
<!--- If task has an associated order, mark it as Delivered/Complete (status 5) ---> <!--- Update order status based on task type --->
<cfset orderUpdated = false> <cfset orderUpdated = false>
<cfif qTask.OrderID GT 0> <cfif qTask.OrderID GT 0>
<cfset queryTimed(" <cfif isCashTask>
UPDATE Orders <!--- Cash task: Set to status 1 (Submitted/Paid) to trigger kitchen flow --->
SET StatusID = 5, <!--- Kitchen will then move to 2, then 3 (which creates delivery task) --->
LastEditedOn = NOW() <cfset queryTimed("
WHERE ID = ? UPDATE Orders
", [ { value = qTask.OrderID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })> SET StatusID = CASE WHEN StatusID = 0 THEN 1 ELSE StatusID END,
PaymentStatus = 'paid',
PaymentCompletedOn = NOW(),
SubmittedOn = CASE WHEN SubmittedOn IS NULL THEN NOW() ELSE SubmittedOn END,
LastEditedOn = NOW()
WHERE ID = ?
", [ { value = qTask.OrderID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
<cfelse>
<!--- Regular task (delivery, pickup, etc.): Mark order as Delivered/Complete (status 5) --->
<cfset queryTimed("
UPDATE Orders
SET StatusID = 5,
LastEditedOn = NOW()
WHERE ID = ?
", [ { value = qTask.OrderID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
</cfif>
<cfset orderUpdated = true> <cfset orderUpdated = true>
</cfif> </cfif>