#encoding
module RailsAdmin
  module Config
    module Actions

        class OrderDispatch < RailsAdmin::Config::Actions::Base
            register_instance_option :visible?  do
                unless bindings[:object].blank?
                    authorized? && bindings[:object].status == "processing"
                else
                    authorized?
                end
            end

            register_instance_option :member do
                true
            end

            register_instance_option :link_icon do
                'icon-share'
            end

            register_instance_option :pjax? do
                false
            end

            register_instance_option :controller do
                Proc.new do
                    require 'rest-client'
                    order = Order.where("id = ? and status = ?",@object.id, "processing").first
                    n = "此状态不支持操作"
                    if not order.blank?
                        n = "已成功发货"
                        url = "#{CONFIG_FILE["api_host"]}/railsadmin/order/dispatch/#{@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