Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 8th, 2012  |  syntax: None  |  size: 1.47 KB  |  hits: 8  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. class ApplicationController < ActionController::Base
  2.   after_filter :discard_flash_if_xhr
  3.   before_filter :require_user
  4.   helper :all # include all helpers, all the time
  5.   protect_from_forgery # See ActionController::RequestForgeryProtection for details
  6.  
  7.   # Scrub sensitive parameters from your log
  8.   #filter_parameter_logging :password
  9.  
  10.   #before_filter :require_user
  11.   helper_method :current_user_session, :current_user, :current_company
  12.  
  13.   private
  14.  
  15.   def current_user_session
  16.     return @current_user_session if defined?(@current_user_session)
  17.     @current_user_session = UserSession.find
  18.   end
  19.  
  20.   def current_user
  21.     return @current_user if defined?(@current_user)
  22.      if session.include?('user_credentials_id')
  23.        @current_user = User.find(session['user_credentials_id'])
  24.      else
  25.        @current_user = @current_user_session && @current_user_session.user
  26.      end
  27.   end
  28.  
  29.   def current_company
  30.     return @current_user.company if defined?(@current_user)
  31.     @current_company = current_user.company
  32.   end
  33.  
  34.   def require_user
  35.     unless current_user
  36.       store_location
  37.       redirect_to root_path
  38.       return false
  39.     end
  40.   end
  41.  
  42.   def require_no_user
  43.     if current_user
  44.       store_location
  45.       redirect_to root_path
  46.       return false
  47.     end
  48.   end
  49.  
  50.   def store_location
  51.     session[:return_to] = request.request_uri
  52.   end
  53.  
  54.   protected
  55.   def discard_flash_if_xhr
  56.     flash.discard if request.xhr?
  57.   end
  58. end