geoblacklight_admin 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +27 -3
  3. data/Rakefile +30 -12
  4. data/app/assets/javascripts/geoblacklight_admin.js +1 -0
  5. data/app/assets/stylesheets/geoblacklight_admin/_core.scss +5 -0
  6. data/app/assets/stylesheets/geoblacklight_admin/modules/_chosen.scss +425 -0
  7. data/app/controllers/admin/admin_controller.rb +4 -2
  8. data/app/controllers/admin/advanced_search_controller.rb +123 -103
  9. data/app/controllers/admin/api_controller.rb +123 -108
  10. data/app/controllers/admin/bookmarks_controller.rb +4 -4
  11. data/app/controllers/admin/bulk_actions_controller.rb +9 -4
  12. data/app/controllers/admin/concerns/upload_util.rb +2 -0
  13. data/app/controllers/admin/document_accesses_controller.rb +10 -4
  14. data/app/controllers/admin/document_assets_controller.rb +14 -11
  15. data/app/controllers/admin/document_downloads_controller.rb +12 -10
  16. data/app/controllers/admin/documents_controller.rb +16 -8
  17. data/app/controllers/admin/elements_controller.rb +6 -5
  18. data/app/controllers/admin/form_elements_controller.rb +4 -4
  19. data/app/controllers/admin/ids_controller.rb +107 -87
  20. data/app/controllers/admin/import_documents_controller.rb +1 -1
  21. data/app/controllers/admin/imports_controller.rb +7 -3
  22. data/app/controllers/admin/mappings_controller.rb +6 -4
  23. data/app/controllers/admin/notifications_controller.rb +1 -1
  24. data/app/controllers/admin/search_controller.rb +1 -1
  25. data/app/controllers/admin/users_controller.rb +1 -1
  26. data/app/helpers/form_input_helper.rb +4 -4
  27. data/app/helpers/geoblacklight_admin_helper.rb +1 -1
  28. data/app/jobs/export_job.rb +2 -1
  29. data/app/models/admin/bookmark.rb +18 -0
  30. data/app/models/api_search_builder.rb +3 -1
  31. data/app/models/document/bbox_validator.rb +9 -5
  32. data/app/models/document/date_range_validator.rb +13 -10
  33. data/app/models/document/geom_validator.rb +4 -2
  34. data/app/models/document.rb +15 -7
  35. data/app/models/element.rb +9 -7
  36. data/app/models/form_control.rb +2 -0
  37. data/app/models/form_element.rb +2 -0
  38. data/app/models/form_feature.rb +2 -0
  39. data/app/models/form_group.rb +2 -0
  40. data/app/models/form_header.rb +2 -0
  41. data/app/models/geoblacklight_admin/schema.rb +5 -2
  42. data/app/models/geoblacklight_admin.rb +2 -0
  43. data/app/models/import/csv_duplicates_validator.rb +2 -1
  44. data/app/models/import/csv_header_validator.rb +2 -1
  45. data/app/models/import.rb +4 -7
  46. data/app/models/user.rb +1 -1
  47. data/app/services/export_csv_service.rb +5 -1
  48. data/app/views/admin/advanced_search/facets.json.jbuilder +9 -8
  49. data/app/views/admin/advanced_search/index.json.jbuilder +8 -7
  50. data/app/views/admin/api/_field.json.jbuilder +1 -1
  51. data/app/views/admin/api/fetch.json.jbuilder +8 -7
  52. data/app/views/admin/api/index.json.jbuilder +8 -7
  53. data/app/views/admin/bookmarks/index.html.erb +2 -2
  54. data/app/views/admin/bulk_actions/index.html.erb +3 -3
  55. data/app/views/admin/bulk_actions/show.html.erb +1 -1
  56. data/app/views/admin/document_accesses/_form.html.erb +1 -1
  57. data/app/views/admin/document_accesses/destroy_all.html.erb +2 -2
  58. data/app/views/admin/document_accesses/edit.html.erb +1 -1
  59. data/app/views/admin/document_accesses/import.html.erb +2 -2
  60. data/app/views/admin/document_accesses/index.html.erb +9 -9
  61. data/app/views/admin/document_accesses/new.html.erb +1 -1
  62. data/app/views/admin/document_downloads/_form.html.erb +1 -1
  63. data/app/views/admin/document_downloads/destroy_all.html.erb +1 -1
  64. data/app/views/admin/document_downloads/edit.html.erb +2 -3
  65. data/app/views/admin/document_downloads/import.html.erb +1 -1
  66. data/app/views/admin/document_downloads/index.html.erb +9 -9
  67. data/app/views/admin/document_downloads/new.html.erb +1 -1
  68. data/app/views/admin/document_downloads/show.html.erb +2 -2
  69. data/app/views/admin/documents/_document_bookmark.html.erb +1 -1
  70. data/app/views/admin/documents/_form_nav.html.erb +1 -1
  71. data/app/views/admin/documents/_json_btaa_aardvark.jbuilder +1 -3
  72. data/app/views/admin/documents/edit.html.erb +1 -1
  73. data/app/views/admin/documents/features/_multiple_download_links.html.erb +2 -2
  74. data/app/views/admin/documents/index.html.erb +2 -4
  75. data/app/views/admin/documents/versions.html.erb +1 -1
  76. data/app/views/admin/elements/_element.json.jbuilder +4 -1
  77. data/app/views/admin/elements/_form.html.erb +1 -1
  78. data/app/views/admin/elements/edit.html.erb +2 -2
  79. data/app/views/admin/elements/index.html.erb +3 -3
  80. data/app/views/admin/elements/index.json.jbuilder +2 -0
  81. data/app/views/admin/elements/new.html.erb +1 -1
  82. data/app/views/admin/elements/show.html.erb +6 -6
  83. data/app/views/admin/elements/show.json.jbuilder +2 -0
  84. data/app/views/admin/form_elements/_form.html.erb +1 -1
  85. data/app/views/admin/form_elements/_form_element.json.jbuilder +2 -0
  86. data/app/views/admin/form_elements/edit.html.erb +2 -2
  87. data/app/views/admin/form_elements/index.html.erb +1 -1
  88. data/app/views/admin/form_elements/index.json.jbuilder +2 -0
  89. data/app/views/admin/form_elements/new.html.erb +1 -1
  90. data/app/views/admin/form_elements/show.html.erb +2 -2
  91. data/app/views/admin/form_elements/show.json.jbuilder +2 -0
  92. data/app/views/admin/ids/fetch.json.jbuilder +8 -7
  93. data/app/views/admin/ids/index.json.jbuilder +3 -2
  94. data/app/views/admin/import_documents/show.html.haml +1 -1
  95. data/app/views/admin/imports/_import.json.jbuilder +2 -1
  96. data/app/views/admin/imports/_show_failed_tab.html.erb +2 -2
  97. data/app/views/admin/imports/_show_success_tab.html.erb +1 -1
  98. data/app/views/admin/imports/edit.html.erb +3 -3
  99. data/app/views/admin/imports/index.html.erb +3 -3
  100. data/app/views/admin/layouts/application.html.erb +4 -4
  101. data/app/views/admin/mappings/_form.html.erb +1 -1
  102. data/app/views/admin/mappings/_mapping.json.jbuilder +2 -1
  103. data/app/views/admin/mappings/edit.html.erb +2 -2
  104. data/app/views/admin/mappings/new.html.erb +1 -1
  105. data/app/views/admin/mappings/show.html.erb +2 -2
  106. data/app/views/admin/notifications/index.html.erb +3 -3
  107. data/app/views/admin/search/index.html.erb +2 -2
  108. data/app/views/admin/shared/_navbar.html.erb +8 -3
  109. data/app/views/catalog/_show_gbl_admin.html.erb +3 -0
  110. data/config/routes.rb +37 -33
  111. data/db/migrate/20230316183001_add_geoblacklight_admin_gem.rb +408 -0
  112. data/db/seeds.rb +7 -5
  113. data/lib/generators/geoblacklight_admin/config_generator.rb +43 -31
  114. data/lib/generators/geoblacklight_admin/install_generator.rb +2 -3
  115. data/lib/generators/geoblacklight_admin/jobs_generator.rb +3 -2
  116. data/lib/generators/geoblacklight_admin/models_generator.rb +0 -1
  117. data/lib/generators/geoblacklight_admin/templates/_show_sidebar.html.erb +19 -0
  118. data/lib/generators/geoblacklight_admin/templates/_user_util_links.html.erb +1 -1
  119. data/lib/generators/geoblacklight_admin/templates/config/database.yml +9 -5
  120. data/lib/generators/geoblacklight_admin/templates/config/initializers/geoblacklight_admin.rb +1 -2
  121. data/lib/generators/geoblacklight_admin/templates/config/initializers/pagy.rb +150 -68
  122. data/lib/generators/geoblacklight_admin/templates/config/settings.yml +241 -0
  123. data/lib/generators/geoblacklight_admin/templates/package.json +1 -0
  124. data/lib/generators/geoblacklight_admin/views_generator.rb +0 -1
  125. data/lib/geoblacklight_admin/engine.rb +5 -6
  126. data/lib/geoblacklight_admin/version.rb +1 -1
  127. data/lib/geoblacklight_admin.rb +1 -1
  128. data/lib/tasks/geoblacklight_admin.rake +10 -6
  129. metadata +79 -48
  130. data/.editorconfig +0 -18
  131. data/.gitignore +0 -75
  132. data/.standard.yml +0 -4
  133. data/Gemfile +0 -59
  134. data/LICENSE +0 -21
  135. data/app/assets/images/.keep +0 -0
  136. data/app/controllers/admin/concerns/.keep +0 -0
  137. data/app/models/bookmark.rb +0 -17
  138. data/app/models/concerns/.keep +0 -0
  139. data/db/migrate/20230316183001_add_geoblacklight_admin.rb +0 -399
  140. data/geoblacklight_admin.gemspec +0 -67
  141. data/lib/generators/geoblacklight_admin/templates/.env.development.example +0 -28
  142. data/lib/generators/geoblacklight_admin/templates/.solr_wrapper.yml +0 -7
  143. data/lib/generators/geoblacklight_admin/templates/solr/snapshots/.keep +0 -0
  144. data/lib/tasks/.keep +0 -0
  145. data/spec/test_app_templates/lib/generators/test_app_generator.rb +0 -35
  146. data/template.rb +0 -16
