You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
676 B
30 lines
676 B
class ApplicationController < ActionController::Base
|
|
def current_user
|
|
@current_user ||= User.find(session[:user_id]) if session[:user_id]
|
|
end
|
|
helper_method :current_user
|
|
|
|
def current_user?(user)
|
|
current_user == user
|
|
end
|
|
helper_method :current_user?
|
|
|
|
def require_signin
|
|
unless current_user
|
|
session[:intended_url] = request.url
|
|
redirect_to new_session_url, alert: "Please sign in first!"
|
|
end
|
|
end
|
|
|
|
def current_user_admin?
|
|
current_user && current_user.admin?
|
|
end
|
|
helper_method :current_user_admin?
|
|
|
|
def require_admin
|
|
unless current_user_admin?
|
|
redirect_to root_url, alert: "Unauthorized access!"
|
|
end
|
|
end
|
|
end
|