Sha256: 6db2fd53ee71734b0428180754833540f0ea7c552e4cf8106422dd14aff5068c

Contents?: true

Size: 986 Bytes

Versions: 6

Compression:

Stored size: 986 Bytes

Contents

# frozen_string_literal: true

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

    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] }
          expose(sections: results, results_count: results_count)
        end
      end
    end

    private

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

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

    def filters
      filter_params
    end

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

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-core-0.27.10 app/controllers/decidim/searches_controller.rb
decidim-core-0.27.9 app/controllers/decidim/searches_controller.rb
decidim-core-0.27.8 app/controllers/decidim/searches_controller.rb
decidim-core-0.27.7 app/controllers/decidim/searches_controller.rb
decidim-core-0.27.6 app/controllers/decidim/searches_controller.rb
decidim-core-0.27.5 app/controllers/decidim/searches_controller.rb