class Spree::UserSessionsController

Public Instance Methods

create() click to toggle source
# File lib/controllers/frontend/spree/user_sessions_controller.rb, line 15
def create
  authenticate_spree_user!

  if spree_user_signed_in?
    respond_to do |format|
      format.html do
        flash[:success] = I18n.t('spree.logged_in_succesfully')
        redirect_back_or_default(after_sign_in_path_for(spree_current_user))
      end
      format.js { render success_json }
    end
  else
    respond_to do |format|
      format.html do
        flash.now[:error] = t('devise.failure.invalid')
        render :new
      end
      format.js do
        render json: { error: t('devise.failure.invalid') },
          status: :unprocessable_entity
      end
    end
  end
end

Protected Instance Methods

translation_scope() click to toggle source
# File lib/controllers/frontend/spree/user_sessions_controller.rb, line 42
def translation_scope
  'devise.user_sessions'
end

Private Instance Methods

accurate_title() click to toggle source
# File lib/controllers/frontend/spree/user_sessions_controller.rb, line 48
def accurate_title
  I18n.t('spree.login')
end
redirect_back_or_default(default) click to toggle source
# File lib/controllers/frontend/spree/user_sessions_controller.rb, line 52
def redirect_back_or_default(default)
  redirect_to(session["spree_user_return_to"] || default)
  session["spree_user_return_to"] = nil
end
success_json() click to toggle source
# File lib/controllers/frontend/spree/user_sessions_controller.rb, line 57
def success_json
  {
    json: {
      user: spree_current_user,
      ship_address: spree_current_user.ship_address,
      bill_address: spree_current_user.bill_address
    }.to_json
  }
end