Sha256: 5e0f6b3bb80101046c3d90b004ef5e4a1b6f4e43d5608887363fd1224e06c04c
Contents?: true
Size: 1.19 KB
Versions: 1
Compression:
Stored size: 1.19 KB
Contents
module AdminIt # module Controller def self.included(base) base.class_eval do include Pundit if AdminIt::Env.pundit? before_filter :authenticate_user! attr_reader :context helper_method :context, :resource helper AdminIt::Helpers helper AdminIt::Engine.routes.url_helpers if AdminIt::Env.pundit? collections = @resource.collections.map(&:context_name) after_action :verify_authorized, except: collections after_action :verify_policy_scoped, only: collections end end end def resource self.class.instance_variable_get(:@resource) end def redirect_to_default redirect_to(resource[resource.default_context].path) end private def load_context(context_class) @context = context_class.new(self) yield if block_given? layout = ['admin_it', params[:layout]].compact.join('_') unless performed? if layout == 'admin_it' && !request.query_parameters.empty? redirect_to request.path else render template: "admin_it/#{context.name}", layout: layout end end @context.save end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
admin_it-1.1.0 | lib/admin_it/controller.rb |