mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-30 21:27:17 +00:00
WIP; only advance order to delivery state
Use the hidden_field_tag rails helper and move it
This commit is contained in:
@@ -46,7 +46,7 @@ class CheckoutController < ::BaseController
|
||||
params_adapter = Checkout::FormDataAdapter.new(permitted_params, @order, spree_current_user)
|
||||
return action_failed unless @order.update(params_adapter.params[:order] || {})
|
||||
|
||||
checkout_workflow(params_adapter.shipping_method_id)
|
||||
checkout_workflow(params_adapter.shipping_method_id, params[:advance_to_state])
|
||||
rescue Spree::Core::GatewayError => e
|
||||
rescue_from_spree_gateway_error(e)
|
||||
rescue StandardError => e
|
||||
@@ -167,8 +167,8 @@ class CheckoutController < ::BaseController
|
||||
end
|
||||
end
|
||||
|
||||
def checkout_workflow(shipping_method_id)
|
||||
while @order.state != "complete"
|
||||
def checkout_workflow(shipping_method_id, advance_to_state = "complete")
|
||||
while @order.state != advance_to_state
|
||||
if @order.state == "payment"
|
||||
return if redirect_to_payment_gateway
|
||||
|
||||
|
||||
@@ -1,3 +1,26 @@
|
||||
class SplitCheckoutController < CheckoutController
|
||||
def update
|
||||
byebug
|
||||
params_adapter = Checkout::FormDataAdapter.new(permitted_params, @order, spree_current_user)
|
||||
return action_failed unless @order.update(params_adapter.params[:order] || {})
|
||||
|
||||
checkout_workflow(params_adapter.shipping_method_id, params[:advance_to_state] || "delivery")
|
||||
rescue Spree::Core::GatewayError => e
|
||||
byebug
|
||||
rescue_from_spree_gateway_error(e)
|
||||
rescue StandardError => e
|
||||
byebug
|
||||
flash[:error] = I18n.t("checkout.failed")
|
||||
action_failed(e)
|
||||
ensure
|
||||
@order.update_order!
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def redirect_to_payment_gateway
|
||||
return unless params&.dig(:order)&.dig(:payments_attributes)&.first&.dig(:payments_attributes)
|
||||
|
||||
super
|
||||
end
|
||||
end
|
||||
|
||||
@@ -145,7 +145,7 @@ module Spree
|
||||
adjustment.originator = payment_method
|
||||
adjustment.label = adjustment_label
|
||||
adjustment.save
|
||||
else
|
||||
elsif payment_method.present?
|
||||
payment_method.create_adjustment(adjustment_label, self, true)
|
||||
adjustment.reload
|
||||
end
|
||||
|
||||
@@ -7,4 +7,5 @@
|
||||
|
||||
%div.checkout-step.medium-6
|
||||
- if true ## test step
|
||||
= hidden_field_tag "advance_to_state", "delivery"
|
||||
= render "split_checkout/your_details", f: f
|
||||
|
||||
Reference in New Issue
Block a user