Module: AdminBulkActions

Extended by:
ActiveSupport::Concern
Included in:
Admin::MediaAssetsController, Admin::PermissionsController, Admin::RedirectsController, Admin::UserPermissionsController, Admin::UsersController, Admin::VisitorErrorsController
Defined in:
lib/generators/ruby_cms/templates/controllers/concerns/admin_bulk_actions.rb

Overview

Shared helpers for bulk admin actions.

Replaces 7-line repeated blocks like:

ids = Array(params[:item_ids]).filter_map(&:to_i)
count = Model.where(id: ids).destroy_all.size
audit!(:thing_deleted, target: "Thing (bulk)", summary: "Deleted #{count}")
redirect_to ...

Usage:

include AdminBulkActions

def bulk_delete
count = bulk_destroy(Redirect, audit: :redirect_deleted, target_label: "Redirect")
redirect_to admin_redirects_path, notice: "#{count} verwijderd"
end