Class: Decidim::SearchesController

Inherits:
ApplicationController show all
Includes:
ControllerHelpers, FilterResource, FormFactory, HasSpecificBreadcrumb, Paginable
Defined in:
decidim-core/app/controllers/decidim/searches_controller.rb

Constant Summary

Constants included from Paginable

Paginable::OPTIONS

Instance Method Summary collapse

Methods included from ControllerHelpers

#expose, included, #present, #presenter

Methods included from UserBlockedChecker

#check_user_block_status, #check_user_not_blocked

Methods included from NeedsSnippets

#snippets

Methods included from Headers::HttpCachingDisabler

#disable_http_caching

Methods included from HasStoredPath

#skip_store_location?, #store_current_location

Methods included from RegistersPermissions

register_permissions

Methods included from NeedsOrganization

enhance_controller, extended, included

Instance Method Details

#indexObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'decidim-core/app/controllers/decidim/searches_controller.rb', line 14

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