Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Filters added to this controller apply to all controllers in the application.
- # Likewise, all the methods added will be available for all controllers.
- class ApplicationController < ActionController::Base
- helper :all
- helper_method :current_user_session, :current_user, :is_admin, :is_org_admin
- filter_parameter_logging :password, :password_confirmation
- private
- def current_user_session
- return @current_user_session if defined?(@current_user_session)
- @current_user_session = UserSession.find
- end
- def current_user
- return @current_user if defined?(@current_user)
- @current_user = current_user_session && current_user_session.record
- end
- def is_admin
- if current_user.roles.find(:first, :conditions => { :id => 1 })
- return true
- else
- return false
- end
- end
- def is_org_admin
- if current_user.roles.find(:first, :conditions => { :id => 2 })
- return true
- elsif
- current_user.roles.find(:first, :conditions => { :id => 1 })
- return true
- else
- return false
- end
- end
- def require_admin
- unless current_user.roles.find(:first, :conditions => { :id => 1 })
- redirect_to account_url
- return false
- end
- end
- def require_org_admin
- unless current_user.roles.find(:first, :conditions => { :id => 2 }) || current_user.roles.find(:first, :conditions => { :id => 1 })
- redirect_to account_url
- return false
- end
- end
- def require_user
- unless current_user
- store_location
- flash[:notice] = "You must be logged in to access this page"
- redirect_to new_user_session_url
- return false
- end
- end
- def require_no_user
- if current_user
- store_location
- flash[:notice] = "You must be logged out to access this page"
- redirect_to account_url
- return false
- end
- end
- def store_location
- session[:return_to] = request.request_uri
- end
- def redirect_back_or_default(default)
- redirect_to(session[:return_to] || default)
- session[:return_to] = nil
- end
- end
Add Comment
Please, Sign In to add comment