module Ask class Engine < ::Rails::Engine initializer "ask" do locales = Site.first.in_use_locales rescue [:en,:zh_tw] begin t_data0 = locales.collect{|l| Dir["#{ENV['PWD']}/config/locales/#{l.to_s}.yml"]}.flatten.map{|yaml_file| YAML.load(File.read(yaml_file))} t_data1 = Dir["#{Ask::Engine.root}/config/locales/*.yml"].map{|yaml_file| YAML.load(File.read(yaml_file))} data_item = {} key_item1 = {} value_item1 = {} value_item2 = {} t_data0.each do |t_data| v = t_data.values k = t_data.keys[0] key_item1[k] = v[0]['theme'] end t_data1.each do |t_data| v = t_data.values k = t_data.keys[0] value_item1[k] = v[0]['ask']['widget']['index'] value_item2[k] = v[0]['ask']['is_published'] end data_item[key_item1] = [value_item1,value_item2] rescue => e puts ['error in ask',e] end begin require File.expand_path('../../../app/models/ask_setting', __FILE__) require File.expand_path('../../../app/models/ask_setting_index', __FILE__) if defined? AskSetting && AskSetting.first.nil? AskSetting.create() end if defined? AskSettingIndex && AskSettingIndex.first.nil? AskSettingIndex.create() end rescue => e puts ['AskSetting not found',e] end OrbitApp.registration "Ask", :type => "ModuleApp" do module_label "ask.ask" base_url File.expand_path File.dirname(__FILE__) widget_methods ["widget"] widget_settings [{"data_count"=>10}] taggable "AskQuestion" begin show_option_items data_item rescue => e puts ['there_was_no_show_option_method',e] end categorizable authorizable frontend_enabled # data_count 1..10 side_bar do head_label_i18n 'ask.ask', icon_class: "icon-lightbulb" available_for "users" active_for_controllers (['admin/asks']) head_link_path "admin_asks_path" context_link 'ask.all_articles', :link_path=>"admin_asks_path" , :priority=>1, :active_for_action=>{'admin/asks'=>'index'}, :available_for => 'users' context_link 'ask.setting', :link_path=>"setting_admin_asks_path" , :priority=>5, :active_for_action=>{'admin/asks'=>'setting'}, :available_for => 'managers' context_link 'categories', :link_path=>"admin_module_app_categories_path" , :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'ask').id}", :priority=>2, :active_for_action=>{'admin/asks'=>'categories'}, :active_for_category => 'Ask', :available_for => 'managers' context_link 'ask.acknowledgements', :link_path=>"admin_ask_acknowledgements_path" , :priority=>3, :active_for_action=>{'admin/asks'=>'acknowledgements'}, :available_for => 'managers' context_link 'ask.admins', :link_path=>"admin_ask_admins_path" , :priority=>4, :active_for_action=>{'admin/asks'=>'admins'}, :available_for => 'managers' context_link 'ask.exports', :link_path=>"export_admin_asks_path" , :priority=>5, :active_for_action=>{'admin/asks'=>'exports'}, :available_for => 'managers' context_link 'tags', :link_path=>"admin_module_app_tags_path" , :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'ask').id}", :priority=>4, :active_for_action=>{'admin/ask'=>'tags'}, :active_for_tag => 'Ask', :available_for => 'managers' # context_link 'new_', # :link_path=>"new_admin_ask_path" , # :priority=>2, # :active_for_action=>{'admin/asks'=>'new'}, # :available_for => 'sub_managers' # context_link 'tags', # :link_path=>"admin_module_app_tags_path" , # :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'ask').id}", # :priority=>4, # :active_for_action=>{'admin/asks'=>'tags'}, # :active_for_tag => 'Ask', # :available_for => 'managers' end end end end end