geoblacklight_admin 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,6 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'blacklight/catalog'
1
+ # frozen_string_literal: true
2
+
3
+ require "blacklight/catalog"
3
4
 
4
5
  # Admin::ApiController
5
6
  module Admin
@@ -18,41 +19,43 @@ module Admin
18
19
  config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new
19
20
 
20
21
  # Blacklight update to 7.0.0
21
- config.add_results_document_tool(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
22
+ config.add_results_document_tool(:bookmark, partial: "bookmark_control", if: :render_bookmarks_control?)
22
23
 
23
24
  config.add_results_collection_tool(:sort_widget)
24
25
  config.add_results_collection_tool(:per_page_widget)
25
26
  config.add_results_collection_tool(:view_type_group)
26
27
 
27
- config.add_show_tools_partial(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
28
+ config.add_show_tools_partial(:bookmark, partial: "bookmark_control", if: :render_bookmarks_control?)
28
29
  config.add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
29
- config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
30
+ config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action,
31
+ validator: :validate_sms_params)
30
32
 
31
- config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
33
+ config.add_nav_action(:bookmark, partial: "blacklight/nav/bookmark", if: :render_bookmarks_control?)
32
34
  # Blacklight update to 7.0.0
33
35
 
34
36
  # Advanced config values
35
37
  config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new
36
- config.advanced_search[:url_key] ||= 'advanced'
37
- config.advanced_search[:query_parser] ||= 'edismax'
38
+ config.advanced_search[:url_key] ||= "advanced"
39
+ config.advanced_search[:query_parser] ||= "edismax"
38
40
  config.advanced_search[:form_solr_parameters] ||= {}
39
- 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]
40
- config.advanced_search[:form_solr_parameters]['facet.query'] ||= ''
41
- config.advanced_search[:form_solr_parameters]['facet.limit'] ||= -1
42
- config.advanced_search[:form_solr_parameters]['facet.sort'] ||= 'index'
41
+ config.advanced_search[:form_solr_parameters]["facet.field"] ||= [Settings.FIELDS.PROVIDER,
42
+ 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]
43
+ config.advanced_search[:form_solr_parameters]["facet.query"] ||= ""
44
+ config.advanced_search[:form_solr_parameters]["facet.limit"] ||= -1
45
+ config.advanced_search[:form_solr_parameters]["facet.sort"] ||= "index"
43
46
 
44
47
  # Map views
45
48
  config.view.mapview.partials = [:index]
46
- config.view['split'].title = "List view"
47
- config.view['mapview'].title = "Map view"
49
+ config.view["split"].title = "List view"
50
+ config.view["mapview"].title = "Map view"
48
51
 
49
52
  config.raw_endpoint.enabled = true
50
53
 
51
54
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
52
55
  config.default_solr_params = {
53
56
  :start => 0,
54
- 'q.alt' => '*:*',
55
- 'admin.api' => true
57
+ "q.alt" => "*:*",
58
+ "admin.api" => true
56
59
  }
57
60
 
58
61
  # @TODO
@@ -65,8 +68,8 @@ module Admin
65
68
  ## parameters included in the Blacklight-jetty document requestHandler.
66
69
  #
67
70
  config.default_document_solr_params = {
68
- :qt => 'document',
69
- :q => "{!raw f=#{Settings.FIELDS.B1G_GEOMG_ID} v=$id}"
71
+ qt: "document",
72
+ q: "{!raw f=#{Settings.FIELDS.B1G_GEOMG_ID} v=$id}"
70
73
  }
71
74
 
72
75
  # config.search_builder_class = Geoblacklight::SearchBuilder
@@ -80,7 +83,7 @@ module Admin
80
83
 
81
84
  # solr field configuration for document/show views
82
85
 
83
- config.show.display_type_field = 'format'
86
+ config.show.display_type_field = "format"
84
87
 
85
88
  # Custom GeoBlacklight fields which currently map to GeoBlacklight-Schema
86
89
  # v0.3.2
@@ -121,29 +124,29 @@ module Admin
121
124
  # config.add_facet_field 'date_created_drsim', :label => 'Date Created', :show => false
122
125
 
123
126
  # Date Created
