Sha256: e13dc5aacb94c08ce2d6a393219387aa3ff3b8822fa2b4667714b87a8a210871

Contents?: true

Size: 855 Bytes

Versions: 6

Compression:

Stored size: 855 Bytes

Contents

module Basepack
  module Forms
    module Factories
      class QueryRailsAdmin < Factories::RailsAdmin
        def initialize(view, form_class = Forms::Query, group_class = Groups::Base)
          super(:query, view, form_class, group_class)
        end

        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
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
basepack-1.0.1 lib/basepack/forms/factories/query_rails_admin.rb
basepack-1.0.0 lib/basepack/forms/factories/query_rails_admin.rb
basepack-1.0.0.pre.0 lib/basepack/forms/factories/query_rails_admin.rb
basepack-0.2.0 lib/basepack/forms/factories/query_rails_admin.rb
basepack-0.1.0 lib/basepack/forms/factories/query_rails_admin.rb
basepack-0.0.2 lib/basepack/forms/factories/query_rails_admin.rb