Module: Admin::Resources::FiltersHelper
- Defined in:
- app/helpers/admin/resources/filters_helper.rb
Instance Method Summary collapse
Instance Method Details
#build_filters(resource = @resource, params = params) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/helpers/admin/resources/filters_helper.rb', line 3 def build_filters(resource = @resource, params = params) if (typus_filters = resource.typus_filters).any? locals = {} locals[:filters] = typus_filters.map do |key, value| { :key => set_filter(key, value), :value => send("#{value}_filter", key) } end rejections = %w(controller action locale utf8 sort_order order_by) + locals[:filters].map { |f| f[:key] } locals[:hidden_filters] = params.dup.delete_if { |k, v| rejections.include?(k) } render "helpers/admin/resources/filters", locals end end |
#set_filter(key, value) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'app/helpers/admin/resources/filters_helper.rb', line 19 def set_filter(key, value) return key unless value == :belongs_to att_assoc = @resource.reflect_on_association(key.to_sym) class_name = att_assoc.[:class_name] || key.capitalize.camelize resource = class_name.constantize att_assoc.foreign_key end |