Sha256: cf72f12d858d649c9cdc6ef82d2992e3014e58d6b57430680f52951c2805fa21

Contents?: true

Size: 1.6 KB

Versions: 17

Compression:

Stored size: 1.6 KB

Contents

# frozen_string_literal: true

class Comfy::Admin::Cms::BaseController < Comfy::Admin::BaseController

  before_action :load_admin_site,
                :set_locale,
                :load_seeds,
                except: :jump

  layout :infer_layout

  if ComfortableMexicanSofa.config.admin_cache_sweeper.present?
    cache_sweeper(*ComfortableMexicanSofa.config.admin_cache_sweeper)
  end

  def jump
    path = ComfortableMexicanSofa.config.admin_route_redirect
    return redirect_to(path) unless path.blank?
    load_admin_site
    redirect_to comfy_admin_cms_site_pages_path(@site) if @site
  end

protected

  def load_admin_site
    id_param = params[:site_id] || session[:site_id]
    if (@site = ::Comfy::Cms::Site.find_by(id: id_param) || ::Comfy::Cms::Site.first)
      session[:site_id] = @site.id
    else
      I18n.locale = ComfortableMexicanSofa.config.admin_locale || I18n.default_locale
      flash[:danger] = I18n.t("comfy.admin.cms.base.site_not_found")
      return redirect_to(new_comfy_admin_cms_site_path)
    end
  end

  def set_locale
    I18n.locale = ComfortableMexicanSofa.config.admin_locale || (@site&.locale)
    true
  end

  def load_seeds
    return unless ComfortableMexicanSofa.config.enable_seeds

    controllers = %w[layouts pages snippets files].collect { |c| "comfy/admin/cms/" + c }
    if controllers.member?(params[:controller]) && params[:action] == "index"
      ComfortableMexicanSofa::Seeds::Importer.new(@site.identifier).import!
      flash.now[:warning] = I18n.t("comfy.admin.cms.base.seeds_enabled")
    end
  end

  def infer_layout
    false if params[:layout] == "false"
  end

end

Version data entries

17 entries across 17 versions & 6 rubygems

Version Path
comfortable_mexican_sofa-2.0.19 app/controllers/comfy/admin/cms/base_controller.rb
PixelForce_ETS-0.0.2 app/controllers/comfy/admin/cms/base_controller.rb
PixelForce_ETS-0.0.1 app/controllers/comfy/admin/cms/base_controller.rb
kcyEtsTest2-0.0.4 app/controllers/comfy/admin/cms/base_controller.rb
kcyEtsTest2-0.0.3 app/controllers/comfy/admin/cms/base_controller.rb
kcyEtsTest2-0.0.2 app/controllers/comfy/admin/cms/base_controller.rb
kcyEtsTest2-0.0.1 app/controllers/comfy/admin/cms/base_controller.rb
kcyEtsTest-0.0.1 app/controllers/comfy/admin/cms/base_controller.rb
kcyEtsTest-2.2.19 app/controllers/comfy/admin/cms/base_controller.rb
ComfortableMexicanSofa-2.0.18 app/controllers/comfy/admin/cms/base_controller.rb
kcy1-1.0 app/controllers/comfy/admin/cms/base_controller.rb
comfortable_mexican_sofa-2.0.18 app/controllers/comfy/admin/cms/base_controller.rb
comfortable_mexican_sofa-2.0.17 app/controllers/comfy/admin/cms/base_controller.rb
comfortable_mexican_sofa-2.0.16 app/controllers/comfy/admin/cms/base_controller.rb
comfortable_mexican_sofa-2.0.15 app/controllers/comfy/admin/cms/base_controller.rb
comfortable_mexican_sofa-2.0.14 app/controllers/comfy/admin/cms/base_controller.rb
comfortable_mexican_sofa-2.0.13 app/controllers/comfy/admin/cms/base_controller.rb