mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Remove unreachable order recovery code
Every page load creates a cart order if none is present. So when a user logs in, they always have an order stored in their session. And therefore, we never got to recover an old order. We could have fixed the code to restore old orders. But as far as I can tell, order recovery hasn't been working for years and I couldn't find any issue requesting this feature. If we wanted to implement order recovery, it should probably be designed more carefully and included in the `current_order` method.
This commit is contained in:
@@ -68,18 +68,9 @@ module Spree
|
||||
session[:guest_token] = nil
|
||||
end
|
||||
|
||||
# Recover incomplete orders from other sessions after logging in.
|
||||
# Load current order and create a new one if necessary.
|
||||
def set_current_order
|
||||
return unless (user = spree_current_user)
|
||||
|
||||
last_incomplete_order = user.last_incomplete_spree_order
|
||||
|
||||
if session[:order_id].nil? && last_incomplete_order
|
||||
session[:order_id] = last_incomplete_order.id
|
||||
end
|
||||
|
||||
# Load current order and create a new one if necessary.
|
||||
current_order(true)
|
||||
current_order(true) if spree_current_user
|
||||
end
|
||||
|
||||
def current_currency
|
||||
|
||||
@@ -28,17 +28,6 @@ describe BaseController, type: :controller do
|
||||
expect(user.orders.count).to eq 1
|
||||
end
|
||||
|
||||
it "uses the last incomplete order" do
|
||||
last_cart = create(:order, user: user, created_by: user, state: "cart", completed_at: nil)
|
||||
allow(controller).to receive(:spree_current_user).and_return(user)
|
||||
|
||||
expect {
|
||||
get :index
|
||||
}.to_not change { Spree::Order.count }
|
||||
|
||||
expect(session[:order_id]).to eq last_cart.id
|
||||
end
|
||||
|
||||
it "ignores the last incomplete order" do
|
||||
# Spree used to merge the last order with the current one.
|
||||
# And we used to override that logic to delete old incomplete orders.
|
||||
|
||||
Reference in New Issue
Block a user