Sha256: 9ff2456f836119f9a17edd926e9667e22232c935a5543bfe64ad2a9fd64e9cad

Contents?: true

Size: 1.21 KB

Versions: 60

Compression:

Stored size: 1.21 KB

Contents

module Caboose
  class LoginController < Caboose::ApplicationController
    layout 'caboose/modal'
    
    # GET /login
    def index
      @return_url = params[:return_url].nil? ? "/" : params[:return_url]
      @modal = params[:modal].nil? ? false : params[:modal]
      redirect_to @return_url if logged_in?
    end
    
    # POST /login
    def login
      resp = StdClass.new('error' => '', 'redirect' => '')
      return_url = params[:return_url].nil? ? "/" : params[:return_url]
      
      if (logged_in?)
        resp.redirect = return_url
      else
        username = params[:username]
        password = params[:password]
                           
        if (username.nil? || password.nil? || password.strip.length == 0)
          resp.error = "Invalid credentials"
        else
          
          bouncer_class = Caboose::authenticator_class.constantize
          bouncer = bouncer_class.new
          user = bouncer.authenticate(username, password)
          
          if (user.nil? || user == false)
            resp.error = "Invalid credentials"
          else
            login_user(user)
            resp.redirect = return_url
          end
        end
      end
      render :json => resp
    end
  end
end

Version data entries

60 entries across 60 versions & 1 rubygems

Version Path
caboose-cms-0.2.90 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.89 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.88 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.87 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.86 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.85 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.84 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.83 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.82 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.81 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.80 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.79 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.78 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.71 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.70 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.68 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.67 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.66 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.65 app/controllers/caboose/login_controller.rb
caboose-cms-0.2.64 app/controllers/caboose/login_controller.rb