Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ApplicationController < ActionController::Base
- helper :all # include all helpers, all the time
- protect_from_forgery # See ActionController::RequestForgeryProtection for details
- #helper_method :current_user, :current_user_session
- # Scrub sensitive parameters from your log
- filter_parameter_logging :password
- rescue_from CanCan::AccessDenied do |exception|
- flash[:error] = "Access denied."
- redirect_to signup_path
- end
- 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.user
- 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
- private
- def require_login
- login_as_trial_user unless current_user_session
- end
- def login_as_trial_user
- name = "anonymous_#{session[:session_id]}"
- if User.find_by_username(name)
- UserSession.create(User.find_by_username(name),true)
- else
- guest_role = User.create(:username => name, :password => name, :password_confirmation => name, :role => "guest", :email => "change@this.com")
- UserSession.create(guest_role, true)
- end
- @current_user_session = UserSession.find
- guest_role
- end
- end
Add Comment
Please, Sign In to add comment