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 = ?
|
||||
", [ { 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>
|
||||
<cfif qTask.OrderID GT 0>
|
||||
<cfset queryTimed("
|
||||
UPDATE Orders
|
||||
SET StatusID = 5,
|
||||
LastEditedOn = NOW()
|
||||
WHERE ID = ?
|
||||
", [ { value = qTask.OrderID, cfsqltype = "cf_sql_integer" } ], { datasource = "payfrit" })>
|
||||
<cfif isCashTask>
|
||||
<!--- Cash task: Set to status 1 (Submitted/Paid) to trigger kitchen flow --->
|
||||
<!--- Kitchen will then move to 2, then 3 (which creates delivery task) --->
|
||||
<cfset queryTimed("
|
||||
UPDATE Orders
|
||||
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>
|
||||
</cfif>
|
||||
|
||||
|
|
|
|||
Reference in a new issue