Handle order confirmation

This commit is contained in:
Matt-Yorkley
2021-08-11 17:22:24 +01:00
parent ffc3736f4b
commit 4916f823aa

View File

@@ -47,9 +47,8 @@ class SplitCheckoutController < ::BaseController
end
def update
if @order.update(order_params)
OrderWorkflow.new(@order).advance_to_confirmation
if confirm_order || update_order
advance_order_state
redirect_to_step
else
flash[:error] = "Saving failed, please update the highlighted fields"
@@ -67,6 +66,24 @@ class SplitCheckoutController < ::BaseController
private
def confirm_order
return unless @order.confirmation? && params[:confirm_order]
@order.confirm!
end
def update_order
return unless params[:order]
@order.update(order_params)
end
def advance_order_state
return if @order.confirmation? || @order.complete?
OrderWorkflow.new(@order).advance_to_confirmation
end
def checkout_step
@checkout_step ||= params[:step]
end