mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Tweaking proxy order state logic
Inherits 'paused' state from standing order if present
This commit is contained in:
@@ -12,10 +12,9 @@ class ProxyOrder < ActiveRecord::Base
|
||||
def state
|
||||
return 'canceled' if canceled?
|
||||
if !order || order_cycle.orders_open_at > Time.now
|
||||
'pending'
|
||||
elsif order_cycle.orders_close_at > Time.now
|
||||
'cart'
|
||||
standing_order.paused? ? 'paused' : 'pending'
|
||||
else
|
||||
return 'cart' if placed_and_open?
|
||||
order.state
|
||||
end
|
||||
end
|
||||
@@ -62,4 +61,11 @@ class ProxyOrder < ActiveRecord::Base
|
||||
save!
|
||||
order
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def placed_and_open?
|
||||
order.andand.state == 'complete' &&
|
||||
order_cycle.orders_close_at > Time.now
|
||||
end
|
||||
end
|
||||
|
||||
@@ -38,9 +38,17 @@ class StandingOrder < ActiveRecord::Base
|
||||
end
|
||||
end
|
||||
|
||||
def canceled?
|
||||
canceled_at.present?
|
||||
end
|
||||
|
||||
def paused?
|
||||
paused_at.present?
|
||||
end
|
||||
|
||||
def state
|
||||
return 'canceled' if canceled_at
|
||||
return 'paused' if paused_at
|
||||
return 'canceled' if canceled?
|
||||
return 'paused' if paused?
|
||||
return nil unless begins_at
|
||||
if begins_at > Time.zone.now
|
||||
'pending'
|
||||
|
||||
@@ -2427,6 +2427,7 @@ See the %{link} to find out more about %{sitename}'s features and to start using
|
||||
complete: complete
|
||||
confirm: confirm
|
||||
delivery: delivery
|
||||
paused: paused
|
||||
payment: payment
|
||||
pending: pending
|
||||
resumed: resumed
|
||||
|
||||
Reference in New Issue
Block a user