124
- # config.add_facet_field 'time_period', label: 'Date Created', query: {
125
- # 'today' => { label: 'Today', fq: "date_created_drsim:[#{Date.today.beginning_of_day.to_time.strftime('%Y-%m-%dT%H:%M:%S')} TO #{Date.today.end_of_day.to_time.strftime('%Y-%m-%dT%H:%M:%S')}]"},
126
- # 'this_week' => { label: 'This week', fq: "date_created_drsim:[#{(Date.today.end_of_day - 1.week).to_time.strftime('%Y-%m-%dT%H:%M:%S')} TO #{Date.today.end_of_day.to_time.strftime('%Y-%m-%dT%H:%M:%S')}]"},
127
- # 'this_month' => { label: 'This month', fq: "date_created_drsim:[#{(Date.today.end_of_day - 1.month).to_time.strftime('%Y-%m-%dT%H:%M:%S')} TO #{Date.today.end_of_day.to_time.strftime('%Y-%m-%dT%H:%M:%S')}]"},
128
- # 'last_month' => { label: 'Last month', fq: "date_created_drsim:[#{(Date.today.end_of_day - 2.months).to_time.strftime('%Y-%m-%dT%H:%M:%S')} TO #{(Date.today.end_of_day - 1.month).to_time.strftime('%Y-%m-%dT%H:%M:%S')}]"},
129
- # 'this_quarter' => { label: 'This quarter', fq: "date_created_drsim:[#{(Date.today.end_of_day - 3.months).to_time.strftime('%Y-%m-%dT%H:%M:%S')} TO #{(Date.today.end_of_day).to_time.strftime('%Y-%m-%dT%H:%M:%S')}]"},
130
- # 'this_year' => { label: 'This year', fq: "date_created_drsim:[#{(Date.today.end_of_day - 1.year).to_time.strftime('%Y-%m-%dT%H:%M:%S')} TO #{(Date.today.end_of_day).to_time.strftime('%Y-%m-%dT%H:%M:%S')}]"}
131
- # }
127
+ config.add_facet_field "time_period", label: "Date Created", query: {
128
+ "today" => {label: "Today", fq: "date_created_drsim:[#{Date.today.beginning_of_day.to_time.strftime("%Y-%m-%dT%H:%M:%S")} TO #{Date.today.end_of_day.to_time.strftime("%Y-%m-%dT%H:%M:%S")}]"},
129
+ "this_week" => {label: "This week", fq: "date_created_drsim:[#{(Date.today.end_of_day - 1.week).to_time.strftime("%Y-%m-%dT%H:%M:%S")} TO #{Date.today.end_of_day.to_time.strftime("%Y-%m-%dT%H:%M:%S")}]"},
130
+ "this_month" => {label: "This month", fq: "date_created_drsim:[#{(Date.today.end_of_day - 1.month).to_time.strftime("%Y-%m-%dT%H:%M:%S")} TO #{Date.today.end_of_day.to_time.strftime("%Y-%m-%dT%H:%M:%S")}]"},
131
+ "last_month" => {label: "Last month", fq: "date_created_drsim:[#{(Date.today.end_of_day - 2.months).to_time.strftime("%Y-%m-%dT%H:%M:%S")} TO #{(Date.today.end_of_day - 1.month).to_time.strftime("%Y-%m-%dT%H:%M:%S")}]"},
132
+ "this_quarter" => {label: "This quarter", fq: "date_created_drsim:[#{(Date.today.end_of_day - 3.months).to_time.strftime("%Y-%m-%dT%H:%M:%S")} TO #{Date.today.end_of_day.to_time.strftime("%Y-%m-%dT%H:%M:%S")}]"},
133
+ "this_year" => {label: "This year", fq: "date_created_drsim:[#{(Date.today.end_of_day - 1.year).to_time.strftime("%Y-%m-%dT%H:%M:%S")} TO #{Date.today.end_of_day.to_time.strftime("%Y-%m-%dT%H:%M:%S")}]"}
134
+ }
132
135
 
133
136
  # Publication State
134
- # config.add_facet_field Settings.FIELDS.B1G_PUBLICATION_STATE, :label => 'Publication State', :limit => 8, collapse: false
137
+ config.add_facet_field Settings.FIELDS.B1G_PUBLICATION_STATE, label: "Publication State", limit: 8, collapse: false
135
138
 
136
139
  # Resouce Class
137
- config.add_facet_field Settings.FIELDS.RESOURCE_CLASS, label: 'Resource Class', limit: 8
140
+ config.add_facet_field Settings.FIELDS.RESOURCE_CLASS, label: "Resource Class", limit: 8
138
141
 
