Sha256: 5427bb9dfcec0e77dc698200f22e6657c7cfd54a688ad4e71b4fc49a2c341bb5

Contents?: true

Size: 1.13 KB

Versions: 3

Compression:

Stored size: 1.13 KB

Contents

class UserSessionsController < ApplicationController

  access_control do
    allow logged_in, :except => :new
    allow anonymous, :to => [:new, :create]
  end

  def new
    @user_session = UserSession.new
  end

  def create
    user_session_plan = params[:user_session]
    if /@/ =~ user_session_plan['username']
      #we have email address instead of username
      user = User.find_by_email(user_session_plan['username'])
      user_session_plan['username'] = user.username unless user.nil?
    end

    @user_session = UserSession.new(user_session_plan)
    if @user_session.save
      flash[:notice] = t :login_successful_flash
      redirect_to_forwarding_url
    else
      render :action => 'new'
    end
  end

  def destroy
    @user_session = UserSession.find
    @user_session.destroy
    flash[:notice] = t :logout_successful_flash
    redirect_to login_url
  end

  private

  # Redirect to the previously requested URL (if present).
  def redirect_to_forwarding_url
    if (redirect_url = session[:protected_page])
      session[:protected_page] = nil
      redirect_to redirect_url
    else
      redirect_to root_url
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
solarsearch-0.0.10 app/controllers/user_sessions_controller.rb
solarsearch-0.0.9 app/controllers/user_sessions_controller.rb
solarsearch-0.0.6 app/controllers/user_sessions_controller.rb