Class: Basepack::Forms::Factories::QueryRailsAdmin

Inherits:
RailsAdmin show all
Defined in:
lib/basepack/forms/factories/query_rails_admin.rb

Constant Summary

Constants inherited from Base

Base::FIELDS

Instance Attribute Summary

Attributes inherited from RailsAdmin

#section

Instance Method Summary collapse

Methods inherited from Base

#new_field, #new_form, #new_group

Constructor Details

#initialize(view, form_class = Forms::Query, group_class = Groups::Base) ⇒ QueryRailsAdmin



5
6
7
# File 'lib/basepack/forms/factories/query_rails_admin.rb', line 5

def initialize(view, form_class = Forms::Query, group_class = Groups::Base)
  super(:query, view, form_class, group_class)
end

Instance Method Details

#build_form(form) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/basepack/forms/factories/query_rails_admin.rb', line 9

def build_form(form)
  super(form)

  rans_assoc = form.resource_class.ransackable_associations(form.auth_object)
  rans_attrs = form.resource_class.ransackable_attributes(form.auth_object)

  form.fields.each do |f|
    if f.association?
      f.filterable = rans_assoc.include?(f.name.to_s)
    elsif f.virtual?
      #  f.filterable = false
    else
      f.filterable = rans_attrs.include?(f.name.to_s) if f.filterable?
    end
  end

  form
end