Module: Spotlight::Catalog::AccessControlsEnforcement::SearchBuilder

Defined in:
lib/spotlight/catalog/access_controls_enforcement.rb

Overview

SearchBuilder mixin

Instance Method Summary collapse

Instance Method Details

#apply_exhibit_resources_filter(solr_params) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/spotlight/catalog/access_controls_enforcement.rb', line 22

def apply_exhibit_resources_filter(solr_params)
  return unless Spotlight::Engine.config.filter_resources_by_exhibit && current_exhibit

  current_exhibit.solr_data.each do |facet_field, values|
    Array(values).each do |value|
      solr_params.append_filter_query send(:facet_value_to_fq_string, facet_field, value)
    end
  end
end

#apply_permissive_visibility_filter(solr_params) ⇒ Object



15
16
17
18
19
20
# File 'lib/spotlight/catalog/access_controls_enforcement.rb', line 15

def apply_permissive_visibility_filter(solr_params)
  return unless current_exhibit
  return if scope.respond_to?(:can?) && scope.can?(:curate, current_exhibit) && !blacklight_params[:public]

  solr_params.append_filter_query "-#{Spotlight::SolrDocument.visibility_field(current_exhibit)}:false"
end