# ПОДкатегории строительных материалов ActiveAdmin.register C80Yax::Strsubcat, as: 'Strsubcat' do menu :label => proc{ I18n.t('c80_yax.active_admin.menu.strsubcat')}, :parent => 'x_c80_yax', :priority => 1 permit_params :title, :slug, :ord, :parent_id, :prop_name_ids => []#, # :main_props_attributes => [:id, :_destroy, :prop_name_ids => []], # :common_props_attributes => [:id, :_destroy, :prop_name_ids => []], # :price_props_attributes => [:id, :_destroy, :prop_name_ids => []] config.sort_order = 'id_asc' # controller do # cache_sweeper :strsubcat_sweeper, :only => [:update,:create,:destroy] # end # before_filter :skip_sidebar!, :only => :index filter :title # filter :parent_id_in, # :as => :select, # :collection => -> { C80Yax::Strsubcat.all.map { |s| [s.title,s.id] }}, # :input_html => { # :class => 'selectpicker', # :title => '', # :data => { # :size => 10, # :width => '100%' # } # } # controller do # cache_sweeper :suit_sweeper, :only => [:update,:create,:destroy] # end index do selectable_column id_column column :ord do |str_sub_cat| editable_text_column str_sub_cat, :ord end column :title # column :parent column :prop_names do |strsubcat| res = '-' if strsubcat.prop_names.count > 0 res = '' strsubcat.prop_names.map do |prop_name| res += "• #{prop_name.title}
" end end res.html_safe end # column :strcats do |str_sub_cat| # str = '-' # if str_sub_cat.strcats.count > 0 # str = str_sub_cat.strcats.first.title # end # str # end actions end form(:html => {:multipart => true}) do |f| f.inputs 'Свойства подкатегории' do f.input :title f.input :ord f.input :parent, :as => :select, :collection => C80Yax::Strsubcat.where.not(id:f.object.id).map { |s| ["#{s.title}", s.id]}, :input_html => { :class => 'selectpicker', :title => ' ', :data => { :size => '10', :width => '400px' }, :multiple => false }, :include_blank => true end f.inputs 'Характеристики, которыми описываются товары из этой подкатегории', :class => 'collapsed' do f.input :prop_names, :as => :check_boxes end # f.inputs "Характеристки, которые выводятся на странице просмотра товара справа от картинки (например)", :class => 'collapsed-bug fieldset_main_props' do # f.has_many :main_props, allow_destroy: true do |main_prop| # main_prop.input :prop_names, # :as => :select, # :input_html => {:multiple => false}, # :collection => PropName.includes(:strsubcats).where(:strsubcats => {:id => f.object.id}) # # end # end # f.inputs "Ценовые характеристики, которые выводятся на странице просмотра товара под картинкой (пример 1, пример 2)".html_safe, :class => 'collapsed-bug fieldset_price_props' do # f.has_many :price_props, allow_destroy: true do |price_prop| # price_prop.input :prop_names, # :as => :select, # :input_html => {:multiple => false}, # :collection => PropName.includes(:strsubcats).where(:strsubcats => {:id => f.object.id}).where(:prop_names => {:is_normal_price => 1}) # end # end # f.inputs "Характеристки, которые выводятся на странице просмотра товара в блоке 'дополнительные характеристики' (например)", :class => 'collapsed-bug fieldset_common_props' do # f.has_many :common_props, allow_destroy: true do |common_prop| # common_prop.input :prop_names, # :as => :select, # :input_html => {:multiple => false}, # :collection => PropName.includes(:strsubcats).where(:strsubcats => {:id => f.object.id}) # end # end f.actions end end