Sha256: 78a893218e5589a393eb899a6103cad23c86e9991275d862851e26e3cd89c602

Contents?: true

Size: 1.79 KB

Versions: 2

Compression:

Stored size: 1.79 KB

Contents

class Admin::ApplicationController < Spud::ApplicationController

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

  rescue_from Spud::AccessDeniedError do |exception|
    redirect_to admin_root_path, :flash => {:error => exception.message}
  end

  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"
      redirect_to admin_login_path
      return false
    elsif !current_user.has_admin_rights?
      flash[:notice] = "You do not have permission to access the requested page"
      redirect_to root_path
      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

2 entries across 2 versions & 1 rubygems

Version Path
tb_core-1.2.1 app/controllers/admin/application_controller.rb
tb_core-1.2.0 app/controllers/admin/application_controller.rb