Skip to content
This repository has been archived by the owner on May 14, 2022. It is now read-only.

Commit

Permalink
Adding collection and language facets - closes #208
Browse files Browse the repository at this point in the history
  • Loading branch information
escowles committed Jan 8, 2016
1 parent e96f082 commit bbe55cb
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 3 deletions.
1 change: 1 addition & 0 deletions app/controllers/catalog_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ def self.search_config
config.add_facet_field solr_name('publisher', :facetable), limit: 5
config.add_facet_field solr_name('file_format', :facetable), limit: 5
config.add_facet_field 'generic_type_sim', show: false, single: true
config.add_facet_field solr_name('collection', :facetable), limit: 5

# Have BL send all facet field names to Solr, which has been the default
# previously. Simply remove these lines if you'd rather use Solr request
Expand Down
6 changes: 6 additions & 0 deletions app/models/multi_volume_work.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,10 @@ class MultiVolumeWork < ActiveFedora::Base
include ::CurationConcerns::BasicMetadata
include ::CommonMetadata
include ::NoidBehaviors

def to_solr(solr_doc = {})
super.tap do |doc|
doc[ActiveFedora::SolrQueryBuilder.solr_name("collection", :facetable)] = in_collections.collect(&:title)
end
end
end
1 change: 1 addition & 0 deletions app/models/scanned_resource.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ def to_solr(solr_doc = {})
doc[ActiveFedora::SolrQueryBuilder.solr_name("ordered_by", :symbol)] += send(:ordered_by_ids)
doc[ActiveFedora::SolrQueryBuilder.solr_name("logical_order", :symbol)] = [logical_order.order.to_json]
doc[ActiveFedora::SolrQueryBuilder.solr_name("logical_order_headings", :stored_searchable)] = logical_order.object.each_section.map(&:label)
doc[ActiveFedora::SolrQueryBuilder.solr_name("collection", :facetable)] = in_collections.map(&:title)
end
end

Expand Down
6 changes: 5 additions & 1 deletion config/locales/blacklight.en.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
en:
blacklight:
application_name: 'Blacklight'
application_name: 'Blacklight'
search:
fields:
facet:
collection_sim: Collection
6 changes: 4 additions & 2 deletions spec/features/catalog_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,18 @@
RSpec.feature "CatalogController", type: :feature do
describe "admin user" do
let(:user) { FactoryGirl.create(:admin) }
let(:scanned_resource) { FactoryGirl.create(:scanned_resource, user: user) }
let(:scanned_resource) { FactoryGirl.create(:scanned_resource_in_collection, user: user, language: ['English']) }

before(:each) do
sign_in user
scanned_resource.update_index
end

scenario "Admin users see a state facet" do
scenario "Admin users see collection, language, and state facets" do
visit catalog_index_path q: ""
expect(page).to have_text "Test title"
expect(page).to have_selector "div.blacklight-collection_sim", text: "Collection"
expect(page).to have_selector "div.blacklight-language_sim", text: "Language"
expect(page).to have_selector "div.blacklight-state_sim", text: "State"
end
end
Expand Down
2 changes: 2 additions & 0 deletions spec/models/scanned_resource_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -315,10 +315,12 @@
end
it "marshals logical order into solr" do
subject.logical_order.order = params
subject.save
expect(subject.to_solr["logical_order_ssim"]).to eq [subject.logical_order.order.to_json]
end
it "indexes the headings into the solr record" do
subject.logical_order.order = params2
subject.save

expect(subject.to_solr["logical_order_headings_tesim"]).to eq [
"Chapter 1",
Expand Down

0 comments on commit bbe55cb

Please sign in to comment.