Ver código fonte

food unsub - 5

abiao 2 anos atrás
pai
commit
83aaa1d6a4
2 arquivos alterados com 55 adições e 0 exclusões
  1. 9 0
      config/initializers/rails_admin.rb
  2. 46 0
      lib/rails_admin/refund_food.rb

+ 9 - 0
config/initializers/rails_admin.rb

@@ -23,6 +23,8 @@ require Rails.root.join('lib', 'rails_admin', 'balance_order_confirm')
 require Rails.root.join('lib', 'rails_admin', 'generate_order_sheet')
 require Rails.root.join('lib','rails_admin', 'group_message_redirect')
 require Rails.root.join('lib', 'rails_admin', 'order_award')
+require Rails.root.join('lib', 'rails_admin', 'refund_food')
+
 
 
 
@@ -50,6 +52,8 @@ RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::BalanceOrderCo
 RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::GenerateOrderSheet)
 RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::GroupMessageRedirect)
 RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::OrderAward)
+RailsAdmin::Config::Actions.register(RailsAdmin::Config::Actions::RefundFood)
+
 
 
 
@@ -150,6 +154,11 @@ RailsAdmin.config do |config|
       only ["WxMenu"]
     end
 
+    #订餐退餐
+    order_award do
+      only ["FoodUnsub"]
+    end
+
     push_tmpl_redirect do
       only ["PushTmpl"]
     end

+ 46 - 0
lib/rails_admin/refund_food.rb

@@ -0,0 +1,46 @@
+#encoding
+module RailsAdmin
+  module Config
+    module Actions
+        class RefundFood < RailsAdmin::Config::Actions::Base
+            register_instance_option :visible?  do
+                unless bindings[:object].blank?
+                    authorized? && bindings[:object].status == false
+                else
+                    authorized?
+                end
+            end
+
+            register_instance_option :member do
+                true
+            end
+
+            register_instance_option :link_icon do
+                'icon-plane'
+            end
+
+            register_instance_option :pjax? do
+                false
+            end
+
+            register_instance_option :controller do
+                Proc.new do
+                    require 'rest-client'
+                    rd = RefundFood.where("id = ? and status = ? ",@object.id,false).first
+                    n = "退餐成功"
+                    if !rd.blank?
+                        n = "已退餐成功"
+                        url = "#{CONFIG_FILE["xj_host"]}/base/rails-unsubcribe-food?id=#{@object.id}"
+                        begin
+                            ret = RestClient.get url, {} #per_page: 5
+                        rescue Exception => e
+                            n = "退餐失败!"
+                        end
+                    end
+                    redirect_to :back, notice: "#{n}"
+                end
+            end
+        end
+    end
+  end
+end