Sha256: 70942e00d8c61076c3b893d54c3c933f5c287de2e4f1534245be63e9fb780aa7

Contents?: true

Size: 1.3 KB

Versions: 5

Compression:

Stored size: 1.3 KB

Contents

module ErpTechSvcs
  class SessionController < ActionController::Base
    def create
      last_login_at = nil
      potential_user = User.where('username = ? or email = ?', params[:login], params[:login]).first
      last_login_at = potential_user.last_login_at unless potential_user.nil?
        if login(params[:login],params[:password])
          #log when someone logs in
          ErpTechSvcs::ErpTechSvcsAuditLog.successful_login(current_user)

          login_to = last_login_at.nil? ? params[:first_login_to] : params[:login_to]
          login_to = login_to || params[:login_to]
          request.xhr? ? (render :json => {:success => true, :login_to => login_to}) : (redirect_to login_to)
        else
          message = "Login failed. Try again"
          flash[:notice] = message
          request.xhr? ? (render :json => {:success => false, :errors => {:reason => message}}) : (render :text => message)
        end
    end

    def destroy
      logged_out_user = current_user
      logout

      #log when someone logs out
      ErpTechSvcs::ErpTechSvcsAuditLog.successful_logout(logged_out_user)

      login_url = params[:login_url].blank? ? ErpTechSvcs::Config.login_url : params[:login_url]
      redirect_to login_url, :notice => "You have successfully logged out."
    end
  end#SessionsController
end#ErpTechSvcs

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
erp_tech_svcs-3.0.8 app/controllers/erp_tech_svcs/session_controller.rb
erp_tech_svcs-3.0.7 app/controllers/erp_tech_svcs/session_controller.rb
erp_tech_svcs-3.0.6 app/controllers/erp_tech_svcs/session_controller.rb
erp_tech_svcs-3.0.5 app/controllers/erp_tech_svcs/session_controller.rb
erp_tech_svcs-3.0.4 app/controllers/erp_tech_svcs/session_controller.rb