announcement-test/lib/announcement/engine.rb

102 lines
5.0 KiB
Ruby
Raw Normal View History

2015-03-05 11:48:38 +00:00
require "yaml"
2014-04-01 07:12:43 +00:00
module Announcement
class Engine < ::Rails::Engine
initializer "announcement" do
translate_data = Dir["#{Announcement::Engine.root}/config/locales/*.yml"] .map{|yaml_file| YAML.load(File.read(yaml_file))}
data = {}
key1 = {}
value1 = {}
value2 = {}
value3 = {}
translate_data.each do |t_data|
key1[t_data.keys[0]] = t_data.values[0]['announcement']['picture_showing_size']
value1[t_data.keys[0]] = t_data.values[0]['announcement']['small_size']
value2[t_data.keys[0]] = t_data.values[0]['announcement']['medium_size']
value3[t_data.keys[0]] = t_data.values[0]['announcement']['orignal_size']
end
data[key1] = [value1,value2,value3]
data_item = {}
key_item1 = {}
value_item1 = {}
value_item2 = {}
value_item3 = {}
translate_data.each do |t_data|
key_item1[t_data.keys[0]] = t_data.values[0]['announcement']['showing_back_and_next']
value_item1[t_data.keys[0]] = t_data.values[0]['announcement']['not_show']
value_item2[t_data.keys[0]] = t_data.values[0]['announcement']['show_bottom']
value_item3[t_data.keys[0]] = t_data.values[0]['announcement']['show_top']
end
data_item[key_item1] = [value_item1,value_item2,value_item3]
2014-04-18 11:37:31 +00:00
OrbitApp.registration "Announcement", :type => "ModuleApp" do
module_label "announcement.announcement"
base_url File.expand_path File.dirname(__FILE__)
2017-06-29 08:03:39 +00:00
widget_methods ["widget","random_announcement_widget", "tag_cloud"]
2015-05-05 07:46:10 +00:00
widget_settings [{"data_count"=>30}]
2014-04-18 11:37:31 +00:00
taggable "Bulletin"
2014-04-20 12:23:52 +00:00
categorizable
authorizable
frontend_enabled
2015-07-08 10:11:25 +00:00
feeds_url "/xhr/announcements/feeds"
2015-05-05 07:46:10 +00:00
data_count 1..30
begin
show_options data
show_option_items data_item
rescue => e
puts ['there_was_no_show_option_method',e]
end
2014-04-18 11:37:31 +00:00
side_bar do
head_label_i18n 'announcement.announcement', icon_class: "icons-megaphone"
2014-07-31 09:12:13 +00:00
available_for "users"
2014-05-12 08:16:46 +00:00
active_for_controllers (['admin/announcements'])
2014-04-18 11:37:31 +00:00
head_link_path "admin_announcements_path"
2014-05-01 08:41:00 +00:00
context_link 'announcement.all_articles',
:link_path=>"admin_announcements_path" ,
:priority=>1,
2014-05-12 08:16:46 +00:00
:active_for_action=>{'admin/announcements'=>'index'},
2014-07-31 09:12:13 +00:00
:available_for => 'users'
2014-05-13 07:06:23 +00:00
context_link 'new_',
2014-05-01 08:41:00 +00:00
:link_path=>"new_admin_announcement_path" ,
:priority=>2,
2014-05-12 08:16:46 +00:00
:active_for_action=>{'admin/announcements'=>'new'},
2014-07-31 09:12:13 +00:00
:available_for => 'sub_managers'
2014-05-13 07:06:23 +00:00
context_link 'categories',
2014-05-12 08:16:46 +00:00
:link_path=>"admin_module_app_categories_path" ,
2014-05-14 07:39:40 +00:00
:link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'announcement').id}",
2014-05-12 08:16:46 +00:00
:priority=>3,
:active_for_action=>{'admin/announcements'=>'categories'},
:active_for_category => 'Announcement',
2014-07-31 09:12:13 +00:00
:available_for => 'managers'
2014-05-12 08:16:46 +00:00
context_link 'tags',
:link_path=>"admin_module_app_tags_path" ,
2014-05-14 07:39:40 +00:00
:link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'announcement').id}",
2014-05-12 08:16:46 +00:00
:priority=>4,
:active_for_action=>{'admin/announcements'=>'tags'},
:active_for_tag => 'Announcement',
2014-07-31 09:12:13 +00:00
:available_for => 'managers'
2015-07-08 10:11:25 +00:00
context_link 'announcement.feed_list',
:link_path=>"admin_announcement_feed_path" ,
:priority=>5,
:active_for_action=>{'admin/announcements'=>'feed'},
:available_for => 'managers'
2016-04-21 17:28:37 +00:00
context_link 'announcement.import',
:link_path=>"admin_announcement_import_path" ,
:priority=>6,
:active_for_action=>{'admin/announcements'=>'import'},
:available_for => 'managers'
context_link 'announcement.settings',
:link_path=>"admin_announcement_settings_path" ,
:priority=>6,
:active_for_action=>{'admin/announcements'=>'settings'},
:available_for => 'managers'
2014-04-18 11:37:31 +00:00
end
2014-05-01 08:41:00 +00:00
2014-04-18 11:37:31 +00:00
end
2015-05-28 11:01:17 +00:00
# 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 })
2014-04-18 11:37:31 +00:00
end
2014-04-01 07:12:43 +00:00
end
end