Sha256: 6fa806cc5d36087174af8ea281e060913575bfa8f5fb8362fe14a745b5c39f5c

Contents?: true

Size: 856 Bytes

Versions: 2

Compression:

Stored size: 856 Bytes

Contents

class Admin::SessionController < Admin::BaseController

  skip_before_filter :reload_config_and_roles
  skip_before_filter :authenticate
  skip_before_filter :set_locale

  before_filter :create_an_account?, :only => [:new, :create]

  def new
  end

  def create
    user = Typus.user_class.authenticate(params[:typus_user][:email], params[:typus_user][:password])

    path = if user
             session[:typus_user_id] = user.id
             params[:back_to] || admin_dashboard_path
           else
             new_admin_session_path(:back_to => params[:back_to])
           end

    redirect_to path
  end

  def destroy
    session[:typus_user_id] = nil
    I18n.locale = I18n.default_locale
    redirect_to :action => :new
  end

  private

  def create_an_account?
    redirect_to new_admin_account_path if Typus.user_class.count.zero?
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
typus-3.0.8 app/controllers/admin/session_controller.rb
typus-3.0.7 app/controllers/admin/session_controller.rb