diff --git a/app/controllers/split_checkout_controller.rb b/app/controllers/split_checkout_controller.rb index 6ff7c24188..25775745f0 100644 --- a/app/controllers/split_checkout_controller.rb +++ b/app/controllers/split_checkout_controller.rb @@ -53,7 +53,8 @@ class SplitCheckoutController < ::BaseController @order.select_shipping_method(params[:shipping_method_id]) @order.update(order_params) - send("validate_#{params[:step]}!") + + validate_current_step! @order.errors.empty? end @@ -68,6 +69,11 @@ class SplitCheckoutController < ::BaseController OrderWorkflow.new(@order).advance_checkout(raw_params.slice(:shipping_method_id)) end + def validate_current_step! + step = params[:step].tap{ |step| ["details", "payment", "summary"].include? step } + send("validate_#{step}!") + end + def validate_details! return true if params[:shipping_method_id].present?