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_currency ⇒ Object
-
#current_order(options = {}) ⇒ Object
The current incomplete order from the guest_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
51 52 53 54 55 56 |
# File 'lib/spree/core/controller_helpers/order.rb', line 51 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_currency ⇒ Object
68 69 70 |
# File 'lib/spree/core/controller_helpers/order.rb', line 68 def current_currency Spree::Config[:currency] end |
#current_order(options = {}) ⇒ Object
The current incomplete order from the guest_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 48 49 |
# File 'lib/spree/core/controller_helpers/order.rb', line 29 def current_order( = {}) [:create_order_if_necessary] ||= false [:lock] ||= false return @current_order if @current_order @current_order = find_order_by_token_or_user() if [:create_order_if_necessary] && (@current_order.nil? || @current_order.completed?) @current_order = Spree::Order.new(current_order_params) @current_order.user ||= try_spree_current_user # See issue #3346 for reasons why this line is here @current_order.created_by ||= try_spree_current_user @current_order.save! end if @current_order @current_order.last_ip_address = ip_address return @current_order end end |
#ip_address ⇒ Object
72 73 74 |
# File 'lib/spree/core/controller_helpers/order.rb', line 72 def ip_address request.remote_ip end |
#set_current_order ⇒ Object
58 59 60 61 62 63 64 65 66 |
# File 'lib/spree/core/controller_helpers/order.rb', line 58 def set_current_order if user = try_spree_current_user if .signed[:guest_token].nil? && last_incomplete_order .permanent.signed[:guest_token] = last_incomplete_order.guest_token elsif current_order && last_incomplete_order && current_order != last_incomplete_order current_order.merge!(last_incomplete_order, user) end end end |
#simple_current_order ⇒ Object
Used in the link_to_cart helper.
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/spree/core/controller_helpers/order.rb', line 16 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 end end |