@@ -1,5 +1,7 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'blacklight/catalog'
1
+ # frozen_string_literal: true
2
+
3
+ require "blacklight/catalog"
4
+ require "blacklight_range_limit/controller_override"
3
5
 
4
6
  module Admin
5
7
  class AdvancedSearchController < Admin::AdminController
@@ -7,6 +9,9 @@ module Admin
7
9
  include ::BlacklightRangeLimit::ControllerOverride
8
10
  include ::Blacklight::Catalog
9
11
 
12
+ # No need to auth, only queries Solr
13
+ skip_before_action :authenticate_admin!
14
+
10
15
  configure_blacklight do |config|
11
16
  # special search builder
12
17
  config.search_builder_class = ApiSearchBuilder
@@ -15,42 +20,44 @@ module Admin
15
20
  config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new
16
21
 
17
22
  # Blacklight update to 7.0.0
18
- config.add_results_document_tool(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
23
+ config.add_results_document_tool(:bookmark, partial: "bookmark_control", if: :render_bookmarks_control?)
19
24
 
20
25
  config.add_results_collection_tool(:sort_widget)
21
26
  config.add_results_collection_tool(:per_page_widget)
22
27
  config.add_results_collection_tool(:view_type_group)
23
28
 
24
- config.add_show_tools_partial(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
29
+ config.add_show_tools_partial(:bookmark, partial: "bookmark_control", if: :render_bookmarks_control?)
25
30
  config.add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
26
- config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
31
+ config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action,
32
+ validator: :validate_sms_params)
27
33
 
28
- config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
34
+ config.add_nav_action(:bookmark, partial: "blacklight/nav/bookmark", if: :render_bookmarks_control?)
29
35
  # Blacklight update to 7.0.0
30
36
 
31
37
  # Advanced config values
32
38
  config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new
33
- config.advanced_search[:url_key] ||= 'advanced'
34
- config.advanced_search[:query_parser] ||= 'edismax'
39
+ config.advanced_search[:url_key] ||= "advanced"
40
+ config.advanced_search[:query_parser] ||= "edismax"
35
41
  config.advanced_search[:form_solr_parameters] ||= {}
36
- config.advanced_search[:form_solr_parameters]['facet.field'] ||= [Settings.FIELDS.PROVIDER, Settings.FIELDS.B1G_CODE, Settings.FIELDS.MEMBER_OF, Settings.FIELDS.IS_PART_OF, Settings.FIELDS.RESOURCE_CLASS, Settings.FIELDS.RESOURCE_TYPE, Settings.FIELDS.SUBJECT, Settings.FIELDS.THEME, Settings.FIELDS.FORMAT, Settings.FIELDS.SUPPRESSED, Settings.FIELDS.B1G_CHILD_RECORD, Settings.FIELDS.GEOREFERENCED]
37
- config.advanced_search[:form_solr_parameters]['facet.query'] ||= ''
38
- config.advanced_search[:form_solr_parameters]['facet.limit'] ||= -1
39
- config.advanced_search[:form_solr_parameters]['facet.sort'] ||= 'index'
42
+ config.advanced_search[:form_solr_parameters]["facet.field"] ||= [Settings.FIELDS.PROVIDER,
43
+ Settings.FIELDS.B1G_CODE, Settings.FIELDS.MEMBER_OF, Settings.FIELDS.IS_PART_OF, Settings.FIELDS.RESOURCE_CLASS, Settings.FIELDS.RESOURCE_TYPE, Settings.FIELDS.SUBJECT, Settings.FIELDS.THEME, Settings.FIELDS.FORMAT, Settings.FIELDS.SUPPRESSED, Settings.FIELDS.B1G_CHILD_RECORD, Settings.FIELDS.GEOREFERENCED]
44
+ config.advanced_search[:form_solr_parameters]["facet.query"] ||= ""
45
+ config.advanced_search[:form_solr_parameters]["facet.limit"] ||= -1
46
+ config.advanced_search[:form_solr_parameters]["facet.sort"] ||= "index"
40
47
 
41
48
  # Map views
42
49
  config.view.mapview.partials = [:index]
43
- config.view['split'].title = "List view"
44
- config.view['mapview'].title = "Map view"
50
+ config.view["split"].title = "List view"
51
+ config.view["mapview"].title = "Map view"
45
52
 
46
53
  config.raw_endpoint.enabled = true
47
54
 
48
55
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
49
56
  config.default_solr_params = {
50
57
  :start => 0,
51
- 'q.alt' => '*:*',
52
- 'bf' => ["if(exists(#{Settings.FIELDS.B1G_CHILD_RECORD}),0,100)^0.5"],
53
- 'admin.api' => true
58
+ "q.alt" => "*:*",
59
+ "bf" => ["if(exists(#{Settings.FIELDS.B1G_CHILD_RECORD}),0,100)^0.5"],
60
+ "admin.api" => true
54
61
  }
55
62
 
56
63
  config.default_per_page = 20 # Works!
@@ -59,8 +66,8 @@ module Admin
59
66
  ## parameters included in the Blacklight-jetty document requestHandler.
60
67
  #
61
68
  config.default_document_solr_params = {
62
- :qt => 'document',
63
- :q => "{!raw f=#{Settings.FIELDS.B1G_GEOMG_ID} v=$id}"
69
+ qt: "document",
70
+ q: "{!raw f=#{Settings.FIELDS.B1G_GEOMG_ID} v=$id}"
64
71
  }
65
72
 
66
73
  # config.search_builder_class = Geoblacklight::SearchBuilder
@@ -74,7 +81,7 @@ module Admin
74
81
 
75
82
  # solr field configuration for document/show views
76
83
 
77
- config.show.display_type_field = 'format'
84
+ config.show.display_type_field = "format"
78
85
 
79
86
  # Custom GeoBlacklight fields which currently map to GeoBlacklight-Schema
80
87
  # v0.3.2
@@ -112,51 +119,52 @@ module Admin
112
119
  ## FACETS
113
120
  #
114
121
  # Publication State
115
- config.add_facet_field Settings.FIELDS.B1G_PUBLICATION_STATE, :label => 'Publication State', :limit => 8, collapse: false
122
+ config.add_facet_field Settings.FIELDS.B1G_PUBLICATION_STATE, label: "Publication State", limit: 8,
123
+ collapse: false
116
124
 
117
125
  # Resouce Class
118
- config.add_facet_field Settings.FIELDS.RESOURCE_CLASS, label: 'Resource Class', limit: 8
126
+ config.add_facet_field Settings.FIELDS.RESOURCE_CLASS, label: "Resource Class", limit: 8
119
127
 
120
128
  # Contributor
121
- config.add_facet_field Settings.FIELDS.PROVIDER, label: 'Provider', limit: 15
129
+ config.add_facet_field Settings.FIELDS.PROVIDER, label: "Provider", limit: 15
122
130
 
123
131
  # Accrual Method
124
- config.add_facet_field Settings.FIELDS.B1G_ACCRUAL_METHOD, :label => 'Accrual Method'
132
+ config.add_facet_field Settings.FIELDS.B1G_ACCRUAL_METHOD, label: "Accrual Method"
125
133
 
126
134
  # Public/Restricted
127
- config.add_facet_field Settings.FIELDS.ACCESS_RIGHTS, :label => 'Public/Restricted'
135
+ config.add_facet_field Settings.FIELDS.ACCESS_RIGHTS, label: "Public/Restricted"
128
136
 
129
137
  # ADVANCED SEARCH
130
138
  #
131
139
  # Code
132
- config.add_facet_field Settings.FIELDS.B1G_CODE, label: 'Code', limit: 1000
140
+ config.add_facet_field Settings.FIELDS.B1G_CODE, label: "Code", limit: 1000
133
141
 
134
142
  # Is Part Of
135
- config.add_facet_field Settings.FIELDS.IS_PART_OF, label: 'Is Part Of', limit: 1000
143
+ config.add_facet_field Settings.FIELDS.IS_PART_OF, label: "Is Part Of", limit: 1000
136
144
 
137
145
  # Member Of
138
- config.add_facet_field Settings.FIELDS.MEMBER_OF, label: 'Member Of', limit: 1000
146
+ config.add_facet_field Settings.FIELDS.MEMBER_OF, label: "Member Of", limit: 1000
139
147
 
140
148
  # Resource Type
141
- config.add_facet_field Settings.FIELDS.RESOURCE_TYPE, label: 'Resource Type', limit: 1000
149
+ config.add_facet_field Settings.FIELDS.RESOURCE_TYPE, label: "Resource Type", limit: 1000
142
150
 
143
151
  # Subject
144
- config.add_facet_field Settings.FIELDS.SUBJECT, label: 'Subject', limit: 1000
152
+ config.add_facet_field Settings.FIELDS.SUBJECT, label: "Subject", limit: 1000
145
153
 
146
154
  # Theme
147
- config.add_facet_field Settings.FIELDS.THEME, label: 'Theme', limit: 1000
155
+ config.add_facet_field Settings.FIELDS.THEME, label: "Theme", limit: 1000
148
156
 
149
157
  # Format
150
- config.add_facet_field Settings.FIELDS.FORMAT, label: 'Format', limit: 1000
158
+ config.add_facet_field Settings.FIELDS.FORMAT, label: "Format", limit: 1000
151
159
 
152
160
  # Suppressed
153
- config.add_facet_field Settings.FIELDS.SUPPRESSED, label: 'Suppressed'
161
+ config.add_facet_field Settings.FIELDS.SUPPRESSED, label: "Suppressed"
154
162
 
155
163
  # Child Record
156
- config.add_facet_field Settings.FIELDS.B1G_CHILD_RECORD, label: 'Child Record'
164
+ config.add_facet_field Settings.FIELDS.B1G_CHILD_RECORD, label: "Child Record"
157
165
 
158
166
  # Georeferenced
159
- config.add_facet_field Settings.FIELDS.GEOREFERENCED, label: 'Georeferenced'
167
+ config.add_facet_field Settings.FIELDS.GEOREFERENCED, label: "Georeferenced"
160
168
 
161
169
  # Have BL send all facet field names to Solr, which has been the default
162
170
  # previously. Simply remove these lines if you'd rather use Solr request
@@ -175,17 +183,17 @@ module Admin
175
183
  # config.add_index_field 'published_vern_display', :label => 'Published:'
176
184
  # config.add_index_field 'lc_callnum_display', :label => 'Call number:'
177
185
 
178
- config.add_index_field Settings.FIELDS.TITLE, :label => 'Title:'
179
- config.add_index_field Settings.FIELDS.B1G_GEOMG_ID, :label => 'Identifier:'
180
- config.add_index_field Settings.FIELDS.PROVIDER, :label => 'Institution:'
181
- config.add_index_field Settings.FIELDS.ACCESS_RIGHTS, :label => 'Access:'
182
- config.add_index_field Settings.FIELDS.SUBJECT, :label => 'Keywords:'
183
- config.add_index_field Settings.FIELDS.CENTROID, :label => 'Centroid:'
186
+ config.add_index_field Settings.FIELDS.TITLE, label: "Title:"
187
+ config.add_index_field Settings.FIELDS.B1G_GEOMG_ID, label: "Identifier:"
188
+ config.add_index_field Settings.FIELDS.PROVIDER, label: "Institution:"
189
+ config.add_index_field Settings.FIELDS.ACCESS_RIGHTS, label: "Access:"
190
+ config.add_index_field Settings.FIELDS.SUBJECT, label: "Keywords:"
191
+ config.add_index_field Settings.FIELDS.CENTROID, label: "Centroid:"
184
192
  config.add_index_field Settings.FIELDS.INDEX_YEAR
185
193
  config.add_index_field Settings.FIELDS.CREATOR
186
194
  config.add_index_field Settings.FIELDS.DESCRIPTION, helper_method: :snippit
187
195
  config.add_index_field Settings.FIELDS.PUBLISHER
188
- config.add_index_field Settings.FIELDS.SUPPRESSED, :label => 'Suppressed:'
196
+ config.add_index_field Settings.FIELDS.SUPPRESSED, label: "Suppressed:"
189
197
 
190
198
  # solr fields to be displayed in the show (single result) view
191
199
  # The ordering of the field names is the order of the display
@@ -193,16 +201,19 @@ module Admin
193
201
  # item_prop: [String] property given to span with Schema.org item property
194
202
  # link_to_facet: [Boolean] that can be passed to link to a facet search
195
203
  # helper_method: [Symbol] method that can be used to render the value
196
- config.add_show_field Settings.FIELDS.CREATOR, label: 'Creator', itemprop: 'creator'
197
- config.add_show_field Settings.FIELDS.DESCRIPTION, label: 'Description', itemprop: 'description', helper_method: :render_value_as_truncate_abstract
198
- config.add_show_field Settings.FIELDS.PUBLISHER, label: 'Publisher', itemprop: 'publisher', link_to_facet: true
199
- config.add_show_field Settings.FIELDS.SPATIAL_COVERAGE, label: 'Place', itemprop: 'spatial', link_to_facet: true, helper_method: :render_placenames_as_truncate_abstract
200
- config.add_show_field Settings.FIELDS.SUBJECT, label: 'Subject', itemprop: 'keywords', link_to_facet: true
201
- config.add_show_field Settings.FIELDS.RESOURCE_TYPE, label: 'Type', itemprop: 'keywords', link_to_facet: true
202
- config.add_show_field Settings.FIELDS.DATE_ISSUED, label: 'Date Published', itemprop: 'keywords', link_to_facet: true
203
- config.add_show_field Settings.FIELDS.TEMPORAL_COVERAGE, label: 'Temporal Coverage', itemprop: 'temporal'
204
- config.add_show_field Settings.FIELDS.PROVIDER, label: 'Contributed by', link_to_facet: true
205
- config.add_show_field Settings.FIELDS.RIGHTS, label: 'Access Rights'
204
+ config.add_show_field Settings.FIELDS.CREATOR, label: "Creator", itemprop: "creator"
205
+ config.add_show_field Settings.FIELDS.DESCRIPTION, label: "Description", itemprop: "description",
206
+ helper_method: :render_value_as_truncate_abstract
207
+ config.add_show_field Settings.FIELDS.PUBLISHER, label: "Publisher", itemprop: "publisher", link_to_facet: true
208
+ config.add_show_field Settings.FIELDS.SPATIAL_COVERAGE, label: "Place", itemprop: "spatial", link_to_facet: true,
209
+ helper_method: :render_placenames_as_truncate_abstract
210
+ config.add_show_field Settings.FIELDS.SUBJECT, label: "Subject", itemprop: "keywords", link_to_facet: true
211
+ config.add_show_field Settings.FIELDS.RESOURCE_TYPE, label: "Type", itemprop: "keywords", link_to_facet: true
212
+ config.add_show_field Settings.FIELDS.DATE_ISSUED, label: "Date Published", itemprop: "keywords",
213
+ link_to_facet: true
214
+ config.add_show_field Settings.FIELDS.TEMPORAL_COVERAGE, label: "Temporal Coverage", itemprop: "temporal"
215
+ config.add_show_field Settings.FIELDS.PROVIDER, label: "Contributed by", link_to_facet: true
216
+ config.add_show_field Settings.FIELDS.RIGHTS, label: "Access Rights"
206
217
 
207
218
  # "fielded" search configuration. Used by pulldown among other places.
208
219
  # For supported keys in hash, see rdoc for Blacklight::SearchFields
@@ -222,48 +233,48 @@ module Admin
222
233
  # solr request handler? The one set in config[:default_solr_parameters][:qt],
223
234
  # since we aren't specifying it otherwise.
224
235
 
225
- config.add_search_field('all_fields') do |field|
236
+ config.add_search_field("all_fields") do |field|
226
237
  field.include_in_advanced_search = false
227
- field.label = 'All Fields'
238
+ field.label = "All Fields"
228
239
  end
229
240
 
230
- config.add_search_field('keyword') do |field|
241
+ config.add_search_field("keyword") do |field|
231
242
  field.include_in_simple_select = false
232
- field.qt = 'search'
233
- field.label = 'Keyword'
243
+ field.qt = "search"
244
+ field.label = "Keyword"
234
245
  field.solr_local_parameters = {
235
- qf: '$qf',
236
- pf: '$pf'
246
+ qf: "$qf",
247
+ pf: "$pf"
237
248
  }
238
249
  end
239
250
 
240
- config.add_search_field('title') do |field|
251
+ config.add_search_field("title") do |field|
241
252
  field.include_in_simple_select = false
242
- field.qt = 'search'
243
- field.label = 'Title'
253
+ field.qt = "search"
254
+ field.label = "Title"
244
255
  field.solr_local_parameters = {
245
- qf: '$title_qf',
246
- pf: '$title_pf'
256
+ qf: "$title_qf",
257
+ pf: "$title_pf"
247
258
  }
248
259
  end
249
260
 
250
- config.add_search_field('placename') do |field|
261
+ config.add_search_field("placename") do |field|
251
262
  field.include_in_simple_select = false
252
- field.qt = 'search'
253
- field.label = 'Place'
263
+ field.qt = "search"
264
+ field.label = "Place"
254
265
  field.solr_local_parameters = {
255
- qf: '$placename_qf',
256
- pf: '$placename_pf'
266
+ qf: "$placename_qf",
267
+ pf: "$placename_pf"
257
268
  }
258
269
  end
259
270
 
260
- config.add_search_field('publisher') do |field|
271
+ config.add_search_field("publisher") do |field|
261
272
  field.include_in_simple_select = false
262
- field.qt = 'search'
263
- field.label = 'Publisher/Creator'
273
+ field.qt = "search"
274
+ field.label = "Publisher/Creator"
264
275
  field.solr_local_parameters = {
265
- qf: '$publisher_qf',
266
- pf: '$publisher_pf'
276
+ qf: "$publisher_qf",
277
+ pf: "$publisher_pf"
267
278
  }
268
279
  end
269
280
 
@@ -271,39 +282,50 @@ module Admin
271
282
  # label in pulldown is followed by the name of the SOLR field to sort by and
272
283
  # whether the sort is ascending or descending (it must be asc or desc
273
284
  # except in the relevancy case).
274
- config.add_sort_field 'score desc, dct_title_sort asc', :label => 'Relevance'
275
- config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} desc, dct_title_sort asc", :label => 'Year (Newest first)'
276
- config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} asc, dct_title_sort asc", :label => 'Year (Oldest first)'
277
- config.add_sort_field 'dct_title_sort asc', :label => 'Title (A-Z)'
278
- config.add_sort_field 'dct_title_sort desc', :label => 'Title (Z-A)'
285
+ config.add_sort_field "score desc, dct_title_sort asc", label: "Relevance"
286
+ config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} desc, dct_title_sort asc", label: "Year (Newest first)"
287
+ config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} asc, dct_title_sort asc", label: "Year (Oldest first)"
288
+ config.add_sort_field "dct_title_sort asc", label: "Title (A-Z)"
289
+ config.add_sort_field "dct_title_sort desc", label: "Title (Z-A)"
279
290
 
