Class: Hyrax::CatalogSearchBuilder
- Inherits:
-
SearchBuilder
- Object
- Blacklight::SearchBuilder
- SearchBuilder
- Hyrax::CatalogSearchBuilder
- Defined in:
- app/search_builders/hyrax/catalog_search_builder.rb
Instance Method Summary collapse
-
#filter_collection_facet_for_access(solr_parameters) ⇒ Object
only return facet counts for collections that this user has access to see.
-
#show_only_active_records(solr_parameters) ⇒ Object
show works that are in the active state.
-
#show_works_or_works_that_contain_files(solr_parameters) ⇒ Object
show both works that match the query and works that contain files that match the query.
Methods included from SearchFilters
#gated_discovery_filters, #with_access
Methods included from FilterSuppressed
Methods included from FilterByType
Instance Method Details
#filter_collection_facet_for_access(solr_parameters) ⇒ Object
only return facet counts for collections that this user has access to see
24 25 26 27 28 29 30 31 32 33 |
# File 'app/search_builders/hyrax/catalog_search_builder.rb', line 24 def filter_collection_facet_for_access(solr_parameters) return if current_ability.admin? collection_ids = Hyrax::Collections::PermissionsService.collection_ids_for_view(ability: current_ability).map { |id| "^#{id}$" } solr_parameters['f.member_of_collection_ids_ssim.facet.matches'] = if collection_ids.present? collection_ids.join('|') else "^$" end end |
#show_only_active_records(solr_parameters) ⇒ Object
show works that are in the active state.
18 19 20 21 |
# File 'app/search_builders/hyrax/catalog_search_builder.rb', line 18 def show_only_active_records(solr_parameters) solr_parameters[:fq] ||= [] solr_parameters[:fq] << '-suppressed_bsi:true' end |
#show_works_or_works_that_contain_files(solr_parameters) ⇒ Object
show both works that match the query and works that contain files that match the query
10 11 12 13 14 15 |
# File 'app/search_builders/hyrax/catalog_search_builder.rb', line 10 def show_works_or_works_that_contain_files(solr_parameters) return if blacklight_params[:q].blank? || blacklight_params[:search_field] != 'all_fields' solr_parameters[:user_query] = blacklight_params[:q] solr_parameters[:q] = new_query solr_parameters[:defType] = 'lucene' end |