Module: Spree::Core::ControllerHelpers::Order
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/spree/core/controller_helpers/order.rb
Instance Method Summary collapse
- #associate_user ⇒ Object
-
#current_order(options = {}) ⇒ Object
The current incomplete order from the token for use in cart and during checkout.
- #ip_address ⇒ Object
- #set_current_order ⇒ Object
-
#simple_current_order ⇒ Object
Used in the link_to_cart helper.
Instance Method Details
#associate_user ⇒ Object
49 50 51 52 53 54 |
# File 'lib/spree/core/controller_helpers/order.rb', line 49 def associate_user @order ||= current_order if try_spree_current_user && @order @order.associate_user!(try_spree_current_user) if @order.user.blank? || @order.email.blank? end end |
#current_order(options = {}) ⇒ Object
The current incomplete order from the token for use in cart and during checkout
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/spree/core/controller_helpers/order.rb', line 29 def current_order( = {}) [:create_order_if_necessary] ||= false [:includes] ||= true if @current_order @current_order.last_ip_address = ip_address return @current_order end @current_order = find_order_by_token_or_user(, true) if [:create_order_if_necessary] && (@current_order.nil? || @current_order.completed?) @current_order = current_store.orders.create!(current_order_params) @current_order.associate_user! try_spree_current_user if try_spree_current_user @current_order.last_ip_address = ip_address end @current_order end |
#ip_address ⇒ Object
69 70 71 |
# File 'lib/spree/core/controller_helpers/order.rb', line 69 def ip_address request.remote_ip end |
#set_current_order ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/spree/core/controller_helpers/order.rb', line 56 def set_current_order return unless try_spree_current_user && current_order orders_scope = try_spree_current_user.orders. incomplete. where.not(id: current_order.id). where(store_id: current_store.id) orders_scope.each do |order| current_order.merge!(order, try_spree_current_user) end end |
#simple_current_order ⇒ Object
Used in the link_to_cart helper.
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/spree/core/controller_helpers/order.rb', line 15 def simple_current_order return @simple_current_order if @simple_current_order @simple_current_order = find_order_by_token_or_user if @simple_current_order @simple_current_order.last_ip_address = ip_address return @simple_current_order else @simple_current_order = current_store.orders.new end end |