app/controllers/madmin/resource_controller.rb in madmin-0.1.1 vs app/controllers/madmin/resource_controller.rb in madmin-1.0.0.beta1

- old
+ new

@@ -1,11 +1,11 @@ module Madmin class ResourceController < ApplicationController before_action :set_record, except: [:index, :new, :create] def index - @pagy, @records = pagy(resource.model.all) + @pagy, @records = pagy(scoped_resources) end def show end @@ -16,22 +16,22 @@ def create @record = resource.model.new(resource_params) if @record.save redirect_to resource.show_path(@record) else - render :new + render :new, status: :unprocessable_entity end end def edit end def update if @record.update(resource_params) redirect_to resource.show_path(@record) else - render :edit + render :edit, status: :unprocessable_entity end end def destroy @record.destroy @@ -49,9 +49,18 @@ end helper_method :resource def resource_name "#{controller_path.singularize}_resource".delete_prefix("madmin/").classify + end + + def scoped_resources + resource.model.send(valid_scope) + end + + def valid_scope + scope = params.fetch(:scope, "all") + resource.scopes.include?(scope.to_sym) ? scope : :all end def resource_params params.require(resource.param_key) .permit(*resource.permitted_params)