mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-03-06 02:51:34 +00:00
complete order immediately before adding payment
This commit is contained in:
@@ -25,7 +25,7 @@ module Spree
|
||||
@order.associate_user!(Spree.user_class.find_by(email: @order.email))
|
||||
end
|
||||
|
||||
OrderWorkflow.new(@order).complete
|
||||
OrderWorkflow.new(@order).advance_to_payment
|
||||
|
||||
@order.shipments.map(&:refresh_rates)
|
||||
flash[:success] = Spree.t('customer_details_updated')
|
||||
|
||||
@@ -35,15 +35,16 @@ module Spree
|
||||
return
|
||||
end
|
||||
|
||||
authorize_stripe_sca_payment
|
||||
|
||||
if @order.completed?
|
||||
@payment.process!
|
||||
authorize_stripe_sca_payment
|
||||
@payment.process_offline!
|
||||
flash[:success] = flash_message_for(@payment, :successfully_created)
|
||||
|
||||
redirect_to spree.admin_order_payments_path(@order)
|
||||
else
|
||||
OrderWorkflow.new(@order).complete!
|
||||
authorize_stripe_sca_payment
|
||||
@payment.process_offline!
|
||||
|
||||
flash[:success] = Spree.t(:new_order_completed)
|
||||
redirect_to spree.edit_admin_order_url(@order)
|
||||
|
||||
@@ -67,12 +67,6 @@ module Spree
|
||||
transition to: :cart, unless: :completed?
|
||||
end
|
||||
|
||||
if states[:payment]
|
||||
before_transition to: :complete do |order|
|
||||
order.process_payments! if order.payment_required?
|
||||
end
|
||||
end
|
||||
|
||||
before_transition from: :cart, do: :ensure_line_items_present
|
||||
|
||||
before_transition to: :delivery, do: :create_proposed_shipments
|
||||
|
||||
@@ -23,6 +23,14 @@ class OrderWorkflow
|
||||
result
|
||||
end
|
||||
|
||||
def advance_to_payment
|
||||
until order.state == "payment"
|
||||
break unless order.next
|
||||
|
||||
after_transition_hook(advance_order_options)
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def advance_order_options
|
||||
|
||||
Reference in New Issue
Block a user