Sha256: 46d33a15bf20946b623b602c52798aaa1f75136d7b56ffd4777c65ee01b1b26a

Contents?: true

Size: 1.05 KB

Versions: 11

Compression:

Stored size: 1.05 KB

Contents

module CamaleonCms
  module Apps
    class PluginsFrontController < CamaleonCms::FrontendController
      before_action :init_plugin
      layout proc { |_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.discard.to_hash) : (redirect_to cama_root_url)
          return
        end
        return if @plugin.settings['gem_mode'].present?

        lookup_context.prefixes.delete_if { |t| t =~ %r{plugins/(.*)/views}i }
        lookup_context.prefixes.prepend(params[:controller].sub("plugins/#{plugin_name}",
                                                                "plugins/#{plugin_name}/views"))
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
camaleon_cms-2.9.0 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.8.3 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.8.2 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.8.1 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.8.0 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.7.5 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.7.4 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.7.3 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.7.2 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.7.1 app/controllers/camaleon_cms/apps/plugins_front_controller.rb
camaleon_cms-2.7.0 app/controllers/camaleon_cms/apps/plugins_front_controller.rb