mirror of
https://github.com/wahyd4/ocelots.git
synced 2026-08-23 20:06:11 +10:00
32 lines
707 B
Ruby
32 lines
707 B
Ruby
class ApplicationController < ActionController::Base
|
|
protect_from_forgery
|
|
|
|
before_filter :require_login
|
|
|
|
def require_login
|
|
redirect_to root_url unless logged_in?
|
|
end
|
|
|
|
def logged_in?
|
|
!!current_user
|
|
end
|
|
|
|
def current_user
|
|
return nil unless session[:email]
|
|
@current_user = session[:email]
|
|
if params[:override] && omnipotent?(@current_user)
|
|
@current_user = session[:email] = params[:override]
|
|
end
|
|
@current_user
|
|
end
|
|
|
|
def current_person
|
|
@person = Person.find_by_email @current_user
|
|
@person = Person.create email: @current_user unless @person
|
|
@person
|
|
end
|
|
|
|
def omnipotent? user
|
|
(ENV['OMNIPOTENT_USERS'] || '').split(',').include? user
|
|
end
|
|
end |