select shipping method when advancing to payment

This commit is contained in:
Andy Brett
2021-08-27 13:25:53 -07:00
committed by Jean-Baptiste Bellet
parent a1438f91e9
commit fba7699d0b
2 changed files with 7 additions and 3 deletions

View File

@@ -108,6 +108,7 @@ class SplitCheckoutController < ::BaseController
def confirm_order
return unless @order.confirmation? && params[:confirm_order]
if params["accept_terms"] != "1"
@order.errors.add(:base, "terms_not_accepted")
return false
@@ -123,12 +124,12 @@ class SplitCheckoutController < ::BaseController
end
def advance_order_state
return if @order.complete?
return true if @order.complete?
workflow_options = raw_params.slice(:shipping_method_id)
if @order.payments.empty?
OrderWorkflow.new(@order).advance_to_payment
OrderWorkflow.new(@order).advance_to_payment(workflow_options)
else
OrderWorkflow.new(@order).advance_to_confirmation(workflow_options)
end

View File

@@ -23,7 +23,10 @@ class OrderWorkflow
result
end
def advance_to_payment
def advance_to_payment(options = {})
if options[:shipping_method_id]
order.select_shipping_method(options[:shipping_method_id])
end
advance_to_state("payment", advance_order_options)
end