commonwealth-vlr-engine 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/advanced_search.scss +1 -1
- data/app/assets/stylesheets/commonwealth-vlr-engine/basic_search.scss +6 -1
- data/app/assets/stylesheets/commonwealth-vlr-engine/commonwealth-vlr-engine.css +1 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/folders.scss +1 -1
- data/app/assets/stylesheets/commonwealth-vlr-engine/header.scss +9 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/home.scss +9 -0
- data/app/assets/stylesheets/commonwealth-vlr-engine/twitter_typeahead.scss +9 -0
- data/app/controllers/blacklight_advanced_search/advanced_controller.rb +12 -48
- data/app/controllers/bookmarks_controller.rb +8 -8
- data/app/controllers/collections_controller.rb +10 -26
- data/app/controllers/folder_items_actions_controller.rb +2 -2
- data/app/controllers/folders_controller.rb +10 -6
- data/app/controllers/image_viewer_controller.rb +2 -2
- data/app/controllers/institutions_controller.rb +13 -12
- data/app/controllers/ocr_search_controller.rb +2 -8
- data/app/controllers/saved_searches_controller.rb +8 -0
- data/app/controllers/search_history_controller.rb +8 -0
- data/app/helpers/commonwealth_vlr_engine/application_helper.rb +37 -37
- data/app/helpers/commonwealth_vlr_engine/blacklight_helper.rb +3 -11
- data/app/helpers/commonwealth_vlr_engine/blacklight_url_helper.rb +1 -16
- data/app/helpers/commonwealth_vlr_engine/catalog_helper.rb +1 -1
- data/app/helpers/commonwealth_vlr_engine/collections_helper_behavior.rb +1 -1
- data/app/helpers/commonwealth_vlr_engine/institutions_helper_behavior.rb +2 -2
- data/app/helpers/commonwealth_vlr_engine/vlr_blacklight_maps_helper_behavior.rb +10 -6
- data/app/views/advanced/_advanced_search_fields.html.erb +2 -2
- data/app/views/advanced/_advanced_search_form.html.erb +2 -2
- data/app/views/advanced/index.html.erb +1 -1
- data/app/views/bookmarks/index.html.erb +1 -1
- data/app/views/catalog/_basic_search.html.erb +5 -3
- data/app/views/catalog/_constraints.html.erb +1 -1
- data/app/views/catalog/_facet_limit_series.html.erb +7 -5
- data/app/views/catalog/_index_gallery.html.erb +1 -3
- data/app/views/catalog/{_index_map_institutions.html.erb → _index_mapview_institutions.html.erb} +0 -0
- data/app/views/catalog/_search_form.html.erb +14 -4
- data/app/views/catalog/_show_partials/_show_default_metadata.html.erb +9 -0
- data/app/views/catalog/_show_partials/_show_flagged_notice.html.erb +1 -1
- data/app/views/catalog/_show_tools.html.erb +2 -2
- data/app/views/catalog/_zero_results.html.erb +1 -1
- data/app/views/collections/_search_form_collection.html.erb +1 -1
- data/app/views/collections/show.html.erb +1 -1
- data/app/views/feedback/complete.html.erb +1 -1
- data/app/views/institutions/_search_form_institution.html.erb +1 -1
- data/app/views/layouts/commonwealth-vlr-engine.html.erb +2 -2
- data/app/views/ocr_search/_search_form_ocr.html.erb +1 -1
- data/app/views/pages/home.html.erb +2 -1
- data/app/views/saved_searches/index.html.erb +4 -4
- data/app/views/search_history/index.html.erb +5 -5
- data/app/views/shared/_folder_item_actions.html.erb +1 -2
- data/app/views/shared/_footer.html.erb +1 -1
- data/app/views/shared/_header_navbar.html.erb +1 -1
- data/app/views/shared/_nav_links.html.erb +2 -2
- data/app/views/shared/_search_form_header.html.erb +9 -3
- data/app/views/shared/_sitelinks_search_box.html.erb +12 -0
- data/app/views/shared/_tools.html.erb +2 -2
- data/app/views/shared/_user_util_links.html.erb +2 -2
- data/app/views/users/show.html.erb +2 -2
- data/commonwealth-vlr-engine.gemspec +4 -4
- data/config/initializers/assets.rb +2 -0
- data/config/locales/commonwealth-vlr-engine.en.yml +4 -0
- data/config/routes.rb +1 -0
- data/lib/commonwealth-vlr-engine.rb +6 -16
- data/lib/commonwealth-vlr-engine/controller_override.rb +82 -47
- data/lib/commonwealth-vlr-engine/engine.rb +6 -4
- data/lib/commonwealth-vlr-engine/render_constraints_override.rb +3 -2
- data/lib/commonwealth-vlr-engine/search_builder/collections_search_builder.rb +14 -0
- data/lib/commonwealth-vlr-engine/{commonwealth_search_builder.rb → search_builder/commonwealth_search_builder_behavior.rb} +9 -2
- data/lib/commonwealth-vlr-engine/search_builder/flagged_search_builder.rb +14 -0
- data/lib/commonwealth-vlr-engine/search_builder/institutions_search_builder.rb +11 -0
- data/lib/commonwealth-vlr-engine/search_builder/mlt_search_builder.rb +15 -0
- data/lib/commonwealth-vlr-engine/search_builder/ocr_search_builder.rb +10 -0
- data/lib/commonwealth-vlr-engine/version.rb +1 -1
- data/lib/generators/commonwealth_vlr_engine/controller_generator.rb +1 -2
- data/lib/generators/commonwealth_vlr_engine/localassets_generator.rb +1 -1
- data/lib/generators/commonwealth_vlr_engine/model_generator.rb +3 -16
- data/lib/generators/commonwealth_vlr_engine/routes_generator.rb +8 -0
- data/lib/generators/commonwealth_vlr_engine/templates/commonwealth_search_builder.rb +17 -0
- data/lib/generators/commonwealth_vlr_engine/templates/{commonwealth_vlr_engine.css.scss → commonwealth_vlr_engine.scss} +0 -0
- data/spec/controllers/catalog_controller_spec.rb +20 -3
- data/spec/controllers/collections_controller_spec.rb +2 -2
- data/spec/controllers/folder_items_actions_controller_spec.rb +2 -2
- data/spec/controllers/institutions_controller_spec.rb +13 -0
- data/spec/controllers/ocr_search_controller_spec.rb +4 -0
- data/spec/features/more_like_this_search_spec.rb +1 -1
- data/spec/features/ocr_search/index_spec.rb +1 -1
- data/spec/helpers/institutions_helper_spec.rb +10 -5
- data/spec/lib/commonwealth-vlr-engine/search_builder/collections_search_builder_spec.rb +19 -0
- data/spec/lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior_spec.rb +116 -0
- data/spec/lib/commonwealth-vlr-engine/search_builder/flagged_search_builder_spec.rb +19 -0
- data/spec/lib/commonwealth-vlr-engine/search_builder/institutions_search_builder_spec.rb +19 -0
- data/spec/lib/commonwealth-vlr-engine/search_builder/mlt_search_builder_spec.rb +19 -0
- data/spec/lib/commonwealth-vlr-engine/search_builder/ocr_search_builder_spec.rb +19 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +2 -0
- data/tasks/vlr_engine.rake +1 -1
- metadata +38 -23
- data/app/views/bookmarks/_tools.html.erb +0 -25
- data/app/views/catalog/_index_list_default.html.erb +0 -13
- data/lib/commonwealth-vlr-engine/route_sets.rb +0 -49
- data/lib/commonwealth-vlr-engine/routes.rb +0 -21
- data/spec/lib/commonwealth-vlr-engine/commonwealth_search_builder_spec.rb +0 -101
- data/spec/lib/commonwealth-vlr-engine/controller_override_spec.rb +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbc356706414c0b95805533c2ea00a3a7effe6ce
|
4
|
+
data.tar.gz: 11c89f4dcc69806d61f9ede8d50f9b96cf165662
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 782bfa9e350b5564b73eef9318cd52928f11e29a4ef0cb95ca7571fc3a378a540223773a40a2a040109926ead37a2804aa0d7603515487d7e013670d60648da9
|
7
|
+
data.tar.gz: 56e045a323e114dc8c2521c3be14369729a0b00c70cd12571ac308db7758b7794be4ff256fbf72ff09db9517e20d9383658472be3f8e7cb9ed35502bb54b0539
|
data/README.md
CHANGED
@@ -36,3 +36,11 @@ $ rails generate commonwealth_vlr_engine:install
|
|
36
36
|
$ rake db:migrate
|
37
37
|
```
|
38
38
|
You will then need to configure various YAML files to point to existing Solr, Fedora, and IIIF image servers.
|
39
|
+
|
40
|
+
## Blacklight Version Compatibility
|
41
|
+
The table below indicates which versions of Commonwealth-VLR-Engine are compatible with which versions of Blacklight.
|
42
|
+
|
43
|
+
VLR-Engine version | works with Blacklight version
|
44
|
+
----------------------- | ---------------------
|
45
|
+
0.0.2 | >= 6.1.0
|
46
|
+
0.0.1 | >= 5.14.0 to < 6.*
|
@@ -5,9 +5,14 @@
|
|
5
5
|
|
6
6
|
#basic_search_form {
|
7
7
|
|
8
|
+
.twitter-typeahead {
|
9
|
+
width: 45%;
|
10
|
+
margin-right: 4px;
|
11
|
+
}
|
12
|
+
|
8
13
|
#q_basic {
|
9
14
|
@include box-shadow(0 1px 0 rgba(255, 255, 255, 0.2) inset, 0 1px 2px rgba(0, 0, 0, 0.05));
|
10
|
-
width:
|
15
|
+
width: 100%;
|
11
16
|
}
|
12
17
|
|
13
18
|
#basic_search_indexes {
|
@@ -1,14 +1,6 @@
|
|
1
1
|
# Need to sub-class CatalogController so we get all other plugins behavior
|
2
2
|
# for our own "inside a search context" lookup of facets.
|
3
3
|
class BlacklightAdvancedSearch::AdvancedController < CatalogController
|
4
|
-
include AdvancedHelper # so we get the #advanced_search_context method
|
5
|
-
|
6
|
-
# Blacklight uses #search_action_url to figure out the right URL for
|
7
|
-
# the global search box
|
8
|
-
def search_action_url options = {}
|
9
|
-
catalog_index_url(options.except(:controller, :action))
|
10
|
-
end
|
11
|
-
helper_method :search_action_url
|
12
4
|
|
13
5
|
def index
|
14
6
|
@nav_li_active = 'search'
|
@@ -18,49 +10,21 @@ class BlacklightAdvancedSearch::AdvancedController < CatalogController
|
|
18
10
|
end
|
19
11
|
|
20
12
|
protected
|
21
|
-
def get_advanced_search_facets
|
22
|
-
|
23
|
-
search_context_params = {}
|
24
|
-
if (advanced_search_context.length > 0 )
|
25
|
-
# We have a search context, need to fetch facets from within
|
26
|
-
# that context -- but we dont' want to search within any
|
27
|
-
# existing :q or ADVANCED facets, so we remove those params.
|
28
|
-
adv_keys = blacklight_config.search_fields.keys.map {|k| k.to_sym}
|
29
|
-
trimmed_params = params.except *adv_keys
|
30
|
-
trimmed_params.delete(:f_inclusive) # adv facets
|
31
13
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
# using controller.params, not letting us over-ride.
|
37
|
-
search_context_params.delete(:q)
|
38
|
-
search_context_params.delete("q")
|
14
|
+
# Override to use the engine routes
|
15
|
+
def search_action_url options = {}
|
16
|
+
blacklight_advanced_search_engine.url_for(options.merge(action: 'index'))
|
17
|
+
end
|
39
18
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
k =~ /f\..+\.facet\.sort/
|
47
|
-
)
|
48
|
-
end
|
19
|
+
def get_advanced_search_facets
|
20
|
+
# We want to find the facets available for the current search, but:
|
21
|
+
# * IGNORING current query (add in facets_for_advanced_search_form filter)
|
22
|
+
# * IGNORING current advanced search facets (remove add_advanced_search_to_solr filter)
|
23
|
+
response, _ = search_results(params) do |search_builder|
|
24
|
+
search_builder.except(:add_advanced_search_to_solr).append(:facets_for_advanced_search_form)
|
49
25
|
end
|
50
26
|
|
51
|
-
|
52
|
-
input.merge!( search_context_params )
|
53
|
-
|
54
|
-
input[:per_page] = 0 # force
|
55
|
-
|
56
|
-
# force if set
|
57
|
-
input[:qt] = blacklight_config.advanced_search[:qt] if blacklight_config.advanced_search[:qt]
|
58
|
-
|
59
|
-
input.merge!( blacklight_config.advanced_search[:form_solr_parameters] ) if blacklight_config.advanced_search[:form_solr_parameters]
|
60
|
-
|
61
|
-
# ensure empty query is all records, to fetch available facets on entire corpus
|
62
|
-
input[:q] ||= '{!lucene}*:*'
|
63
|
-
|
64
|
-
repository.search(input)
|
27
|
+
return response
|
65
28
|
end
|
29
|
+
|
66
30
|
end
|
@@ -1,15 +1,15 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
class BookmarksController < CatalogController
|
3
3
|
|
4
4
|
include Blacklight::Bookmarks
|
5
5
|
|
6
6
|
# LOCAL OVERRIDE to render update.js.erb partial when bookmark created
|
7
7
|
def create
|
8
|
-
if params[:bookmarks]
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
@bookmarks = if params[:bookmarks]
|
9
|
+
params[:bookmarks]
|
10
|
+
else
|
11
|
+
[{ document_id: params[:id], document_type: blacklight_config.document_model.to_s }]
|
12
|
+
end
|
13
13
|
|
14
14
|
current_or_guest_user.save! unless current_or_guest_user.persisted?
|
15
15
|
|
@@ -21,9 +21,9 @@ class BookmarksController < CatalogController
|
|
21
21
|
# success ? render(json: { bookmarks: { count: current_or_guest_user.bookmarks.count }}) : render(:text => "", :status => "500")
|
22
22
|
success ? render(:update) : render(:text => "", :status => "500")
|
23
23
|
else
|
24
|
-
if @bookmarks.
|
24
|
+
if @bookmarks.any? && success
|
25
25
|
flash[:notice] = I18n.t('blacklight.bookmarks.add.success', :count => @bookmarks.length)
|
26
|
-
elsif @bookmarks.
|
26
|
+
elsif @bookmarks.any?
|
27
27
|
flash[:error] = I18n.t('blacklight.bookmarks.add.failure', :count => @bookmarks.length)
|
28
28
|
end
|
29
29
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class CollectionsController < CatalogController
|
2
2
|
|
3
3
|
##
|
4
|
-
# Give
|
4
|
+
# Give CollectionsController access to the CatalogController configuration
|
5
5
|
include Blacklight::Configurable
|
6
6
|
include Blacklight::SearchHelper
|
7
7
|
|
@@ -16,13 +16,13 @@ class CollectionsController < CatalogController
|
|
16
16
|
# Blacklight uses #search_action_url to figure out the right URL for
|
17
17
|
# the global search box
|
18
18
|
def search_action_url options = {}
|
19
|
-
|
19
|
+
search_catalog_url(options.except(:controller, :action))
|
20
20
|
end
|
21
21
|
helper_method :search_action_url
|
22
22
|
|
23
23
|
def index
|
24
24
|
@nav_li_active = 'explore'
|
25
|
-
(@response, @document_list) = search_results(params
|
25
|
+
(@response, @document_list) = search_results(params)
|
26
26
|
params[:view] = 'list'
|
27
27
|
params[:sort] = 'title_info_primary_ssort asc'
|
28
28
|
|
@@ -40,7 +40,7 @@ class CollectionsController < CatalogController
|
|
40
40
|
params[:f] = set_collection_facet_params(@collection_title, @document)
|
41
41
|
|
42
42
|
# get the response for the facets representing items in collection
|
43
|
-
(@response, @document_list) = search_results({:f => params[:f]}
|
43
|
+
(@response, @document_list) = search_results({:f => params[:f]})
|
44
44
|
|
45
45
|
# get an image for the collection
|
46
46
|
if @document[:exemplary_image_ssi]
|
@@ -70,7 +70,7 @@ class CollectionsController < CatalogController
|
|
70
70
|
|
71
71
|
# filter out non-collection items
|
72
72
|
def collections_limit
|
73
|
-
|
73
|
+
blacklight_config.search_builder_class = CommonwealthCollectionsSearchBuilder
|
74
74
|
end
|
75
75
|
|
76
76
|
# find the title and pid for the object representing the collection image
|
@@ -92,15 +92,12 @@ class CollectionsController < CatalogController
|
|
92
92
|
col_img_info
|
93
93
|
end
|
94
94
|
|
95
|
-
# find a representative image for a series
|
96
|
-
# TODO better exception handling for items which don't have exemplary_image
|
95
|
+
# find a representative image/item for a series
|
97
96
|
def get_series_image_obj(series_title,collection_title)
|
98
|
-
|
99
|
-
series_doc_list = search_results(
|
100
|
-
|
101
|
-
|
102
|
-
:rows => 1},
|
103
|
-
search_params_logic)[1]
|
97
|
+
blacklight_config.search_builder_class = CommonwealthFlaggedSearchBuilder # ignore flagged items
|
98
|
+
series_doc_list = search_results({f: {'related_item_series_ssim' => series_title,
|
99
|
+
blacklight_config.collection_field => collection_title},
|
100
|
+
rows: 1})[1]
|
104
101
|
series_doc_list.first
|
105
102
|
end
|
106
103
|
helper_method :get_series_image_obj
|
@@ -112,17 +109,4 @@ class CollectionsController < CatalogController
|
|
112
109
|
facet_params
|
113
110
|
end
|
114
111
|
|
115
|
-
# Not using this for now
|
116
|
-
# find a representative image for a collection if none is assigned
|
117
|
-
# TODO better exception handling for items which don't have exemplary_image
|
118
|
-
#def get_collection_image_pid(collection_title)
|
119
|
-
# (@default_coll_img_resp, @default_coll_img_doc_list) = search_results(
|
120
|
-
# {:f => {blacklight_config.collection_field => collection_title,
|
121
|
-
# 'has_model_ssim' => 'info:fedora/afmodel:Bplmodels_ObjectBase'},
|
122
|
-
# :rows => 1
|
123
|
-
# })
|
124
|
-
# @default_coll_img_doc_list.first[:exemplary_image_ssi]
|
125
|
-
#end
|
126
|
-
#helper_method :get_collection_image_pid
|
127
|
-
|
128
112
|
end
|
@@ -13,10 +13,10 @@ class FolderItemsActionsController < ApplicationController
|
|
13
13
|
case params[:commit]
|
14
14
|
# email
|
15
15
|
when t('blacklight.tools.email')
|
16
|
-
redirect_to
|
16
|
+
redirect_to email_solr_document_path(:id => items)
|
17
17
|
# cite
|
18
18
|
when t('blacklight.tools.citation')
|
19
|
-
redirect_to
|
19
|
+
redirect_to citation_solr_document_path(:id => items)
|
20
20
|
# remove
|
21
21
|
when t('blacklight.tools.remove')
|
22
22
|
if params[:origin] == "folders"
|
@@ -4,13 +4,14 @@ class FoldersController < CatalogController
|
|
4
4
|
# Give Bookmarks access to the CatalogController configuration
|
5
5
|
include Blacklight::Configurable
|
6
6
|
include Blacklight::SearchHelper
|
7
|
+
include Blacklight::TokenBasedUser
|
7
8
|
|
8
9
|
copy_blacklight_config_from(CatalogController)
|
9
10
|
|
10
11
|
# Blacklight uses #search_action_url to figure out the right URL for
|
11
12
|
# the global search box
|
12
13
|
def search_action_url options = {}
|
13
|
-
|
14
|
+
search_catalog_url(options.except(:controller, :action))
|
14
15
|
end
|
15
16
|
helper_method :search_action_url
|
16
17
|
|
@@ -19,12 +20,15 @@ class FoldersController < CatalogController
|
|
19
20
|
before_filter :correct_user_for_folder, :only => [:update, :destroy]
|
20
21
|
|
21
22
|
def index
|
22
|
-
if
|
23
|
-
|
23
|
+
flash[:notice] = flash[:notice].html_safe if flash[:notice].present? and flash[:notice] == %Q[Welcome! You're viewing Digital Stacks items using a link from a temporary card. To save these items to a free permanent account, click <a href="#{new_user_session_path}" title="Sign Up Link">Sign Up / Log In</a>.]
|
24
|
+
if current_or_guest_user
|
25
|
+
@folders = current_or_guest_user.folders
|
24
26
|
end
|
25
27
|
end
|
26
28
|
|
27
29
|
def show
|
30
|
+
flash[:notice] = flash[:notice].html_safe if flash[:notice].present? and flash[:notice] == %Q[Welcome! You're viewing Digital Stacks items using a link from a temporary card. To save these items to a free permanent account, click <a href="#{new_user_session_path}" title="Sign Up Link">Sign Up / Log In</a>.]
|
31
|
+
|
28
32
|
# @folder is set by correct_user_for_folder
|
29
33
|
@folder_items = @folder.folder_items
|
30
34
|
folder_items_ids = @folder_items.collect { |f_item| f_item.document_id.to_s }
|
@@ -58,7 +62,7 @@ class FoldersController < CatalogController
|
|
58
62
|
# if @folder.save
|
59
63
|
# flash[:success] = "Folder created; " + t('blacklight.folder_items.add.success')
|
60
64
|
# current_user.folders.first.folder_items.create!(:document_id => params['id'].first)
|
61
|
-
# redirect_to
|
65
|
+
# redirect_to solr_document_path(params['id']) unless request.xhr?
|
62
66
|
# else
|
63
67
|
# flash[:error] = t('blacklight.folders.create.error.no_save')
|
64
68
|
# end
|
@@ -122,8 +126,8 @@ class FoldersController < CatalogController
|
|
122
126
|
|
123
127
|
def correct_user_for_folder
|
124
128
|
@folder ||= Bpluser::Folder.find(params[:id])
|
125
|
-
if
|
126
|
-
flash[:notice] = t('blacklight.folders.private') and redirect_to root_path unless
|
129
|
+
if current_or_guest_user
|
130
|
+
flash[:notice] = t('blacklight.folders.private') and redirect_to root_path unless current_or_guest_user.folders.include?(@folder)
|
127
131
|
else
|
128
132
|
flash[:notice] = t('blacklight.folders.private') and redirect_to root_path
|
129
133
|
end
|
@@ -10,8 +10,8 @@ class ImageViewerController < CatalogController
|
|
10
10
|
@page_sequence = get_page_sequence(@document.id, params[:view])
|
11
11
|
respond_to do |format|
|
12
12
|
format.js
|
13
|
-
format.html { redirect_to
|
14
|
-
|
13
|
+
format.html { redirect_to solr_document_path(@document.id,
|
14
|
+
:view => params[:view]) }
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -7,18 +7,21 @@ class InstitutionsController < CatalogController
|
|
7
7
|
|
8
8
|
copy_blacklight_config_from(CatalogController)
|
9
9
|
|
10
|
+
before_filter :institutions_index_config, :only => [:index]
|
11
|
+
# remove collection facet and collapse others
|
12
|
+
before_filter :relation_base_blacklight_config, :only => [:show]
|
13
|
+
|
10
14
|
# Blacklight uses #search_action_url to figure out the right URL for
|
11
15
|
# the global search box
|
12
16
|
def search_action_url options = {}
|
13
|
-
|
17
|
+
search_catalog_url(options.except(:controller, :action))
|
14
18
|
end
|
15
19
|
helper_method :search_action_url
|
16
20
|
|
17
21
|
def index
|
18
22
|
@nav_li_active = 'explore'
|
19
|
-
self.search_params_logic += [:institutions_filter]
|
20
23
|
params[:per_page] = params[:per_page].presence || '50'
|
21
|
-
(@response, @document_list) = search_results(params
|
24
|
+
(@response, @document_list) = search_results(params)
|
22
25
|
params[:view] ||= 'list' # still need this or grid view is invoked
|
23
26
|
params[:sort] = 'title_info_primary_ssort asc'
|
24
27
|
|
@@ -33,13 +36,13 @@ class InstitutionsController < CatalogController
|
|
33
36
|
@institution_title = @document[blacklight_config.index.title_field.to_sym]
|
34
37
|
|
35
38
|
# get the response for collection objects
|
36
|
-
@collex_response, @collex_documents = search_results({:f => {'active_fedora_model_suffix_ssi' => 'Collection','institution_pid_ssi' => params[:id]},:rows => 100, :sort => 'title_info_primary_ssort asc'}
|
39
|
+
@collex_response, @collex_documents = search_results({:f => {'active_fedora_model_suffix_ssi' => 'Collection','institution_pid_ssi' => params[:id]},:rows => 100, :sort => 'title_info_primary_ssort asc'})
|
37
40
|
|
38
41
|
# add params[:f] for proper facet links
|
39
42
|
params[:f] = {blacklight_config.institution_field => [@institution_title]}
|
40
43
|
|
41
44
|
# get the response for the facets representing items in collection
|
42
|
-
(@response, @document_list) = search_results({:f => params[:f]}
|
45
|
+
(@response, @document_list) = search_results({:f => params[:f]})
|
43
46
|
|
44
47
|
respond_to do |format|
|
45
48
|
format.html
|
@@ -47,16 +50,14 @@ class InstitutionsController < CatalogController
|
|
47
50
|
|
48
51
|
end
|
49
52
|
|
50
|
-
|
51
|
-
|
53
|
+
private
|
54
|
+
|
55
|
+
# remove grid view from blacklight_config, use correct SearchBuilder for index view
|
56
|
+
def institutions_index_config
|
57
|
+
blacklight_config.search_builder_class = CommonwealthInstitutionsSearchBuilder
|
52
58
|
blacklight_config.view.delete(:gallery)
|
53
59
|
blacklight_config.view.delete(:masonry)
|
54
60
|
blacklight_config.view.delete(:slideshow)
|
55
61
|
end
|
56
62
|
|
57
|
-
before_filter :remove_unwanted_views, :only => [:index]
|
58
|
-
|
59
|
-
# remove collection facet and collapse others
|
60
|
-
before_filter :relation_base_blacklight_config, :only => [:show]
|
61
|
-
|
62
63
|
end
|
@@ -9,7 +9,6 @@ class OcrSearchController < CatalogController
|
|
9
9
|
copy_blacklight_config_from(CatalogController)
|
10
10
|
|
11
11
|
before_filter :modify_config_for_ocr, :only => [:index]
|
12
|
-
before_filter :modify_search_params_logic_for_ocr, :only => [:index]
|
13
12
|
|
14
13
|
def index
|
15
14
|
@doc_response, @document = fetch(params[:id])
|
@@ -22,7 +21,7 @@ class OcrSearchController < CatalogController
|
|
22
21
|
# for some reason, have to set :fl here, or gets scrubbed out of ocr_search_params somehow
|
23
22
|
blacklight_config.default_solr_params[:fl] =
|
24
23
|
"id,#{blacklight_config.page_num_field},#{termfreq_query(params[:ocr_q])}"
|
25
|
-
(@response, @document_list) = search_results(ocr_search_params
|
24
|
+
(@response, @document_list) = search_results(ocr_search_params)
|
26
25
|
else
|
27
26
|
(@response, @document_list) = {},[]
|
28
27
|
end
|
@@ -39,6 +38,7 @@ class OcrSearchController < CatalogController
|
|
39
38
|
|
40
39
|
# modify Solr query/response for OCR searches
|
41
40
|
def modify_config_for_ocr
|
41
|
+
blacklight_config.search_builder_class = CommonwealthOcrSearchBuilder
|
42
42
|
blacklight_config.sort_fields = {}
|
43
43
|
blacklight_config.add_sort_field 'score desc, system_create_dtsi asc', label: 'relevance'
|
44
44
|
blacklight_config.add_sort_field 'system_create_dtsi asc', label: 'page #'
|
@@ -49,12 +49,6 @@ class OcrSearchController < CatalogController
|
|
49
49
|
blacklight_config.default_per_page = 5
|
50
50
|
end
|
51
51
|
|
52
|
-
# modify Solr search_params_logic for OCR searches
|
53
|
-
def modify_search_params_logic_for_ocr
|
54
|
-
self.search_params_logic -= [:exclude_unwanted_models, :institution_limit]
|
55
|
-
self.search_params_logic += [:ocr_search_params] unless self.search_params_logic.include?(:ocr_search_params)
|
56
|
-
end
|
57
|
-
|
58
52
|
# create the Solr function query to return term frequency
|
59
53
|
def termfreq_query(ocr_search_terms)
|
60
54
|
search_terms = if ocr_search_terms =~ (/\A"[\s\S]*"\z/) # phrase search
|