Sha256: 08c5516c0e34f5ed4ae9d7b58e51f7279e9ab1f227208cb23c85ad243242cd14

Contents?: true

Size: 894 Bytes

Versions: 4

Compression:

Stored size: 894 Bytes

Contents

class CamaleonCms::Apps::PluginsFrontController < CamaleonCms::FrontendController
  before_action :init_plugin
  layout Proc.new { |controller| "themes/#{current_theme.slug}/views/layouts/index" }

  private
  def init_plugin
    plugin_name = params[:controller].split("/")[1]
    @plugin = current_site.plugins.where(slug: plugin_name).first_or_create
    unless @plugin.active?
      flash[:error] = t("camaleon_cms.plugin_not_installed", default: "This plugin is not installed, please contact to the administrator.")
      params[:format] == 'json' ? render(json: flash.to_hash) : (redirect_to cama_root_url)
      return
    end
    if !@plugin.settings["gem_mode"].present?
      lookup_context.prefixes.delete_if{|t| t =~ /plugins\/(.*)\/views/i }
      lookup_context.prefixes.prepend(params[:controller].sub("plugins/#{plugin_name}", "plugins/#{plugin_name}/views"))
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
camaleon_cms-2.4.0 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.3.7.2 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.3.7.1 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.3.7 app/controllers/camaleon_cms/apps/plugins_front_controller.rb