app/controllers/administrate/application_controller.rb in administrate-0.7.0 vs app/controllers/administrate/application_controller.rb in administrate-0.8.0

- old
+ new

@@ -2,11 +2,13 @@ class ApplicationController < ActionController::Base protect_from_forgery with: :exception def index search_term = params[:search].to_s.strip - resources = Administrate::Search.new(resource_resolver, search_term).run + resources = Administrate::Search.new(scoped_resource, + dashboard_class, + search_term).run resources = resources.includes(*resource_includes) if resource_includes.any? resources = order.apply(resources) resources = resources.page(params[:page]).per(records_per_page) page = Administrate::Page::Collection.new(dashboard, order: order) @@ -76,13 +78,13 @@ def nav_link_state(resource) resource_name.to_s.pluralize == resource.to_s ? :active : :inactive end helper_method :valid_action? - def valid_action?(name, resource = resource_name) + def valid_action?(name, resource = resource_class) !!routes.detect do |controller, action| - controller == resource.to_s.pluralize && action == name.to_s + controller == resource.to_s.underscore.pluralize && action == name.to_s end end def routes @routes ||= Namespace.new(namespace).routes @@ -95,29 +97,35 @@ def order @_order ||= Administrate::Order.new(params[:order], params[:direction]) end def dashboard - @_dashboard ||= resource_resolver.dashboard_class.new + @_dashboard ||= dashboard_class.new end def requested_resource @_requested_resource ||= find_resource(params[:id]) end def find_resource(param) - resource_class.find(param) + scoped_resource.find(param) end + def scoped_resource + resource_class.default_scoped + end + def resource_includes dashboard.association_includes end def resource_params - params.require(resource_name).permit(dashboard.permitted_attributes) + params.require(resource_class.model_name.param_key). + permit(dashboard.permitted_attributes) end - delegate :resource_class, :resource_name, :namespace, to: :resource_resolver + delegate :dashboard_class, :resource_class, :resource_name, :namespace, + to: :resource_resolver helper_method :namespace helper_method :resource_name def resource_resolver @_resource_resolver ||=