| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- # encoding:utf-8
- module RailsAdmin
- module Config
- module Actions
-
- class GenerateMenu < RailsAdmin::Config::Actions::Base
- register_instance_option :visible? do
- if not bindings[:object].blank?
- authorized? && bindings[:object].class == WxMenu && bindings[:object].action == 'root'
- else
- authorized?
- end
- end
- # We want the action on members, not the Users collection
- register_instance_option :member do
- true
- end
- register_instance_option :link_icon do
- 'icon-refresh'
- end
- # You may or may not want pjax for your action
- register_instance_option :pjax? do
- false
- end
- register_instance_option :controller do
- Proc.new do
- require 'rest-client'
- root_menu = WxMenu.where("id=?", params[:id]).first
- n = "生成菜单成功!"
- if not root_menu.blank?
- gzh_id = root_menu.wx_gongzhonghao_id
-
- url = "#{CONFIG_FILE["api_host"]}/railsadmin/wx_menu"
- begin
- ret = RestClient.post url, {gzhId: gzh_id}
- rescue Exception => e
- p "************ generate menu fail . #{e.to_s}"
- n = "生成菜单失败!"
- end
- end
- redirect_to :back, notice: "#{n}"
- end
- end
- end
- end
- end
- end
|