280
291
  # If there are more than this many search results, no spelling ("did you
281
292
  # mean") suggestion is offered.
282
293
  config.spell_max = 5
283
294
 
284
295
  # Custom tools for GeoBlacklight
285
- config.add_show_tools_partial :more_details, partial: 'more_details', if: proc { |_context, _config, options| options[:document] && (!options[:document].references.nil? & !options[:document].references.url.nil?)}
286
- config.add_show_tools_partial :metadata, if: proc { |_context, _config, options| options[:document] && (Settings.METADATA_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any? }
287
- config.add_show_tools_partial :web_services, if: proc { |_context, _config, options| options[:document] && (Settings.WEBSERVICES_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any? }
288
- config.add_show_tools_partial :exports, partial: 'exports', if: proc { |_context, _config, options| options[:document] }
289
- config.add_show_tools_partial :data_dictionary, partial: 'data_dictionary', if: proc { |_context, _config, options| options[:document] && options[:document].data_dictionary_download.present?}
296
+ config.add_show_tools_partial :more_details, partial: "more_details", if: proc { |_context, _config, options|
297
+ options[:document] && (!options[:document].references.nil? & !options[:document].references.url.nil?)
298
+ }
299
+ config.add_show_tools_partial :metadata, if: proc { |_context, _config, options|
300
+ options[:document] && (Settings.METADATA_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any?
301
+ }
302
+ config.add_show_tools_partial :web_services, if: proc { |_context, _config, options|
303
+ options[:document] && (Settings.WEBSERVICES_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any?
304
+ }
305
+ config.add_show_tools_partial :exports, partial: "exports", if: proc { |_context, _config, options|
306
+ options[:document]
307
+ }
308
+ config.add_show_tools_partial :data_dictionary, partial: "data_dictionary", if: proc { |_context, _config, options|
309
+ options[:document] && options[:document].data_dictionary_download.present?
310
+ }
290
311
  config.add_show_tools_partial(:citation)
291
- config.add_show_tools_partial(:access_links, partial: 'access_links', if: proc { |_context, _config, options| options[:document] && options[:document].access_links.present?})
312
+ config.add_show_tools_partial(:access_links, partial: "access_links", if: proc { |_context, _config, options|
313
+ options[:document] && options[:document].access_links.present?
314
+ })
292
315
 
293
316
  # Remove nav actions
294
- config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: false)
317
+ config.add_nav_action(:bookmark, partial: "blacklight/nav/bookmark", if: false)
295
318
 
296
319
  # Remove show tools
297
320
  config.show.partials.delete(:show_header)
298
321
  config.show.partials.delete(:show)
299
322
 
300
- config.show.display_type_field = 'format'
301
- config.show.partials << 'show_header'
302
- config.show.partials << 'show_default_viewer_container'
303
- config.show.partials << 'show_default_viewer_information'
304
- config.show.partials << 'show_default_attribute_table'
305
- config.show.partials << 'show'
306
-
323
+ config.show.display_type_field = "format"
324
+ config.show.partials << "show_header"
325
+ config.show.partials << "show_default_viewer_container"
326
+ config.show.partials << "show_default_viewer_information"
327
+ config.show.partials << "show_default_attribute_table"
328
+ config.show.partials << "show"
307
329
 
308
330
  config.show.document_actions.delete(:email)
309
331
  config.show.document_actions.delete(:bookmark)
@@ -315,30 +337,30 @@ module Admin
315
337
  # 'mapquest' http://developer.mapquest.com/web/products/open/map
316
338
  # 'positron' http://cartodb.com/basemaps/
317
339
  # 'darkMatter' http://cartodb.com/basemaps/
318
- config.basemap_provider = 'esri'
319
- config.max_per_page = 100000
340
+ config.basemap_provider = "esri"
341
+ config.max_per_page = 100_000
320
342
 
321
343
  # Configuration for autocomplete suggestor
322
344
  config.autocomplete_enabled = true
323
- config.autocomplete_path = 'suggest'
345
+ config.autocomplete_path = "suggest"
324
346
  end
325
347
 
326
348
  # Administrative view of document
327
349
  # - Sidecar Image
328
350
  # - URIs
329
351
  def admin
330
- deprecated_response, @document = search_service.fetch(params[:id])
352
+ _, @document = search_service.fetch(params[:id])
331
353
  end
332
354
 
333
355
  # Administrative view for array of document ids
334
356
  # - bookmarks
335
357
  def fetch
336
- @response, deprecated_document_list = search_service.fetch(params[:id])
358
+ @response, = search_service.fetch(params[:id])
337
359
 
338
360
  respond_to do |format|
339
361
  format.json do
340
362
  @presenter = Blacklight::JsonPresenter.new(@response,
341
- blacklight_config)
363
+ blacklight_config)
342
364
  end
343
365
  end
344
366
  end
@@ -348,16 +370,14 @@ module Admin
348
370
  # We want to find the facets available for the current search, but:
349
371
  # * IGNORING current query (add in facets_for_advanced_search_form filter)
350
372
  # * IGNORING current advanced search facets (remove add_advanced_search_to_solr filter)
351
- @response, _ = search_service.search_results do |search_builder|
373
+ @response, = search_service.search_results do |search_builder|
352
374
  search_builder.except(:add_advanced_search_to_solr).append(:facets_for_advanced_search_form)
353
375
  end
354
376
 
355
- @response
356
-
357
377
  respond_to do |format|
358
378
  format.json do
359
379
  @presenter = Blacklight::JsonPresenter.new(@response,
360
- blacklight_config)
380
+ blacklight_config)
361
381
  end
362
382
  end
363
383
  end