event_news/lib/event_news_mod/engine.rb

117 lines
5.3 KiB
Ruby

require "yaml"
module EventNewsMod
class Engine < ::Rails::Engine
initializer "event_news" do
begin
translate_data = Dir["#{EventNewsMod::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))}
data = {}
key1 = {}
value1 = {}
value2 = {}
value3 = {}
data_item = {}
key_item1 = {}
key_item2 = {}
value_item1 = {}
value_item2 = {}
value_item3 = {}
value2_item1 = {}
value2_item2 = {}
translate_data.each do |t_data|
v = t_data.values
k = t_data.keys[0]
key1[k] = v[0]['event_news']['picture_showing_size']
value1[k] = v[0]['event_news']['small_size']
value2[k] = v[0]['event_news']['medium_size']
value3[k] = v[0]['event_news']['orignal_size']
key_item1[k] = v[0]['event_news']['showing_back_and_next']
key_item2[k] = v[0]['event_news']['enable_search']
value_item1[k] = v[0]['event_news']['not_show']
value_item2[k] = v[0]['event_news']['show_bottom']
value_item3[k] = v[0]['event_news']['show_top']
value2_item1[k] = v[0]['event_news']['no']
value2_item2[k] = v[0]['event_news']['yes']
end
data[key1] = [value1,value2,value3]
data_item[key_item1] = [value_item1,value_item2,value_item3]
data_item[key_item2] = [value2_item1,value2_item2]
require File.expand_path('../../../app/models/event_news_cache', __FILE__)
if defined? EvenNewsCache
EvenNewsCache.destroy_all
end
rescue => e
puts ['error in event_news',e]
end
OrbitApp.registration "event_news", :type => "ModuleApp" do
module_label "event_news.event_news"
base_url File.expand_path File.dirname(__FILE__)
widget_methods ["widget","random_event_news_widget", "tag_cloud"]
widget_settings [{"data_count"=>30}]
taggable "EventNews"
categorizable
authorizable
frontend_enabled
feeds_url "/xhr/event_news/feeds"
data_count 1..30
begin
show_options data
show_option_items data_item
rescue => e
puts ['there_was_no_show_option_method',e]
end
side_bar do
head_label_i18n 'event_news.event_news', icon_class: "icons-megaphone"
available_for "users"
active_for_controllers (['admin/event_news'])
head_link_path "admin_event_news_index_path"
context_link 'event_news.all_articles',
:link_path=>"admin_event_news_index_path" ,
:priority=>1,
:active_for_action=>{'admin/event_news'=>'index'},
:available_for => 'users'
context_link 'new_',
:link_path=>"new_admin_event_news_path" ,
:priority=>2,
:active_for_action=>{'admin/event_news'=>'new'},
:available_for => 'sub_managers'
context_link 'categories',
:link_path=>"admin_module_app_categories_path" ,
:link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'event_news').id}",
:priority=>3,
:active_for_action=>{'admin/event_news'=>'categories'},
:active_for_category => 'EventNewsModule',
:available_for => 'managers'
context_link 'tags',
:link_path=>"admin_module_app_tags_path" ,
:link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'event_news').id}",
:priority=>4,
:active_for_action=>{'admin/event_news'=>'tags'},
:active_for_tag => 'EventNewsModule',
:available_for => 'managers'
context_link 'event_news.feed_list',
:link_path=>"admin_event_news_feed_path" ,
:priority=>5,
:active_for_action=>{'admin/event_news'=>'feed'},
:available_for => 'managers'
context_link 'event_news.import',
:link_path=>"admin_event_news_import_path" ,
:priority=>6,
:active_for_action=>{'admin/event_news'=>'import'},
:available_for => 'managers'
context_link 'event_news.settings',
:link_path=>"admin_event_news_settings_path" ,
:priority=>6,
:active_for_action=>{'admin/event_news'=>'settings'},
:available_for => 'managers'
end
end
# temp = YAML.load_file(File.join(Rails.root,"config","mongoid.yml"))
# dbsettings = temp["production"]["sessions"]["default"]
# s = Moped::Session.new(dbsettings["hosts"])
# s.use dbsettings["database"]
# s[:bulletins].indexes.create({expirable_created_at: 1},{ expireAfterSeconds: 180 })
end
end
end