139
142
  # Contributor
140
- config.add_facet_field Settings.FIELDS.PROVIDER, label: 'Provider', limit: 15
143
+ config.add_facet_field Settings.FIELDS.PROVIDER, label: "Provider", limit: 15
141
144
 
142
145
  # Accrual Method
143
146
  # config.add_facet_field Settings.FIELDS.B1G_ACCRUAL_METHOD, :label => 'Accrual Method'
144
147
 
145
148
  # Public/Restricted
146
- config.add_facet_field Settings.FIELDS.ACCESS_RIGHTS, :label => 'Public/Restricted'
149
+ config.add_facet_field Settings.FIELDS.ACCESS_RIGHTS, label: "Public/Restricted"
147
150
 
148
151
  # ADVANCED SEARCH
149
152
  #
@@ -151,31 +154,31 @@ module Admin
151
154
  # config.add_facet_field Settings.FIELDS.B1G_CODE, label: 'Code', show: false
152
155
 
153
156
  # Is Part Of
154
- config.add_facet_field Settings.FIELDS.IS_PART_OF, label: 'Is Part Of', show: false
157
+ config.add_facet_field Settings.FIELDS.IS_PART_OF, label: "Is Part Of", show: false
155
158
 
156
159
  # Member Of
157
- config.add_facet_field Settings.FIELDS.MEMBER_OF, label: 'Member Of', show: false
160
+ config.add_facet_field Settings.FIELDS.MEMBER_OF, label: "Member Of", show: false
158
161
 
159
162
  # Resource Type
160
- config.add_facet_field Settings.FIELDS.RESOURCE_TYPE, label: 'Resource Type', show: false
163
+ config.add_facet_field Settings.FIELDS.RESOURCE_TYPE, label: "Resource Type", show: false
161
164
 
162
165
  # Subject
163
- config.add_facet_field Settings.FIELDS.SUBJECT, label: 'Subject', show: false
166
+ config.add_facet_field Settings.FIELDS.SUBJECT, label: "Subject", show: false
164
167
 
165
168
  # Theme
166
- config.add_facet_field Settings.FIELDS.THEME, label: 'Theme', show: false
169
+ config.add_facet_field Settings.FIELDS.THEME, label: "Theme", show: false
167
170
 
168
171
  # Format
169
- config.add_facet_field Settings.FIELDS.FORMAT, label: 'Format', show: false
172
+ config.add_facet_field Settings.FIELDS.FORMAT, label: "Format", show: false
170
173
 
171
174
  # Suppressed
172
- config.add_facet_field Settings.FIELDS.SUPPRESSED, label: 'Suppressed', show: false
175
+ config.add_facet_field Settings.FIELDS.SUPPRESSED, label: "Suppressed", show: false
173
176
 
174
177
  # Child Record
175
178
  # config.add_facet_field Settings.FIELDS.B1G_CHILD_RECORD, label: 'Child Record', show: false
176
179
 
177
180
  # Georeferenced
178
- config.add_facet_field Settings.FIELDS.GEOREFERENCED, label: 'Georeferenced', show: false
181
+ config.add_facet_field Settings.FIELDS.GEOREFERENCED, label: "Georeferenced", show: false
179
182
 
180
183
  # Have BL send all facet field names to Solr, which has been the default
181
184
  # previously. Simply remove these lines if you'd rather use Solr request
@@ -194,17 +197,17 @@ module Admin
194
197
  # config.add_index_field 'published_vern_display', :label => 'Published:'
195
198
  # config.add_index_field 'lc_callnum_display', :label => 'Call number:'
196
199
 
197
- config.add_index_field Settings.FIELDS.TITLE, :label => 'Title:'
200
+ config.add_index_field Settings.FIELDS.TITLE, label: "Title:"
198
201
  # config.add_index_field Settings.FIELDS.B1G_GEOMG_ID, :label => 'Identifier:'
