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:
parent
703a283d32
commit
01cb11dad3
1 changed files with 22 additions and 7 deletions
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue