Sha256: 80b14aae048aa678ff1718fb003362579ba1f4b15a53e21b152d71ac9050f1b6

Contents?: true

Size: 601 Bytes

Versions: 10

Compression:

Stored size: 601 Bytes

Contents

# Merges users orders to their account after sign in and sign up.
Warden::Manager.after_set_user except: :fetch do |user, auth, _opts|
  token = auth.cookies.signed[:guest_token] || auth.cookies.signed[:token]
  token_attr = Spree::Order.has_attribute?(:token) ? :token : :guest_token

  if token.present? && user.is_a?(Spree.user_class)
    Spree::Order.incomplete.where(token_attr => token, user_id: nil).each do |order|
      order.associate_user!(user)
    end
  end
end 

Warden::Manager.before_logout do |_user, auth, _opts|
  auth.cookies.delete(:guest_token)
  auth.cookies.delete(:token)
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spree_auth_devise-4.6.3 config/initializers/warden.rb
spree_auth_devise-4.6.2 config/initializers/warden.rb
spree_auth_devise-4.6.1 config/initializers/warden.rb
spree_auth_devise-4.6.0 config/initializers/warden.rb
spree_auth_devise-4.5.0 config/initializers/warden.rb
spree_auth_devise-4.4.2 config/initializers/warden.rb
spree_auth_devise-4.4.1 config/initializers/warden.rb
spree_auth_devise-4.4.0 config/initializers/warden.rb
spree_auth_devise-4.3.4 config/initializers/warden.rb
spree_auth_devise-4.3.3 config/initializers/warden.rb