forked from spen/seminar
				
			
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Ruby
		
	
	
	
module CustomGallery
 | 
						|
  class Engine < ::Rails::Engine
 | 
						|
    initializer "custom_gallery" do
 | 
						|
      begin
 | 
						|
        translate_data = Dir["#{CustomGallery::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|
 | 
						|
          v = t_data.values
 | 
						|
          k = t_data.keys[0]
 | 
						|
          key1[k] = v[0]['custom_gallery']['inner_page_layout']
 | 
						|
          value1[k] = v[0]['custom_gallery']['grid_style']
 | 
						|
          value2[k] = v[0]['custom_gallery']['card_style']
 | 
						|
          value3[k] = v[0]['custom_gallery']['slideshow_style']
 | 
						|
        end
 | 
						|
        data[key1] = [value1,value2,value3]
 | 
						|
      rescue  => e
 | 
						|
        puts ['error in custom_gallery',e]
 | 
						|
      end
 | 
						|
 | 
						|
      require File.expand_path('../../../app/models/custom_album_setting', __FILE__)
 | 
						|
      if defined?(CustomAlbumSetting)
 | 
						|
        if CustomAlbumSetting.first.nil?
 | 
						|
          CustomAlbumSetting.create()
 | 
						|
        elsif CustomAlbumSetting.count > 1
 | 
						|
          CustomAlbumSetting.all.to_a[1..-1].each do |custom_album_setting|
 | 
						|
            custom_album_setting.destroy
 | 
						|
          end
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      OrbitApp.registration "CustomGallery", :type => "ModuleApp" do
 | 
						|
        module_label "custom_gallery.custom_gallery"
 | 
						|
          base_url File.expand_path File.dirname(__FILE__)
 | 
						|
          widget_methods ["widget","custom_album_widget"]
 | 
						|
          # widget_settings []
 | 
						|
          widget_settings [{"data_count"=>30,"enable_custom_widget_data"=>true}]
 | 
						|
          models_to_cache [:custom_album,:custom_album_image]
 | 
						|
          taggable "CustomAlbum"
 | 
						|
          categorizable
 | 
						|
          authorizable
 | 
						|
          frontend_enabled
 | 
						|
          data_count 1..30
 | 
						|
          begin
 | 
						|
            show_option_items data
 | 
						|
          rescue => e
 | 
						|
            puts ['there_was_no_show_option_method',e]
 | 
						|
          end
 | 
						|
          side_bar do
 | 
						|
            set_sidebar_order(100) rescue nil
 | 
						|
            head_label_i18n 'custom_gallery.custom_gallery', icon_class: "fa fa-file-image-o"
 | 
						|
            available_for "users"
 | 
						|
            active_for_controllers (['admin/custom_galleries','admin/images'])
 | 
						|
            head_link_path "admin_custom_galleries_path"
 | 
						|
 | 
						|
            context_link 'custom_gallery.all',
 | 
						|
              :link_path=>"admin_custom_galleries_path" ,
 | 
						|
              :priority=>1,
 | 
						|
              :active_for_action=>{'admin/custom_galleries'=>"index"},
 | 
						|
              :available_for => 'users'
 | 
						|
 | 
						|
            # context_link 'custom_gallery.new',
 | 
						|
            #   :link_path=>"new_admin_custom_gallery_path" ,
 | 
						|
            #   :priority=>2,
 | 
						|
            #   :active_for_action=>{'admin/custom_galleries'=>"new"},
 | 
						|
            #   :available_for => 'sub_managers'
 | 
						|
 | 
						|
            context_link 'categories',
 | 
						|
              :link_path=>"admin_module_app_categories_path" ,
 | 
						|
              :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'custom_gallery').id}",
 | 
						|
              :priority=>3,
 | 
						|
              :active_for_action=>{'admin/custom_galleries'=>'categories'},
 | 
						|
              :active_for_category => 'CustomGallery',
 | 
						|
              :available_for => 'managers'
 | 
						|
                              
 | 
						|
            context_link 'tags',
 | 
						|
              :link_path=>"admin_module_app_tags_path" ,
 | 
						|
              :link_arg=>"{:module_app_id=>ModuleApp.find_by(:key=>'custom_gallery').id}",
 | 
						|
              :priority=>4,
 | 
						|
              :active_for_action=>{'admin/custom_galleries'=>'tags'},
 | 
						|
              :active_for_tag => 'CustomGallery',
 | 
						|
              :available_for => 'managers'
 | 
						|
            context_link 'setting',
 | 
						|
              :link_path=>"admin_custom_galleries_setting_path" ,
 | 
						|
              :priority=>5,
 | 
						|
              :active_for_action=>{'admin/custom_galleries'=>'setting'},
 | 
						|
              :available_for => 'managers'
 | 
						|
          end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |