Sha256: 55460c2c37be4a0b0ea73c03c797ef38015e29ba3354d211e7d7344b3979382b

Contents?: true

Size: 953 Bytes

Versions: 2

Compression:

Stored size: 953 Bytes

Contents

class SessionsController < ApplicationController

  def new
    set_target_page
    redirect_to root_path if current_user
  end

  def create
    set_target_page
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
      if params[:remember_me]
        cookies.permanent[:auth_token] = user.auth_token
      else
        cookies[:auth_token] = user.auth_token
      end
      redirect_to (session[:target_page] || safe_root_url), notice: t('authentication.login_confirmation')
      session[:target_page] = nil
    else
      flash.now.alert = t('authentication.warning.email_or_password_invalid')
      render "new"
    end
  end

  def destroy
    cookies.delete(:auth_token)
    redirect_to safe_root_url, notice: t('authentication.logout_confirmation')
  end

  private

  def set_target_page
    session[:target_page] = request.referer unless session[:target_page] # && !request.referer.nil?
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tkh_authentication-0.1.10 app/controllers/sessions_controller.rb
tkh_authentication-0.1.9 app/controllers/sessions_controller.rb