Sha256: 167c2862b2e7474ab56a9a494f2736af015f091a8aa181176714617503fa4e16

Contents?: true

Size: 1.27 KB

Versions: 18

Compression:

Stored size: 1.27 KB

Contents

# frozen_string_literal: true

module Decidim
  class SearchesController < Decidim::ApplicationController
    include Decidim::ControllerHelpers
    include FormFactory
    include FilterResource
    include Paginable
    include HasSpecificBreadcrumb

    helper Decidim::FiltersHelper
    helper_method :term

    def index
      Search.call(term, current_organization, filters, page_params) do
        on(:ok) do |results|
          results_count = results.sum { |results_by_type| results_by_type.last[:count] }
          blocks = Decidim::Searchable.searchable_resources_by_type.map do |type|
            results.select do |t, _results|
              type.include?(t)
            end
          end
          expose(sections: results, blocks:, results_count:)
        end
      end
    end

    private

    def default_filter_params
      {
        term: params[:term],
        with_resource_type: nil,
        with_space_state: nil
      }
    end

    def term
      @term ||= filter_params[:term]
    end

    def filters
      filter_params
    end

    def page_params
      {
        per_page:,
        page: params[:page]
      }
    end

    def breadcrumb_item
      {
        label: t("decidim.search.name"),
        active: true,
        url: search_path
      }
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
decidim-core-0.30.0.rc3 app/controllers/decidim/searches_controller.rb
decidim-core-0.30.0.rc2 app/controllers/decidim/searches_controller.rb
decidim-core-0.30.0.rc1 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.2 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.5 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.1 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.4 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.0 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.3 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.0.rc4 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.0.rc3 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.0.rc2 app/controllers/decidim/searches_controller.rb
decidim-core-0.29.0.rc1 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.2 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.1 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.0 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.0.rc5 app/controllers/decidim/searches_controller.rb
decidim-core-0.28.0.rc4 app/controllers/decidim/searches_controller.rb