Sha256: e9a4d2aaf3e24e7d43bc0ee9d07c36d63f9403cda55fc15bb2e33482cc474fac
Contents?: true
Size: 1.62 KB
Versions: 5
Compression:
Stored size: 1.62 KB
Contents
module RailsAdmin module Config module Actions class BulkDelete < RailsAdmin::Config::Actions::Base RailsAdmin::Config::Actions.register(self) register_instance_option :collection do true end register_instance_option :http_methods do [:post, :delete] end register_instance_option :controller do proc do if request.post? # BULK DELETE @objects = list_entries(@model_config, :destroy) render @action.template_name elsif request.delete? # BULK DESTROY @objects = list_entries(@model_config, :destroy) processed_objects = @abstract_model.destroy(@objects) destroyed = processed_objects.select(&:destroyed?) not_destroyed = processed_objects - destroyed destroyed.each do |object| @auditing_adapter && @auditing_adapter.delete_object(object, @abstract_model, _current_user) end flash[:success] = t('admin.flash.successful', name: pluralize(destroyed.count, @model_config.label), action: t('admin.actions.delete.done')) unless destroyed.empty? flash[:error] = t('admin.flash.error', name: pluralize(not_destroyed.count, @model_config.label), action: t('admin.actions.delete.done')) unless not_destroyed.empty? redirect_to back_or_index end end end register_instance_option :authorization_key do :destroy end register_instance_option :bulkable? do true end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems