Sha256: cade2a4aeaa67fdaa28fdf39c4d300996f9dbed6e1b6bb34b04ef3e36732c4e3

Contents?: true

Size: 1.05 KB

Versions: 2

Compression:

Stored size: 1.05 KB

Contents

class RailsAuthWeb::LoginController < RailsAuthWeb::BaseController
  before_action :set_user, only: [:create]

  def new
    store_location request.referer if request.referer.present?
    @remote = true if params[:form_id]

    respond_to do |format|
      format.html.phone
      format.html
    end
  end

  def create
    if @user && @user.can_login?(params)
      login_as @user

      respond_to do |format|
        format.html { redirect_back_or_default }
        format.js
      end
    else
      if @user
        flash[:error] = @user.errors.messages.values.flatten.join(' ')
      else
        flash[:error] = 'Incorrect email or password.'
      end

      respond_to do |format|
        format.html { redirect_back fallback_location: login_url }
        format.js { render :new }
      end
    end

  end

  def destroy
    logout
    redirect_to root_url
  end

  private
  def set_user
    if params[:account].include?('@')
      @user = User.find_by(email: params[:account])
    else
      @user = User.find_by(mobile: params[:account])
    end
  end

end


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rails_auth-1.0.5 app/controllers/rails_auth_web/login_controller.rb
rails_auth-1.0.4 app/controllers/the_auth_web/login_controller.rb