lib/enjoy/admin.rb in enjoy_cms-0.2.0.2 vs lib/enjoy/admin.rb in enjoy_cms-0.2.0.3

- old
+ new

@@ -1,8 +1,8 @@ module Enjoy - class << self - def map_config(is_active = true) + module Admin + def self.map_config(is_active = true) Proc.new { active is_active label I18n.t('enjoy.map') field :address, :string field :map_address, :string @@ -13,347 +13,10 @@ end field :lat field :lon if block_given? - yield - end - } - end - - def seo_config(is_active = true) - Proc.new { - navigation_label 'SEO' - field :seoable do - read_only true - end - field :h1, :string - field :title, :string - field :keywords, :text - field :description, :text - field :robots, :string - - field :og_title, :string - - field :og_image, :jcrop do - jcrop_options :og_image_jcrop_options - end - - if block_given? - yield - end - } - end - - def page_config(fields = {}) - Proc.new { - Enjoy.apply_patches self - # navigation_label I18n.t('enjoy.cms') - list do - scopes [:sorted, :enabled, nil] - - field :enabled, :toggle - field :menus, :menu - field :name - field :fullpath do - pretty_value do - bindings[:view].content_tag(:a, bindings[:object].fullpath, href: bindings[:object].fullpath) - end - end - field :redirect - field :slug - Enjoy.apply_patches self - end - edit do - field :name - field :excerpt, :ck_editor - field :content, :ck_editor - Enjoy.apply_patches self - group :menu do - label I18n.t('enjoy.menu') - field :menus - field :fullpath, :string do - help I18n.t('enjoy.with_final_slash') - end - field :regexp, :string do - help I18n.t('enjoy.page_url_regex') - end - field :redirect, :string do - help I18n.t('enjoy.final_in_menu') - end - field :text_slug - end - fields.each_pair do |name, type| - if type.nil? - field name - else - if type.is_a?(Array) - field name, type[0], &type[1] - else - field name, type - end - end - end - group :seo do - active false - field :seo do - active true - end - end - group :sitemap_data do - active false - field :sitemap_data do - active true - end - end - end - Enjoy.only_patches self, [:show, :export] - nested_set({ - max_depth: Enjoy.config.menu_max_depth, - scopes: [] - }) - - if block_given? - yield - end - } - end - - def menu_config - Proc.new { - # navigation_label 'CMS' - - field :enabled, :toggle - field :text_slug - field :name - Enjoy.apply_patches self - Enjoy.only_patches self, [:show, :list, :edit, :export] - - if block_given? - yield - end - } - end - - def contact_message_config - Proc.new { - # navigation_label I18n.t('enjoy.settings') - field :c_at do - read_only true - end - field :name - field :content, :text - field :email - field :phone - - Enjoy.config.contacts_fields.each_pair do |fn, ft| - next if ft.nil? - if ft.is_a?(Array) - field fn, ft[1].to_sym - else - field fn - end - end - - if block_given? - yield - end - - Enjoy.apply_patches self - Enjoy.only_patches self, [:show, :list, :edit, :export] - } - end - - def news_config(fields = {}) - Proc.new { - # navigation_label I18n.t('enjoy.cms') - list do - scopes [:by_date, :enabled, nil] - end - - field :enabled, :toggle - field :time do - sort_reverse true - end - field :name - unless Enjoy.config.news_image_styles.nil? - field :image, :jcrop do - jcrop_options :image_jcrop_options - end - end - field :excerpt, :ck_editor - field :slugs, :enum do - enum_method do - :slugs - end - visible do - bindings[:view].current_user.admin? - end - multiple do - true - end - end - field :text_slug - - Enjoy.apply_patches self - - list do - Enjoy.apply_patches self - sort_by :time - end - - edit do - field :content, :ck_editor - fields.each_pair do |name, type| - if type.nil? - field name - else - if type.is_a?(Array) - field name, type[0], &type[1] - else - field name, type - end - end - end - Enjoy.apply_patches self - group :seo do - active false - field :seo do - active true - end - end - group :sitemap_data do - active false - field :sitemap_data do - active true - end - end - end - - Enjoy.only_patches self, [:show, :list, :export] - - if block_given? - yield(self) - end - } - end - - def sitemap_data_config(is_active = false) - Proc.new { - navigation_label 'SEO' - label I18n.t('enjoy.sitemap_data') - field :sitemap_data_field do - read_only true - end - field :sitemap_show, :toggle - field :sitemap_lastmod - field :sitemap_changefreq, :enum do - enum do - Enjoy::SitemapData::SITEMAP_CHANGEFREQ_ARRAY - end - end - field :sitemap_priority - - if block_given? - yield - end - } - end - - - - def embedded_element_config(_navigation_label = I18n.t('enjoy.cms'), fields = {}) - Proc.new { - # navigation_label(_navigation_label) unless _navigation_label.nil? - field :enabled, :toggle - field :name, :string - fields.each_pair do |name, type| - if type.nil? - field name - else - if type.is_a?(Array) - field name, type[0], &type[1] - else - field name, type - end - end - end - - if block_given? - yield - end - } - end - - def embedded_image_config(fields = {}) - jcrop_proc = Proc.new do - jcrop_options :image_jcrop_options - end - - if block_given? - Enjoy.embedded_element_config( - nil, - {image: [:jcrop, jcrop_proc]}.merge(fields), - yield - ) - else - Enjoy.embedded_element_config( - nil, - {image: [:jcrop, jcrop_proc]}.merge(fields) - ) - end - end - - def gallery_config - Proc.new { - # navigation_label I18n.t('enjoy.gallery') - field :enabled, :toggle - - field :name, :string - field :slugs, :enum do - enum_method do - :slugs - end - visible do - bindings[:view].current_user.admin? - end - multiple do - true - end - end - field :text_slug - - field :image, :jcrop do - jcrop_options :image_jcrop_options - end - - if block_given? - yield - end - } - end - - def image_config(without_gallery = false, fields = {}) - Proc.new { - # navigation_label I18n.t('enjoy.gallery') - field :enabled, :toggle - unless without_gallery - field :gallery - end - field :name, :string - field :image, :jcrop do - jcrop_options :image_jcrop_options - end - fields.each_pair do |name, type| - if type.nil? - field name - else - field name, type - end - end - - if block_given? - yield + yield self end } end end end