Module: UcbRails::ControllerMethods
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/controllers/ucb_rails/controller_methods.rb
Overview
Various controller methods mixed in to the host app.
Most are also helper methods.
Instance Method Summary collapse
- #admin? ⇒ Boolean
-
#current_ldap_person ⇒ UCB::LDAP::Person?
Returns an instance of UCB::LDAP::Person if there is a logged in user.
- #current_user ⇒ Object
- #ensure_admin_user ⇒ Object
-
#ensure_authenticated_user ⇒ nil
Before filter that redirects redirects to
login_url
unless user is logged in. - #log_request ⇒ Object
-
#logged_in? ⇒ true, false
Returns
true
if there is a logged in user. - #remove_user_settings ⇒ Object
- #user_session_manager ⇒ Object
Instance Method Details
#admin? ⇒ Boolean
20 21 22 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 20 def admin? current_user.try(:admin?) end |
#current_ldap_person ⇒ UCB::LDAP::Person?
Returns an instance of UCB::LDAP::Person if there is a logged in user
52 53 54 55 56 57 58 59 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 52 def current_ldap_person if logged_in? @current_ldap_person ||= begin UcbRails.logger.debug 'recalc of current_ldap_person' user_session_manager.people_ou_entry(session[:uid]) end end end |
#current_user ⇒ Object
24 25 26 27 28 29 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 24 def current_user @current_user ||= begin UcbRails.logger.debug 'recalc of current_user' user_session_manager.current_user(session[:uid]) end end |
#ensure_admin_user ⇒ Object
61 62 63 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 61 def ensure_admin_user admin? or redirect_to end |
#ensure_authenticated_user ⇒ nil
Before filter that redirects redirects to login_url
unless user is logged in
68 69 70 71 72 73 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 68 def ensure_authenticated_user unless session.has_key?(:uid) session[:original_url] = request.env['REQUEST_URI'] redirect_to login_url end end |
#log_request ⇒ Object
39 40 41 42 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 39 def log_request UcbRails::UserSessionManager::Base.current_user = current_user user_session_manager.log_request(current_user) end |
#logged_in? ⇒ true, false
Returns true
if there is a logged in user
35 36 37 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 35 def logged_in? current_user.present? end |
#remove_user_settings ⇒ Object
44 45 46 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 44 def remove_user_settings UcbRails::UserSessionManager::Base.current_user = nil end |
#user_session_manager ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'app/controllers/ucb_rails/controller_methods.rb', line 75 def user_session_manager @user_session_manager ||= begin UcbRails.logger.debug "creating new user_session_manager" klass = UcbRails[:user_session_manager] || UcbRails::UserSessionManager::ActiveInUserTable klass.to_s.classify.constantize.new end rescue NameError raise "Could not find UcbRails user_session_manager: #{klass}" end |