199
- config.add_index_field Settings.FIELDS.PROVIDER, :label => 'Institution:'
200
- config.add_index_field Settings.FIELDS.ACCESS_RIGHTS, :label => 'Access:'
201
- config.add_index_field Settings.FIELDS.SUBJECT, :label => 'Keywords:'
202
- config.add_index_field Settings.FIELDS.CENTROID, :label => 'Centroid:'
202
+ config.add_index_field Settings.FIELDS.PROVIDER, label: "Institution:"
203
+ config.add_index_field Settings.FIELDS.ACCESS_RIGHTS, label: "Access:"
204
+ config.add_index_field Settings.FIELDS.SUBJECT, label: "Keywords:"
205
+ config.add_index_field Settings.FIELDS.CENTROID, label: "Centroid:"
203
206
  config.add_index_field Settings.FIELDS.INDEX_YEAR
204
207
  config.add_index_field Settings.FIELDS.CREATOR
205
208
  config.add_index_field Settings.FIELDS.DESCRIPTION, helper_method: :snippit
206
209
  config.add_index_field Settings.FIELDS.PUBLISHER
207
- config.add_index_field Settings.FIELDS.SUPPRESSED, :label => 'Suppressed:'
210
+ config.add_index_field Settings.FIELDS.SUPPRESSED, label: "Suppressed:"
208
211
 
209
212
  # solr fields to be displayed in the show (single result) view
210
213
  # The ordering of the field names is the order of the display
@@ -212,16 +215,19 @@ module Admin
212
215
  # item_prop: [String] property given to span with Schema.org item property
213
216
  # link_to_facet: [Boolean] that can be passed to link to a facet search
214
217
  # helper_method: [Symbol] method that can be used to render the value
215
- config.add_show_field Settings.FIELDS.CREATOR, label: 'Creator', itemprop: 'creator'
216
- config.add_show_field Settings.FIELDS.DESCRIPTION, label: 'Description', itemprop: 'description', helper_method: :render_value_as_truncate_abstract
217
- config.add_show_field Settings.FIELDS.PUBLISHER, label: 'Publisher', itemprop: 'publisher', link_to_facet: true
218
- config.add_show_field Settings.FIELDS.SPATIAL_COVERAGE, label: 'Place', itemprop: 'spatial', link_to_facet: true, helper_method: :render_placenames_as_truncate_abstract
219
- config.add_show_field Settings.FIELDS.SUBJECT, label: 'Subject', itemprop: 'keywords', link_to_facet: true
220
- config.add_show_field Settings.FIELDS.RESOURCE_TYPE, label: 'Type', itemprop: 'keywords', link_to_facet: true
221
- config.add_show_field Settings.FIELDS.DATE_ISSUED, label: 'Date Published', itemprop: 'keywords', link_to_facet: true
222
- config.add_show_field Settings.FIELDS.TEMPORAL_COVERAGE, label: 'Temporal Coverage', itemprop: 'temporal'
223
- config.add_show_field Settings.FIELDS.PROVIDER, label: 'Contributed by', link_to_facet: true
224
- config.add_show_field Settings.FIELDS.RIGHTS, label: 'Access Rights'
218
+ config.add_show_field Settings.FIELDS.CREATOR, label: "Creator", itemprop: "creator"
219
+ config.add_show_field Settings.FIELDS.DESCRIPTION, label: "Description", itemprop: "description",
220
+ helper_method: :render_value_as_truncate_abstract
221
+ config.add_show_field Settings.FIELDS.PUBLISHER, label: "Publisher", itemprop: "publisher", link_to_facet: true
222
+ config.add_show_field Settings.FIELDS.SPATIAL_COVERAGE, label: "Place", itemprop: "spatial", link_to_facet: true,
223
+ helper_method: :render_placenames_as_truncate_abstract
224
+ config.add_show_field Settings.FIELDS.SUBJECT, label: "Subject", itemprop: "keywords", link_to_facet: true
225
+ config.add_show_field Settings.FIELDS.RESOURCE_TYPE, label: "Type", itemprop: "keywords", link_to_facet: true
226
+ config.add_show_field Settings.FIELDS.DATE_ISSUED, label: "Date Published", itemprop: "keywords",
227
+ link_to_facet: true
228
+ config.add_show_field Settings.FIELDS.TEMPORAL_COVERAGE, label: "Temporal Coverage", itemprop: "temporal"
229
+ config.add_show_field Settings.FIELDS.PROVIDER, label: "Contributed by", link_to_facet: true
230
+ config.add_show_field Settings.FIELDS.RIGHTS, label: "Access Rights"
225
231
 
226
232
  # "fielded" search configuration. Used by pulldown among other places.
