summaryrefslogtreecommitdiff
path: root/app/controllers/admin/application_controller.rb
blob: 9083bfb41cfdb494dcba62e0bb6ec25186dbdfbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Provides a base class for Admin controllers to subclass
#
# Automatically sets the layout and ensures an administrator is logged in
class Admin::ApplicationController < ApplicationController
  before_action :authenticate_admin!
  layout 'admin'

  def authenticate_admin!
    return render_404 unless current_user.is_admin?
  end

  def authorize_impersonator!
    if session[:impersonator_id]
      User.find_by!(username: session[:impersonator_id]).admin?
    end
  end
end