builk_export_order.rb 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. module RailsAdmin
  2. module Config
  3. module Actions
  4. class BuilkExportOrder < RailsAdmin::Config::Actions::Base
  5. RailsAdmin::Config::Actions.register(self)
  6. register_instance_option :collection do
  7. true
  8. end
  9. register_instance_option :http_methods do
  10. [:post, :delete]
  11. end
  12. register_instance_option :controller do
  13. proc do
  14. if request.post? # BULK DELETE
  15. @objects = list_entries(@model_config, :destroy)
  16. if @objects.blank?
  17. flash[:error] = t('admin.flash.error', name: pluralize(0, @model_config.label), action: t('admin.actions.delete.done'))
  18. redirect_to index_path
  19. else
  20. render @action.template_name
  21. end
  22. elsif request.delete? # BULK DESTROY
  23. destroyed = nil
  24. not_destroyed = nil
  25. unless params[:bulk_ids].blank?
  26. @objects = list_entries(@model_config, :destroy)
  27. unless @objects.blank?
  28. processed_objects = @abstract_model.destroy(@objects)
  29. destroyed = processed_objects.select(&:destroyed?)
  30. not_destroyed = processed_objects - destroyed
  31. destroyed.each do |object|
  32. @auditing_adapter && @auditing_adapter.delete_object(object, @abstract_model, _current_user)
  33. end
  34. end
  35. end
  36. if destroyed.nil?
  37. flash[:error] = t('admin.flash.error', name: pluralize(0, @model_config.label), action: t('admin.actions.delete.done'))
  38. else
  39. flash[:success] = t('admin.flash.successful', name: pluralize(destroyed.count, @model_config.label), action: t('admin.actions.delete.done')) unless destroyed.empty?
  40. flash[:error] = t('admin.flash.error', name: pluralize(not_destroyed.count, @model_config.label), action: t('admin.actions.delete.done')) unless not_destroyed.empty?
  41. end
  42. redirect_to back_or_index
  43. end
  44. end
  45. end
  46. register_instance_option :authorization_key do
  47. :destroy
  48. end
  49. register_instance_option :bulkable? do
  50. true
  51. end
  52. end
  53. end
  54. end
  55. end