Sha256: 085e40640af77aa8b451f3fd4710c91176ab8ab56079437ee1a2f3d78fa1e8d9

Contents?: true

Size: 1.67 KB

Versions: 3

Compression:

Stored size: 1.67 KB

Contents

class Admin::ApplicationController < Spud::ApplicationController

  before_action :require_admin_user
  before_action :verify_site_mode
  add_breadcrumb "Dashboard", :admin_root_path
  layout 'admin/detail'
  respond_to :html, :json, :xml, :js
  unloadable

  def current_admin_site
    if(session[:admin_site] == nil)
      return 0
    else
      return session[:admin_site]
    end
  end

private

  def require_admin_user
    if current_user.blank?
      flash[:notice] = "You must be logged in to access the requested page"
      store_location
      redirect_to admin_login_path
      return false
    elsif !current_user.has_admin_rights?
      raise Spud::AccessDeniedError.new(:item => 'module', :template => '/layouts/admin/error_page')
      return false
    else
      return true
    end
  end

  def verify_site_mode
    if(session[:admin_site] == nil)
      session[:admin_site] = 0
    end
  end

  def multisite_caching
    if Spud::Core.multisite_mode_enabled
      @old_cache_directory = Rails.application.config.action_controller.page_cache_directory
      if(@old_cache_directory.blank?)
        @old_cache_directory = Rails.application.config.action_controller.page_cache_directory = File.join(Rails.root,'public')
      end
      if session && session[:admin_site]
        site_config = Spud::Core.site_config_for_id(session[:admin_site])
      else
        site_config = Spud::Core.site_config_for_host(request.host_with_port)
      end
      self.class.page_cache_directory = File.join(@old_cache_directory.to_s, site_config[:short_name].to_s.downcase)
      logger.debug "Cache directory set to: #{Rails.application.config.action_controller.page_cache_directory}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
tb_core-1.2.8 app/controllers/admin/application_controller.rb
tb_core-1.2.7 app/controllers/admin/application_controller.rb
tb_core-1.2.6 app/controllers/admin/application_controller.rb