Sha256: c7c4303fec14ab73dd05ff13169109b130b02bd5d946ad3553944139f4d1a4d9

Contents?: true

Size: 1.28 KB

Versions: 30

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

require "active_support/concern"

module Decidim
  module Moderations
    module Admin
      module Filterable
        extend ActiveSupport::Concern

        included do
          include Decidim::Admin::Filterable

          private

          def base_query
            collection
          end

          def filters
            [
              :reportable_type_string_eq
            ]
          end

          def filters_with_values
            {
              reportable_type_string_eq: reportable_types
            }
          end

          def dynamically_translated_filters
            [:reportable_type_string_eq]
          end

          def translated_reportable_type_string_eq(value)
            value.constantize.name.demodulize
          end

          # Private: the predicate used by `Ransack` to perform a search. We used `reported` instead
          #          of `reportable` because otherwise `Ransack` try to traverse the polymorphic
          #          association automatically and it fails.
          def search_field_predicate
            :reported_id_string_or_reported_content_cont
          end

          def reportable_types
            collection.pluck(:decidim_reportable_type).uniq.sort
          end
        end
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
decidim-admin-0.26.8 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.4 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.3 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.7 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.5 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.2 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.1 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.4 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.0 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.3 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.0.rc2 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.27.0.rc1 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.2 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.1 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.0 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.0.rc2 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.26.0.rc1 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.25.2 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.25.1 app/controllers/concerns/decidim/moderations/admin/filterable.rb
decidim-admin-0.25.0 app/controllers/concerns/decidim/moderations/admin/filterable.rb