227
233
  # For supported keys in hash, see rdoc for Blacklight::SearchFields
@@ -241,48 +247,48 @@ module Admin
241
247
  # solr request handler? The one set in config[:default_solr_parameters][:qt],
242
248
  # since we aren't specifying it otherwise.
243
249
 
244
- config.add_search_field('all_fields') do |field|
250
+ config.add_search_field("all_fields") do |field|
245
251
  field.include_in_advanced_search = false
246
- field.label = 'All Fields'
252
+ field.label = "All Fields"
247
253
  end
248
254
 
249
- config.add_search_field('keyword') do |field|
255
+ config.add_search_field("keyword") do |field|
250
256
  field.include_in_simple_select = false
251
- field.qt = 'search'
252
- field.label = 'Keyword'
257
+ field.qt = "search"
258
+ field.label = "Keyword"
253
259
  field.solr_local_parameters = {
254
- qf: '$qf',
255
- pf: '$pf'
260
+ qf: "$qf",
261
+ pf: "$pf"
256
262
  }
257
263
  end
258
264
 
259
- config.add_search_field('title') do |field|
265
+ config.add_search_field("title") do |field|
260
266
  field.include_in_simple_select = false
261
- field.qt = 'search'
262
- field.label = 'Title'
267
+ field.qt = "search"
268
+ field.label = "Title"
263
269
  field.solr_local_parameters = {
264
- qf: '$title_qf',
265
- pf: '$title_pf'
270
+ qf: "$title_qf",
271
+ pf: "$title_pf"
266
272
  }
267
273
  end
268
274
 
269
- config.add_search_field('placename') do |field|
275
+ config.add_search_field("placename") do |field|
270
276
  field.include_in_simple_select = false
271
- field.qt = 'search'
272
- field.label = 'Place'
277
+ field.qt = "search"
278
+ field.label = "Place"
273
279
  field.solr_local_parameters = {
274
- qf: '$placename_qf',
275
- pf: '$placename_pf'
280
+ qf: "$placename_qf",
281
+ pf: "$placename_pf"
276
282
  }
277
283
  end
278
284
 
279
- config.add_search_field('publisher') do |field|
285
+ config.add_search_field("publisher") do |field|
280
286
  field.include_in_simple_select = false
281
- field.qt = 'search'
282
- field.label = 'Publisher/Creator'
287
+ field.qt = "search"
288
+ field.label = "Publisher/Creator"
283
289
  field.solr_local_parameters = {
284
- qf: '$publisher_qf',
285
- pf: '$publisher_pf'
290
+ qf: "$publisher_qf",
291
+ pf: "$publisher_pf"
286
292
  }
287
293
  end
288
294
 
@@ -290,41 +296,52 @@ module Admin
290
296
  # label in pulldown is followed by the name of the SOLR field to sort by and
291
297
  # whether the sort is ascending or descending (it must be asc or desc
292
298
  # except in the relevancy case).
293
- config.add_sort_field 'score desc, dct_title_sort asc', :label => 'Relevance'
294
- config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} desc, dct_title_sort asc", :label => 'Year (Newest first)'
295
- config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} asc, dct_title_sort asc", :label => 'Year (Oldest first)'
296
- config.add_sort_field 'dct_title_sort asc', :label => 'Title (A-Z)'
297
- config.add_sort_field 'dct_title_sort desc', :label => 'Title (Z-A)'
298
- config.add_sort_field 'date_modified_dtsi desc', :label => 'Updated At (Newest first)'
299
- config.add_sort_field 'date_modified_dtsi asc', :label => 'Updated At (Oldest first)'
299
+ config.add_sort_field "score desc, dct_title_sort asc", label: "Relevance"
300
+ config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} desc, dct_title_sort asc", label: "Year (Newest first)"
301
+ config.add_sort_field "#{Settings.FIELDS.INDEX_YEAR} asc, dct_title_sort asc", label: "Year (Oldest first)"
302
+ config.add_sort_field "dct_title_sort asc", label: "Title (A-Z)"
303
+ config.add_sort_field "dct_title_sort desc", label: "Title (Z-A)"
304
+ config.add_sort_field "date_modified_dtsi desc", label: "Updated At (Newest first)"
305
+ config.add_sort_field "date_modified_dtsi asc", label: "Updated At (Oldest first)"
300
306
 
