module AckRocketCmsCatalog

Constants

VERSION

Public Class Methods

active_record?() click to toggle source
# File lib/ack_rocket_cms_catalog.rb, line 20
def active_record?
  false
  # AckRocketCmsCatalog.orm == :active_record
end
config() click to toggle source
# File lib/ack_rocket_cms_catalog/configuration.rb, line 5
def self.config
  @configuration ||= Configuration.new
end
configuration() click to toggle source
# File lib/ack_rocket_cms_catalog/configuration.rb, line 2
def self.configuration
  @configuration ||= Configuration.new
end
configure() { |configuration| ... } click to toggle source
# File lib/ack_rocket_cms_catalog/configuration.rb, line 9
def self.configure
  yield configuration
end
item_category_config(fields = {}) { || ... } click to toggle source
# File lib/ack_rocket_cms_catalog/admin.rb, line 77
def item_category_config(fields = {})
  Proc.new {

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

      field :enabled, :toggle
      field :name
      field :image

      field :items do
        read_only true

        pretty_value do
          bindings[:object].items.to_a.map { |h|
            (bindings[:view] || bindings[:controller]).link_to(h.name, (bindings[:view] || bindings[:controller]).rails_admin.show_path(model_name: "item", id: h.id), title: h.name)
          }.join("<br>").html_safe
        end
      end
    end

    edit do
      field :enabled, :toggle
      field :name
      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 do
          :image_jcrop_options
        end
      end
      field :excerpt, :ck_editor
      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

      group :seo, &RocketCMS.seo_config
      group :sitemap_data, &RocketCMS.sitemap_data_config

      field :items do
        read_only true
        help 'Список товаров'

        pretty_value do
          bindings[:object].items.to_a.map { |h|
            (bindings[:view] || bindings[:controller]).link_to(h.name, (bindings[:view] || bindings[:controller]).rails_admin.edit_path(model_name: "item", id: h.id), title: h.name)
          }.join("<br>").html_safe
        end
      end
    end

    show do
      field :name
      field :sidebar_title
      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 :enabled
      field :image
      field :excerpt
      field :content

      field :items do
        read_only true

        pretty_value do
          bindings[:object].items.to_a.map { |h|
            (bindings[:view] || bindings[:controller]).link_to(h.name, (bindings[:view] || bindings[:controller]).rails_admin.show_path(model_name: "item", id: h.id), title: h.name)
          }.join("<br>").html_safe
        end
      end
    end

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

    sort_embedded(
        {
            fields: [:item_category_images]
        }
    )

    if block_given?
      yield
    end
  }
end
item_category_image_config(fields = {}) click to toggle source
# File lib/ack_rocket_cms_catalog/admin.rb, line 201
def item_category_image_config(fields = {})
  Proc.new {
    RocketCMS.embedded_image_config(fields)
  }
end
item_config(fields = {}) { || ... } click to toggle source
# File lib/ack_rocket_cms_catalog/admin.rb, line 3
def item_config(fields = {})
  Proc.new {

    # field :views_count do
    #   read_only true
    # end

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

      field :enabled, :toggle
      field :name
      field :price
      field :item_categories
      field :image
    end

    edit do
      field :enabled, :toggle
      field :name
      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 do
          :image_jcrop_options
        end
      end
      field :item_categories
      field :excerpt, :ck_editor
      field :content, :ck_editor

      field :item_images

      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, &RocketCMS.seo_config
      group :sitemap_data, &RocketCMS.sitemap_data_config
    end

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

    sort_embedded(
        {
            fields: [:item_images]
        }
    )

    if block_given?
      yield
    end
  }
end
item_image_config(fields = {}) click to toggle source
# File lib/ack_rocket_cms_catalog/admin.rb, line 194
def item_image_config(fields = {})
  Proc.new {
    RocketCMS.embedded_image_config(fields)
  }
end
model_namespace() click to toggle source
# File lib/ack_rocket_cms_catalog.rb, line 24
def model_namespace
  "AckRocketCmsCatalog::Models::#{AckRocketCmsCatalog.orm.to_s.camelize}"
end
mongoid?() click to toggle source
# File lib/ack_rocket_cms_catalog.rb, line 16
def mongoid?
  true
  # AckRocketCmsCatalog.orm == :mongoid
end
orm() click to toggle source
# File lib/ack_rocket_cms_catalog.rb, line 13
def orm
  :mongoid
end
orm_specific(name) click to toggle source
# File lib/ack_rocket_cms_catalog.rb, line 27
def orm_specific(name)
  "#{model_namespace}::#{name}".constantize
end