Sha256: c0d6b67bae8ce3ab4e72629a71aaa5565be2fbe0e43e34c58dee74c800fc1d86

Contents?: true

Size: 870 Bytes

Versions: 9

Compression:

Stored size: 870 Bytes

Contents

class SessionsController < ApplicationController
  before_filter :destroy_session, except: :create

  unloadable

  # GET /login
  # GET /sign-in
  def new
    @session = Challah::Session.new(request)
  end

  # POST /login
  # POST /sign-in
  def create
    @session = Challah::Session.new(request, params[:session])
    @session.ip = request.remote_ip

    if @session.save
      redirect_to return_to_path
    else
      redirect_to signin_path, alert: I18n.translate('sessions.create.failed_login')
    end
  end

  # GET /logout
  # GET /sign-out
  def destroy
    redirect_to signin_path
  end

  protected
    def destroy_session
      current_user_session.destroy
    end

    def return_to_path(default_path = '/')
      result = session[:return_to]
      result = nil if result and result == "http://#{request.domain}/"
      result || default_path
    end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
challah-1.0.0 app/controllers/sessions_controller.rb
challah-1.0.0.beta3 app/controllers/sessions_controller.rb
challah-1.0.0.beta2 app/controllers/sessions_controller.rb
challah-1.0.0.beta app/controllers/sessions_controller.rb
challah-0.9.1.beta.3 app/controllers/sessions_controller.rb
challah-0.9.1.beta.2 app/controllers/sessions_controller.rb
challah-0.9.1.beta app/controllers/sessions_controller.rb
challah-0.9.0 app/controllers/sessions_controller.rb
challah-0.9.0.pre app/controllers/sessions_controller.rb