301
307
  # If there are more than this many search results, no spelling ("did you
302
308
  # mean") suggestion is offered.
303
309
  config.spell_max = 5
304
310
 
305
311
  # Custom tools for GeoBlacklight
306
- 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?)}
307
- 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? }
308
- 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? }
309
- config.add_show_tools_partial :exports, partial: 'exports', if: proc { |_context, _config, options| options[:document] }
310
- config.add_show_tools_partial :data_dictionary, partial: 'data_dictionary', if: proc { |_context, _config, options| options[:document] && options[:document].data_dictionary_download.present?}
312
+ config.add_show_tools_partial :more_details, partial: "more_details", if: proc { |_context, _config, options|
313
+ options[:document] && (!options[:document].references.nil? & !options[:document].references.url.nil?)
314
+ }
315
+ config.add_show_tools_partial :metadata, if: proc { |_context, _config, options|
316
+ options[:document] && (Settings.METADATA_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any?
317
+ }
318
+ config.add_show_tools_partial :web_services, if: proc { |_context, _config, options|
319
+ options[:document] && (Settings.WEBSERVICES_SHOWN & options[:document].references.refs.map(&:type).map(&:to_s)).any?
320
+ }
321
+ config.add_show_tools_partial :exports, partial: "exports", if: proc { |_context, _config, options|
322
+ options[:document]
323
+ }
324
+ config.add_show_tools_partial :data_dictionary, partial: "data_dictionary", if: proc { |_context, _config, options|
325
+ options[:document] && options[:document].data_dictionary_download.present?
326
+ }
311
327
  config.add_show_tools_partial(:citation)
312
- config.add_show_tools_partial(:access_links, partial: 'access_links', if: proc { |_context, _config, options| options[:document] && options[:document].access_links.present?})
328
+ config.add_show_tools_partial(:access_links, partial: "access_links", if: proc { |_context, _config, options|
329
+ options[:document] && options[:document].access_links.present?
330
+ })
313
331
 
314
332
  # Remove nav actions
315
- config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: false)
333
+ config.add_nav_action(:bookmark, partial: "blacklight/nav/bookmark", if: false)
316
334
 
317
335
  # Remove show tools
318
336
  config.show.partials.delete(:show_header)
319
337
  config.show.partials.delete(:show)
320
338
 
321
- config.show.display_type_field = 'format'
322
- config.show.partials << 'show_header'
323
- config.show.partials << 'show_default_viewer_container'
324
- config.show.partials << 'show_default_viewer_information'
325
- config.show.partials << 'show_default_attribute_table'
326
- config.show.partials << 'show'
327
-
339
+ config.show.display_type_field = "format"
340
+ config.show.partials << "show_header"
341
+ config.show.partials << "show_default_viewer_container"
342
+ config.show.partials << "show_default_viewer_information"
343
+ config.show.partials << "show_default_attribute_table"
344
+ config.show.partials << "show"
328
345
 
329
346
  config.show.document_actions.delete(:email)
330
347
  config.show.document_actions.delete(:bookmark)
@@ -336,30 +353,30 @@ module Admin
336
353
  # 'mapquest' http://developer.mapquest.com/web/products/open/map
337
354
  # 'positron' http://cartodb.com/basemaps/
338
355
  # 'darkMatter' http://cartodb.com/basemaps/
339
- config.basemap_provider = 'esri'
340
- config.max_per_page = 100000
356
+ config.basemap_provider = "esri"
357
+ config.max_per_page = 100_000
341
358
 
342
359
  # Configuration for autocomplete suggestor
343
360
  config.autocomplete_enabled = true
344
- config.autocomplete_path = 'suggest'
361
+ config.autocomplete_path = "suggest"
345
362
  end
346
363
 
347
364
  # Administrative view of document
348
365
  # - Sidecar Image
349
366
  # - URIs
350
367
  def admin
351
- deprecated_response, @document = search_service.fetch(params[:id])
368
+ _, @document = search_service.fetch(params[:id])
352
369
  end
353
370
 
354
371
  # Administrative view for array of document ids
355
372
  # - bookmarks
356
373
  def fetch
357
- @response, deprecated_document_list = search_service.fetch(params[:id])
374
+ @response, = search_service.fetch(params[:id])
358
375
 
359
376
  respond_to do |format|
360
377
  format.json do
