app/controllers/administrate/application_controller.rb in administrate-0.14.0 vs app/controllers/administrate/application_controller.rb in administrate-0.15.0

- old
+ new

@@ -1,17 +1,18 @@ module Administrate class ApplicationController < ActionController::Base protect_from_forgery with: :exception def index + authorize_resource(resource_class) search_term = params[:search].to_s.strip resources = Administrate::Search.new(scoped_resource, dashboard_class, search_term).run resources = apply_collection_includes(resources) resources = order.apply(resources) - resources = resources.page(params[:page]).per(records_per_page) + resources = resources.page(params[:_page]).per(records_per_page) page = Administrate::Page::Collection.new(dashboard, order: order) render locals: { resources: resources, search_term: search_term, @@ -50,11 +51,11 @@ notice: translate_with_resource("create.success"), ) else render :new, locals: { page: Administrate::Page::Form.new(dashboard, resource), - } + }, status: :unprocessable_entity end end def update if requested_resource.update(resource_params) @@ -63,11 +64,11 @@ notice: translate_with_resource("update.success"), ) else render :edit, locals: { page: Administrate::Page::Form.new(dashboard, requested_resource), - } + }, status: :unprocessable_entity end end def destroy if requested_resource.destroy @@ -103,31 +104,29 @@ def order @order ||= Administrate::Order.new(sorting_attribute, sorting_direction) end def sorting_attribute - params.fetch(resource_name, {}).fetch( - :order, - default_sorting_attribute, - ) + sorting_params.fetch(:order) { default_sorting_attribute } end def default_sorting_attribute nil end def sorting_direction - params.fetch(resource_name, {}).fetch( - :direction, - default_sorting_direction, - ) + sorting_params.fetch(:direction) { default_sorting_direction } end def default_sorting_direction nil end + def sorting_params + Hash.try_convert(request.query_parameters[resource_name]) || {} + end + def dashboard @dashboard ||= dashboard_class.new end def requested_resource @@ -172,9 +171,10 @@ delegate :dashboard_class, :resource_class, :resource_name, :namespace, to: :resource_resolver helper_method :namespace helper_method :resource_name + helper_method :resource_class def resource_resolver @resource_resolver ||= Administrate::ResourceResolver.new(controller_path) end