Procházet zdrojové kódy

add orders list file

abiao před 4 roky
rodič
revize
c7f9c9a637

+ 3 - 1
config/initializers/rails_admin.rb

@@ -110,7 +110,9 @@ RailsAdmin.config do |config|
     end
     bulk_delete
     # member actions
-
+    builk_export_order do
+      only ["Orders"]
+    end
     correct_takecash do
       only ["TakeCashOrder"]
     end

+ 65 - 0
lib/rails_admin/builk_export_order.rb

@@ -0,0 +1,65 @@
+module RailsAdmin
+    module Config
+        module Actions
+            class BulkExportOrder < 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)
+
+                            if @objects.blank?
+                                flash[:error] = t('admin.flash.error', name: pluralize(0, @model_config.label), action: t('admin.actions.delete.done'))
+                                redirect_to index_path
+                            else
+                                render @action.template_name
+                            end
+
+                        elsif request.delete? # BULK DESTROY
+
+                            destroyed = nil
+                            not_destroyed = nil
+
+                            unless params[:bulk_ids].blank?
+                                @objects = list_entries(@model_config, :destroy)
+                                unless @objects.blank?
+                                    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
+                                end
+                            end
+
+                            if destroyed.nil?
+                                flash[:error] = t('admin.flash.error', name: pluralize(0, @model_config.label), action: t('admin.actions.delete.done'))
+                            else
+                                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?
+                            end
+                            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