361
378
  @presenter = Blacklight::JsonPresenter.new(@response,
362
- blacklight_config)
379
+ blacklight_config)
363
380
  end
364
381
  end
365
382
  end
@@ -369,16 +386,14 @@ module Admin
369
386
  # We want to find the facets available for the current search, but:
370
387
  # * IGNORING current query (add in facets_for_advanced_search_form filter)
371
388
  # * IGNORING current advanced search facets (remove add_advanced_search_to_solr filter)
372
- @response, _ = search_service.search_results do |search_builder|
389
+ @response, = search_service.search_results do |search_builder|
373
390
  search_builder.except(:add_advanced_search_to_solr).append(:facets_for_advanced_search_form)
374
391
  end
375
392
 
376
- @response
377
-
378
393
  respond_to do |format|
379
394
  format.json do
380
395
  @presenter = Blacklight::JsonPresenter.new(@response,
381
- blacklight_config)
396
+ blacklight_config)
382
397
  end
383
398
  end
384
399
  end
@@ -9,7 +9,7 @@ module Admin
9
9
  # GET /bookmarks
10
10
  # GET /bookmarks.json
11
11
  def index
12
- @pagy, @bookmarks = pagy(current_user.bookmarks)
12
+ @pagy, @bookmarks = pagy(current_user.bookmarks.where(document_type: "Kithe::Model"))
13
13
 
14
14
  respond_to do |format|
15
15
  format.html { render :index }
@@ -21,7 +21,7 @@ module Admin
21
21
  # POST /bookmarks
22
22
  # POST /bookmarks.json
23
23
  def create
24
- @bookmark = Bookmark.find_or_create_by(user: current_user, document: @document)
24
+ @bookmark = Admin::Bookmark.find_or_create_by(user: current_user, document: @document)
25
25
 
26
26
  respond_to do |format|
27
27
  if @bookmark.save
@@ -37,7 +37,7 @@ module Admin
37
37
  # DELETE /bookmarks/1
38
38
  # DELETE /bookmarks/1.json
39
39
  def destroy
40
- Bookmark.destroy_by(user: current_user, document: @document)
40
+ Admin::Bookmark.destroy_by(user: current_user, document: @document)
41
41
 
42
42
  respond_to do |format|
43
43
  format.html { redirect_to bookmarks_url, notice: "Bookmark was successfully destroyed." }
@@ -65,4 +65,4 @@ module Admin
65
65
  end
66
66
  end
67
67
  end
68
- end
68
+ end
@@ -34,7 +34,9 @@ module Admin
34
34
 
35
35
  respond_to do |format|
36
36
  if @bulk_action.save
37
- format.html { redirect_to admin_bulk_action_path(@bulk_action), notice: "Bulk action was successfully created." }
37
+ format.html do
38
+ redirect_to admin_bulk_action_path(@bulk_action), notice: "Bulk action was successfully created."
39
+ end
38
40
  format.json { render :show, status: :created, location: @bulk_action }
39
41
  else
40
42
  format.html { render :new }
@@ -48,7 +50,9 @@ module Admin
48
50
  def update
49
51
  respond_to do |format|
50
52
  if @bulk_action.update(bulk_action_params)
51
- format.html { redirect_to admin_bulk_action_path(@bulk_action), notice: "Bulk action was successfully updated." }
53
+ format.html do
54
+ redirect_to admin_bulk_action_path(@bulk_action), notice: "Bulk action was successfully updated."
55
+ end
52
56
  format.json { render :show, status: :ok, location: @bulk_action }
53
57
  else
54
58
  format.html { render :edit }
@@ -76,7 +80,8 @@ module Admin
76
80
  def revert
77
81
  @bulk_action.revert!
78
82
  @bulk_action.state_machine.transition_to!(:queued)
79
- redirect_to admin_bulk_action_url(@bulk_action), notice: "Revert bulk action is running. Check back soon for results."
83
+ redirect_to admin_bulk_action_url(@bulk_action),
84
+ notice: "Revert bulk action is running. Check back soon for results."
80
85
  end
81
86
 
82
87
  private
@@ -91,4 +96,4 @@ module Admin
91
96
  params.fetch(:bulk_action, {})
92
97
  end
93
98
  end
94
- end
99
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module UploadUtil
2
4
  def self.kithe_upload_data_config(toggle_value: "kithe-upload")
