module Hancock::Faq::Admin::Category

Public Class Methods

config(nav_label = nil, fields = {}) { |self| ... } click to toggle source
# File lib/hancock/faq/admin/category.rb, line 4
def self.config(nav_label = nil, fields = {})
  if nav_label.is_a?(Hash)
    nav_label, fields = nav_label[:nav_label], nav_label
  elsif nav_label.is_a?(Array)
    nav_label, fields = nil, nav_label
  end

  Proc.new {
    navigation_label(!nav_label.blank? ? nav_label : "FAQ")

    list do
      scopes [:sorted, :enabled, nil]

      field :enabled, :toggle
      field :name do
        searchable true
      end
      # field :image

      field :questions do
        read_only true

        pretty_value do
          bindings[:object].questions.to_a.map { |q|
            route = bindings[:view] || bindings[:controller]
            model_name = q.rails_admin_model
            route.link_to(q.full_name, route.rails_admin.show_path(model_name: model_name, id: q.id), title: q.name)
          }.join("<br>").html_safe
        end
      end

      field :text_slug do
        searchable true
      end
      group :content, &Hancock::Admin.content_block
    end

    edit do
      field :enabled, :toggle
      field :name
      # field :sidebar_title, :string

      group :URL, &Hancock::Admin.url_block
      # group :URL do
      #   active false
      #   field :slugs, :hancock_slugs
      #   field :text_slug
      # end
      # field :image, :hancock_image

      group :content, &Hancock::Admin.content_block
      # group :content do
      #   active false
      #   field :excerpt, :hancock_html
      #   field :content, :hancock_html
      # end

      if Hancock::Faq.config.seo_support
        group :seo_n_sitemap, &Hancock::Seo::Admin.seo_n_sitemap_block
        # group :seo do
        #   active false
        #   field :seo
        # end
        # group :sitemap_data do
        #   active false
        #   field :sitemap_data
        # end
      end

      Hancock::RailsAdminGroupPatch::hancock_cms_group(self, fields)


      group :questions do
        active false
        field :questions do
          read_only true
          help 'Список вопросов'

          pretty_value do
            bindings[:object].questions.to_a.map { |q|
            route = (bindings[:view] || bindings[:controller])
            model_name = q.rails_admin_model
            route.link_to(q.name, route.rails_admin.show_path(model_name: model_name, id: q.id), title: q.full_name)
            }.join("<br>").html_safe
          end
        end
      end
    end

    show do
      field :name
      # field :sidebar_title
      field :slugs, :hancock_slugs
      field :text_slug
      field :enabled
      # field :image
      field :excerpt
      field :content

      Hancock::RailsAdminGroupPatch::hancock_cms_group(self, fields)

      field :questions do
        read_only true

        pretty_value do
          bindings[:object].questions.to_a.map { |q|
            route = (bindings[:view] || bindings[:controller])
            model_name = q.rails_admin_model
            route.link_to(i.full_name, route.rails_admin.show_path(model_name: model_name, id: q.id), title: q.name)
          }.join("<br>").html_safe
        end
      end
    end

    nested_set({max_depth: 2, scopes: []})

    if block_given?
      yield self
    end

  }
end