Sha256: eb1a06db27c65933640a21ec10b2e1964bcefdf1288eff6458d6fdc45e99309f

Contents?: true

Size: 1.26 KB

Versions: 6

Compression:

Stored size: 1.26 KB

Contents

class CmsAdmin::BaseController < ApplicationController

  protect_from_forgery

  # Authentication module must have #authenticate method
  include ComfortableMexicanSofa.config.admin_auth.to_s.constantize

  before_filter :authenticate,
                :load_admin_site,
                :load_fixtures,
                :except => :jump
  
  layout 'cms_admin'
  
  def jump
    path = ComfortableMexicanSofa.config.admin_route_redirect
    return redirect_to(path) unless path.blank?
    load_admin_site
    redirect_to cms_admin_site_pages_path(@site) if @site
  end
  
protected
  
  def load_admin_site
    unless (@site = Cms::Site.find_by_id(params[:site_id]) || Cms::Site.first)
      I18n.locale = ComfortableMexicanSofa.config.admin_locale || I18n.default_locale
      flash[:error] = I18n.t('cms.base.site_not_found')
      return redirect_to(new_cms_admin_site_path)
    end
    I18n.locale = ComfortableMexicanSofa.config.admin_locale || @site.locale
  end

  def load_fixtures
    return unless ComfortableMexicanSofa.config.enable_fixtures
    if %w(cms_admin/layouts cms_admin/pages cms_admin/snippets).member?(params[:controller])
      ComfortableMexicanSofa::Fixtures.import_all(@site.hostname)
      flash.now[:error] = I18n.t('cms.base.fixtures_enabled')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
comfortable_mexican_sofa-1.6.9 app/controllers/cms_admin/base_controller.rb
comfortable_mexican_sofa-1.6.8 app/controllers/cms_admin/base_controller.rb
comfortable_mexican_sofa-1.6.7 app/controllers/cms_admin/base_controller.rb
comfortable_mexican_sofa-1.6.6 app/controllers/cms_admin/base_controller.rb
comfortable_mexican_sofa-1.6.5 app/controllers/cms_admin/base_controller.rb
comfortable_mexican_sofa-1.6.4 app/controllers/cms_admin/base_controller.rb