3
5
  {
@@ -39,7 +39,9 @@ module Admin
39
39
 
40
40
  respond_to do |format|
41
41
  if @document_access.save
42
- format.html { redirect_to document_document_accesses_path(@document), notice: "Document access was successfully created." }
42
+ format.html do
43
+ redirect_to admin_document_document_accesses_path(@document), notice: "Document access was successfully created."
44
+ end
43
45
  format.json { render :show, status: :created, location: @document_access }
44
46
  else
45
47
  format.html { render :new }
@@ -53,7 +55,9 @@ module Admin
53
55
  def update
54
56
  respond_to do |format|
55
57
  if @document_access.update(document_access_params)
56
- format.html { redirect_to document_document_accesses_path(@document), notice: "Document access was successfully updated." }
58
+ format.html do
59
+ redirect_to admin_document_document_accesses_path(@document), notice: "Document access was successfully updated."
60
+ end
57
61
  format.json { render :show, status: :ok, location: @document_access }
58
62
  else
59
63
  format.html { render :edit }
@@ -67,7 +71,9 @@ module Admin
67
71
  def destroy
68
72
  @document_access.destroy
69
73
  respond_to do |format|
70
- format.html { redirect_to document_document_accesses_path(@document), notice: "Document access was successfully destroyed." }
74
+ format.html do
75
+ redirect_to admin_document_document_accesses_path(@document), notice: "Document access was successfully destroyed."
76
+ end
71
77
  format.json { head :no_content }
72
78
  end
73
79
  end
@@ -122,4 +128,4 @@ module Admin
122
128
  params.require(:document_access).permit(:friendlier_id, :institution_code, :access_url)
123
129
  end
124
130
  end
125
- end
131
+ end
@@ -24,11 +24,11 @@ module Admin
24
24
  @asset = Kithe::Asset.find_by_friendlier_id!(params[:id])
25
25
  authorize! :read, @asset
26
26
 
27
- if @asset.stored?
28
- @checks = @asset.fixity_checks.order("created_at asc")
29
- @latest_check = @checks.last
30
- @earliest_check = @checks.first
31
- end
27
+ return unless @asset.stored?
28
+
29
+ @checks = @asset.fixity_checks.order("created_at asc")
30
+ @latest_check = @checks.last
31
+ @earliest_check = @checks.first
32
32
  end
33
33
 
34
34
  def edit
@@ -58,7 +58,10 @@ module Admin
58
58
  @asset.destroy
59
59
 
60
60
  respond_to do |format|
61
- format.html { redirect_to document_document_assets_path(@document), notice: "Asset '#{@asset.title}' was successfully destroyed." }
61
+ format.html do
62
+ redirect_to document_document_assets_path(@document),
63
+ notice: "Asset '#{@asset.title}' was successfully destroyed."
64
+ end
62
65
  format.json { head :no_content }
63
66
  end
64
67
  end
@@ -105,9 +108,7 @@ module Admin
105
108
  asset.save!
106
109
  end
107
110
 
108
- if @parent.representative_id.nil?
109
- @parent.update(representative: @parent.members.order(:position).first)
110
- end
111
+ @parent.update(representative: @parent.members.order(:position).first) if @parent.representative_id.nil?
111
112
 
112
113
  redirect_to document_path(@parent.friendlier_id, anchor: "nav-members")
113
114
  end
@@ -155,7 +156,8 @@ module Admin
155
156
 
156
157
  RefreshActiveEncodeStatusJob.perform_later(status)
157
158
 
158
- redirect_to admin_asset_url(status.asset), notice: "Started refresh for ActiveEncode job #{status.active_encode_id}"
159
+ redirect_to admin_asset_url(status.asset),
160
+ notice: "Started refresh for ActiveEncode job #{status.active_encode_id}"
159
161
  end
160
162
 
161
163
  def work_is_oral_history?
@@ -175,6 +177,7 @@ module Admin
175
177
 
176
178
  def parent_path(asset)
177
179
  return nil if asset.parent.nil?
180
+
178
181
  asset.parent.is_a? Collection ? collection_path(asset.parent) : admin_work_path(asset.parent)
179
182
  end
180
183
  helper_method :parent_path
@@ -195,4 +198,4 @@ module Admin
195
198
  params.require(:asset).permit(*allowed_params)
196
199
  end
197
200
  end
198
- end
201
+ end