blacklight-spotlight 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (693) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/app/assets/javascripts/spotlight/application.js +1 -1
  4. data/app/assets/javascripts/spotlight/blacklight_configuration.js +28 -0
  5. data/app/assets/javascripts/spotlight/catalog_edit.js +45 -3
  6. data/app/assets/javascripts/spotlight/exhibits.js +3 -3
  7. data/app/assets/javascripts/spotlight/form_observer.js +64 -0
  8. data/app/assets/javascripts/spotlight/item_text_block.js +13 -5
  9. data/app/assets/javascripts/spotlight/multi_up_item_grid.js +96 -0
  10. data/app/assets/javascripts/spotlight/pages.js +18 -7
  11. data/app/assets/javascripts/spotlight/search_typeahead.js +1 -1
  12. data/app/assets/stylesheets/spotlight/{attachments.css → _attachments.css} +0 -0
  13. data/app/assets/stylesheets/spotlight/_blacklight_configuration.css.scss +21 -0
  14. data/app/assets/stylesheets/spotlight/_bootstrap_overrides.css.scss +29 -0
  15. data/app/assets/stylesheets/spotlight/{browse.css.scss → _browse.css.scss} +0 -0
  16. data/app/assets/stylesheets/spotlight/{catalog.css.scss → _catalog.css.scss} +11 -3
  17. data/app/assets/stylesheets/spotlight/{curation.css.scss → _curation.css.scss} +15 -4
  18. data/app/assets/stylesheets/spotlight/{exhibit_admin.css.scss → _exhibit_admin.css.scss} +0 -0
  19. data/app/assets/stylesheets/spotlight/_header.css.scss +41 -0
  20. data/app/assets/stylesheets/spotlight/{item_text_block.css.scss → _item_text_block.css.scss} +7 -1
  21. data/app/assets/stylesheets/spotlight/_multi_up_item_grid.css.scss +41 -0
  22. data/app/assets/stylesheets/spotlight/{nestable.css.scss → _nestable.css.scss} +0 -0
  23. data/app/assets/stylesheets/spotlight/_pages.css.scss +43 -0
  24. data/app/assets/stylesheets/spotlight/{sir-trevor.css.scss → _sir-trevor.css.scss} +0 -0
  25. data/app/assets/stylesheets/spotlight/_variables.css.scss +0 -0
  26. data/app/assets/stylesheets/spotlight/_variables_bootstrap.css.scss +7 -0
  27. data/app/assets/stylesheets/spotlight/{application.css → application.css.scss} +3 -2
  28. data/app/assets/stylesheets/spotlight/spotlight.css.scss +15 -0
  29. data/app/assets/stylesheets/spotlight/typeahead.css +0 -1
  30. data/app/builders/spotlight/bootstrap_breadcrumbs_builder.rb +24 -0
  31. data/app/controllers/spotlight/about_pages_controller.rb +30 -8
  32. data/app/controllers/spotlight/blacklight_configurations_controller.rb +9 -3
  33. data/app/controllers/spotlight/browse_controller.rb +31 -2
  34. data/app/controllers/spotlight/catalog_controller.rb +92 -7
  35. data/app/controllers/spotlight/contact_forms_controller.rb +1 -0
  36. data/app/controllers/spotlight/contacts_controller.rb +54 -0
  37. data/app/controllers/spotlight/custom_fields_controller.rb +15 -4
  38. data/app/controllers/spotlight/dashboard_controller.rb +13 -0
  39. data/app/controllers/spotlight/dashboards_controller.rb +36 -0
  40. data/app/controllers/spotlight/exhibits_controller.rb +4 -6
  41. data/app/controllers/spotlight/feature_pages_controller.rb +13 -10
  42. data/app/controllers/spotlight/home_pages_controller.rb +13 -20
  43. data/app/controllers/spotlight/pages_controller.rb +21 -14
  44. data/app/controllers/spotlight/roles_controller.rb +3 -0
  45. data/app/controllers/spotlight/searches_controller.rb +10 -0
  46. data/app/controllers/spotlight/tags_controller.rb +14 -2
  47. data/app/helpers/spotlight/admin_title_helper.rb +27 -0
  48. data/app/helpers/spotlight/application_helper.rb +11 -0
  49. data/app/helpers/spotlight/crud_link_helpers.rb +68 -0
  50. data/app/helpers/spotlight/main_app_helpers.rb +1 -15
  51. data/app/helpers/spotlight/pages_helper.rb +14 -0
  52. data/app/helpers/spotlight/roles_helper.rb +7 -0
  53. data/app/models/concerns/spotlight/ar_light.rb +16 -0
  54. data/app/models/concerns/spotlight/solr_document.rb +52 -2
  55. data/app/models/concerns/spotlight/solr_document/atomic_updates.rb +22 -0
  56. data/app/models/spotlight/ability.rb +12 -22
  57. data/app/models/spotlight/blacklight_configuration.rb +19 -13
  58. data/app/models/spotlight/contact.rb +5 -0
  59. data/app/models/spotlight/contact_form.rb +4 -2
  60. data/app/models/spotlight/custom_field.rb +7 -1
  61. data/app/models/spotlight/exhibit.rb +5 -3
  62. data/app/models/spotlight/home_page.rb +15 -6
  63. data/app/models/spotlight/page.rb +8 -0
  64. data/app/models/spotlight/role.rb +3 -1
  65. data/app/models/spotlight/search.rb +4 -0
  66. data/app/models/spotlight/solr_document_sidecar.rb +22 -0
  67. data/app/views/_user_util_links.html.erb +3 -6
  68. data/app/views/catalog/_image_default.html.erb +1 -1
  69. data/app/views/catalog/_save_search.html.erb +1 -1
  70. data/app/views/catalog/_sort_and_per_page.html.erb +1 -1
  71. data/app/views/shared/_exhibit_masthead.html.erb +2 -2
  72. data/app/views/shared/_exhibit_navbar.html.erb +11 -7
  73. data/app/views/shared/_header_navbar.html.erb +1 -1
  74. data/app/views/sir-trevor/blocks/_item_text_block.html.erb +1 -1
  75. data/app/views/sir-trevor/blocks/_multi_up_item_grid_block.html.erb +25 -0
  76. data/app/views/spotlight/about_pages/_contact.html.erb +19 -0
  77. data/app/views/spotlight/about_pages/_contact_properties.html.erb +5 -0
  78. data/app/views/spotlight/about_pages/_sidebar.html.erb +12 -1
  79. data/app/views/spotlight/about_pages/index.html.erb +20 -0
  80. data/app/views/spotlight/blacklight_configurations/edit_facet_fields.html.erb +11 -18
  81. data/app/views/spotlight/blacklight_configurations/edit_metadata_fields.html.erb +19 -19
  82. data/app/views/spotlight/browse/_search.html.erb +1 -1
  83. data/app/views/spotlight/browse/index.html.erb +1 -1
  84. data/app/views/spotlight/browse/show.html.erb +1 -1
  85. data/app/views/spotlight/catalog/_admin_thumbnail_default.html.erb +6 -0
  86. data/app/views/spotlight/catalog/_curation_mode_toggle_default.html.erb +3 -3
  87. data/app/views/spotlight/catalog/_document_admin_table.html.erb +6 -1
  88. data/app/views/spotlight/catalog/_document_visibility_control.html.erb +5 -0
  89. data/app/views/spotlight/catalog/_edit_default.html.erb +4 -2
  90. data/app/views/spotlight/catalog/_index_compact_default.html.erb +9 -1
  91. data/app/views/spotlight/catalog/_tags_default.html.erb +1 -1
  92. data/app/views/spotlight/catalog/admin.html.erb +1 -8
  93. data/app/views/spotlight/catalog/edit.html.erb +1 -5
  94. data/app/views/spotlight/contact_forms/new.html.erb +2 -4
  95. data/app/views/spotlight/contacts/_form.html.erb +11 -0
  96. data/app/views/spotlight/contacts/edit.html.erb +5 -0
  97. data/app/views/spotlight/contacts/new.html.erb +5 -0
  98. data/app/views/spotlight/custom_fields/_form.html.erb +3 -8
  99. data/app/views/spotlight/custom_fields/edit.html.erb +3 -1
  100. data/app/views/spotlight/custom_fields/new.html.erb +3 -0
  101. data/app/views/spotlight/dashboards/_analytics.html.erb +0 -0
  102. data/app/views/spotlight/dashboards/_page.html.erb +11 -0
  103. data/app/views/spotlight/dashboards/_page_activity.html.erb +28 -0
  104. data/app/views/spotlight/dashboards/_solr_document_activity.html.erb +3 -0
  105. data/app/views/spotlight/dashboards/show.html.erb +15 -0
  106. data/app/views/spotlight/exhibits/edit.html.erb +9 -14
  107. data/app/views/spotlight/feature_pages/_header.html.erb +5 -9
  108. data/app/views/spotlight/pages/_curation_mode_toggle.html.erb +12 -0
  109. data/app/views/spotlight/pages/_form.html.erb +2 -2
  110. data/app/views/spotlight/pages/_order_pages.html.erb +27 -0
  111. data/app/views/spotlight/pages/_page.html.erb +5 -5
  112. data/app/views/spotlight/pages/edit.html.erb +4 -2
  113. data/app/views/spotlight/pages/index.html.erb +1 -27
  114. data/app/views/spotlight/pages/new.html.erb +2 -2
  115. data/app/views/spotlight/pages/show.html.erb +8 -6
  116. data/app/views/spotlight/roles/_edit_fields.html.erb +1 -1
  117. data/app/views/spotlight/roles/index.html.erb +17 -13
  118. data/app/views/spotlight/searches/_search.html.erb +4 -4
  119. data/app/views/spotlight/searches/edit.html.erb +3 -4
  120. data/app/views/spotlight/searches/index.html.erb +12 -11
  121. data/app/views/spotlight/shared/_admin_sidebar.html.erb +0 -1
  122. data/app/views/spotlight/shared/_curation_sidebar.html.erb +3 -1
  123. data/app/views/spotlight/tags/index.html.erb +10 -12
  124. data/config/locales/spotlight.en.yml +196 -85
  125. data/config/routes.rb +14 -1
  126. data/db/migrate/20131119213142_create_spotlight_pages.rb +2 -0
  127. data/db/migrate/20140128155151_create_exhibits.rb +0 -1
  128. data/db/migrate/20140130215634_create_spotlight_blacklight_configurations.rb +1 -0
  129. data/db/migrate/20140211212626_create_spotlight_solr_document_sidecars.rb +1 -0
  130. data/db/migrate/20140218155151_create_contacts.rb +16 -0
  131. data/lib/generators/spotlight/install_generator.rb +1 -1
  132. data/lib/generators/spotlight/templates/spotlight.css.scss +3 -3
  133. data/lib/spotlight/catalog.rb +11 -1
  134. data/lib/spotlight/catalog/access_controls_enforcement.rb +15 -0
  135. data/lib/spotlight/engine.rb +10 -3
  136. data/lib/spotlight/rails/routes.rb +6 -2
  137. data/lib/spotlight/version.rb +1 -1
  138. data/spec/controllers/spotlight/about_pages_controller_spec.rb +79 -0
  139. data/spec/controllers/spotlight/blacklight_configurations_controller_spec.rb +9 -3
  140. data/spec/controllers/spotlight/browse_controller_spec.rb +14 -5
  141. data/spec/controllers/spotlight/catalog_controller_spec.rb +108 -4
  142. data/spec/controllers/spotlight/contacts_controller_spec.rb +76 -0
  143. data/spec/controllers/spotlight/custom_fields_controller_spec.rb +13 -3
  144. data/spec/controllers/spotlight/dashboards_controller_spec.rb +45 -0
  145. data/spec/controllers/spotlight/exhibits_controller_spec.rb +3 -0
  146. data/spec/controllers/spotlight/feature_pages_controller_spec.rb +39 -26
  147. data/spec/controllers/spotlight/home_pages_controller_spec.rb +25 -4
  148. data/spec/controllers/spotlight/roles_controller_spec.rb +8 -5
  149. data/spec/controllers/spotlight/searches_controller_spec.rb +6 -2
  150. data/spec/controllers/spotlight/tags_controller_spec.rb +12 -4
  151. data/spec/factories/contacts.rb +7 -0
  152. data/spec/factories/custom_fields.rb +1 -1
  153. data/spec/factories/exhibits.rb +1 -0
  154. data/spec/factories/pages.rb +3 -0
  155. data/spec/factories/roles.rb +1 -1
  156. data/spec/factories/searches.rb +1 -0
  157. data/spec/factories/tags.rb +6 -0
  158. data/spec/factories/users.rb +1 -1
  159. data/spec/features/add_contacts_spec.rb +38 -0
  160. data/spec/features/add_custom_field_metadata_spec.rb +2 -1
  161. data/spec/features/browse_category_admin_spec.rb +34 -0
  162. data/spec/features/create_page_spec.rb +3 -3
  163. data/spec/features/curation_mode_widget_spec.rb +54 -11
  164. data/spec/features/curator_items.rb +1 -1
  165. data/spec/features/dashboard_spec.rb +39 -0
  166. data/spec/features/exhibits/add_tags_spec.rb +3 -0
  167. data/spec/features/exhibits/custom_metadata_fields_spec.rb +2 -2
  168. data/spec/features/exhibits/edit_facet_fields_spec.rb +6 -6
  169. data/spec/features/exhibits/edit_metadata_fields_spec.rb +14 -0
  170. data/spec/features/feature_page_spec.rb +2 -0
  171. data/spec/features/home_page_spec.rb +18 -2
  172. data/spec/features/item_admin_spec.rb +49 -0
  173. data/spec/features/javascript/feature_page_admin_spec.rb +52 -2
  174. data/spec/features/javascript/item_text_block_spec.rb +41 -29
  175. data/spec/features/javascript/multi_up_item_grid_spec.rb +40 -0
  176. data/spec/features/metadata_admin_spec.rb +16 -0
  177. data/spec/features/report_a_problem_spec.rb +1 -1
  178. data/spec/features/search_facets_admin_spec.rb +18 -0
  179. data/spec/features/tags_admin_spec.rb +27 -0
  180. data/spec/features/user_admin_spec.rb +16 -0
  181. data/spec/fixtures/sample_solr_documents.yml +398 -398
  182. data/spec/helpers/spotlight/admin_title_helper_spec.rb +47 -0
  183. data/spec/helpers/spotlight/application_helper_spec.rb +20 -0
  184. data/spec/helpers/spotlight/crud_link_helpers_spec.rb +147 -0
  185. data/spec/helpers/spotlight/pages_helper_spec.rb +6 -1
  186. data/spec/helpers/spotlight/roles_helper_spec.rb +7 -0
  187. data/spec/internal/Gemfile +1 -1
  188. data/spec/internal/Gemfile.lock +34 -26
  189. data/spec/internal/app/assets/stylesheets/spotlight.css.scss +3 -3
  190. data/spec/internal/app/controllers/catalog_controller.rb +6 -5
  191. data/spec/internal/app/models/solr_document.rb +1 -0
  192. data/spec/internal/config/initializers/devise.rb +6 -6
  193. data/spec/internal/config/initializers/secret_token.rb +1 -1
  194. data/spec/internal/config/locales/devise.en.yml +1 -1
  195. data/spec/internal/db/development.sqlite3 +0 -0
  196. data/spec/internal/db/migrate/{20140213201424_devise_create_users.rb → 20140221181113_devise_create_users.rb} +0 -0
  197. data/spec/internal/db/migrate/{20140213201427_add_devise_guests_to_users.rb → 20140221181115_add_devise_guests_to_users.rb} +0 -0
  198. data/spec/internal/db/migrate/{20140213201428_create_searches.blacklight.rb → 20140221181117_create_searches.blacklight.rb} +0 -0
  199. data/spec/internal/db/migrate/{20140213201429_create_bookmarks.blacklight.rb → 20140221181118_create_bookmarks.blacklight.rb} +0 -0
  200. data/spec/internal/db/migrate/{20140213201430_create_spotlight_pages.spotlight.rb → 20140221181119_create_spotlight_pages.spotlight.rb} +2 -0
  201. data/spec/internal/db/migrate/{20140213201431_create_spotlight_attachments.spotlight.rb → 20140221181120_create_spotlight_attachments.spotlight.rb} +0 -0
  202. data/spec/internal/db/migrate/{20140213201432_create_exhibits.spotlight.rb → 20140221181121_create_exhibits.spotlight.rb} +0 -1
  203. data/spec/internal/db/migrate/{20140213201433_create_roles.spotlight.rb → 20140221181122_create_roles.spotlight.rb} +0 -0
  204. data/spec/internal/db/migrate/{20140213201434_create_spotlight_searches.spotlight.rb → 20140221181123_create_spotlight_searches.spotlight.rb} +0 -0
  205. data/spec/internal/db/migrate/{20140213201435_create_spotlight_blacklight_configurations.spotlight.rb → 20140221181124_create_spotlight_blacklight_configurations.spotlight.rb} +1 -0
  206. data/spec/internal/db/migrate/{20140213201436_acts_as_taggable_on_migration.spotlight.rb → 20140221181125_acts_as_taggable_on_migration.spotlight.rb} +0 -0
  207. data/spec/internal/db/migrate/{20140213201437_add_missing_unique_indices.spotlight.rb → 20140221181126_add_missing_unique_indices.spotlight.rb} +0 -0
  208. data/spec/internal/db/migrate/{20140213201438_create_spotlight_custom_fields.spotlight.rb → 20140221181127_create_spotlight_custom_fields.spotlight.rb} +0 -0
  209. data/spec/internal/db/migrate/{20140213201439_create_spotlight_solr_document_sidecars.spotlight.rb → 20140221181128_create_spotlight_solr_document_sidecars.spotlight.rb} +1 -0
  210. data/spec/internal/db/migrate/20140221181129_create_contacts.spotlight.rb +17 -0
  211. data/spec/internal/db/schema.rb +22 -5
  212. data/spec/internal/db/test.sqlite3 +0 -0
  213. data/spec/internal/log/development.log +122 -35398
  214. data/spec/internal/log/test.log +83150 -4800
  215. data/spec/internal/tmp/cache/assets/test/sass/7f56115890a28a29097cd3010106a2711cb6c5e4/spotlight.css.scssc +0 -0
  216. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_attachments.cssc +0 -0
  217. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_blacklight_configuration.css.scssc +0 -0
  218. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_bootstrap_overrides.css.scssc +0 -0
  219. data/spec/internal/tmp/cache/assets/{development/sass/86639965509c9318bb7a3137a93a669b1d159dac/browse.css.scssc → test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_browse.css.scssc} +0 -0
  220. data/spec/internal/tmp/cache/assets/{development/sass/86639965509c9318bb7a3137a93a669b1d159dac/catalog.css.scssc → test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_catalog.css.scssc} +0 -0
  221. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/{curation.css.scssc → _curation.css.scssc} +0 -0
  222. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_exhibit_admin.css.scssc +0 -0
  223. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_header.css.scssc +0 -0
  224. data/spec/internal/tmp/cache/assets/{development/sass/86639965509c9318bb7a3137a93a669b1d159dac/item_text_block.css.scssc → test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_item_text_block.css.scssc} +0 -0
  225. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_multi_up_item_grid.css.scssc +0 -0
  226. data/spec/internal/tmp/cache/assets/{development/sass/86639965509c9318bb7a3137a93a669b1d159dac/nestable.css.scssc → test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_nestable.css.scssc} +0 -0
  227. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_pages.css.scssc +0 -0
  228. data/spec/internal/tmp/cache/assets/{development/sass/86639965509c9318bb7a3137a93a669b1d159dac/sir-trevor.css.scssc → test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_sir-trevor.css.scssc} +0 -0
  229. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_variables.css.scssc +0 -0
  230. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/_variables_bootstrap.css.scssc +0 -0
  231. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/application.css.scssc +0 -0
  232. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/spotlight.css.scssc +0 -0
  233. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/typeahead.cssc +0 -0
  234. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_alerts.scssc +0 -0
  235. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_badges.scssc +0 -0
  236. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_breadcrumbs.scssc +0 -0
  237. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_button-groups.scssc +0 -0
  238. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_buttons.scssc +0 -0
  239. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_carousel.scssc +0 -0
  240. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_close.scssc +0 -0
  241. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_code.scssc +0 -0
  242. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_component-animations.scssc +0 -0
  243. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_dropdowns.scssc +0 -0
  244. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_forms.scssc +0 -0
  245. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_glyphicons.scssc +0 -0
  246. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_grid.scssc +0 -0
  247. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_input-groups.scssc +0 -0
  248. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_jumbotron.scssc +0 -0
  249. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_labels.scssc +0 -0
  250. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_list-group.scssc +0 -0
  251. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_media.scssc +0 -0
  252. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_mixins.scssc +0 -0
  253. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_modals.scssc +0 -0
  254. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_navbar.scssc +0 -0
  255. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_navs.scssc +0 -0
  256. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_normalize.scssc +0 -0
  257. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_pager.scssc +0 -0
  258. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_pagination.scssc +0 -0
  259. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_panels.scssc +0 -0
  260. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_popovers.scssc +0 -0
  261. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_print.scssc +0 -0
  262. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_progress-bars.scssc +0 -0
  263. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_responsive-utilities.scssc +0 -0
  264. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_scaffolding.scssc +0 -0
  265. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_tables.scssc +0 -0
  266. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_thumbnails.scssc +0 -0
  267. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_tooltip.scssc +0 -0
  268. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_type.scssc +0 -0
  269. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_utilities.scssc +0 -0
  270. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_variables.scssc +0 -0
  271. data/spec/internal/tmp/cache/assets/{development → test}/sass/9aa5ba0e61c914556d501a14beadbf084220afcb/_wells.scssc +0 -0
  272. data/spec/internal/tmp/cache/assets/{development → test}/sass/add70902996212745523bb1e74624dd2cf70530d/bootstrap.scssc +0 -0
  273. data/spec/internal/tmp/cache/assets/test/sprockets/054efbff0405a5e198004ac3654b2f8c +0 -0
  274. data/spec/internal/tmp/cache/assets/test/sprockets/057d1fa18bc0e1e5b993210f991d9fc8 +0 -0
  275. data/spec/internal/tmp/cache/assets/test/sprockets/087a79914d85e6b54d8988731ab53136 +0 -0
  276. data/spec/internal/tmp/cache/assets/test/sprockets/0a5222bec0ee683551455e74497afde4 +0 -0
  277. data/spec/internal/tmp/cache/assets/test/sprockets/0de3c377f7421a594ac39ed536b135b0 +0 -0
  278. data/spec/internal/tmp/cache/assets/test/sprockets/0deba0db9c30e052db9c6f78ae250989 +0 -0
  279. data/spec/internal/tmp/cache/assets/test/sprockets/11666b7929fdbd993ea80deada4c13b0 +0 -0
  280. data/spec/internal/tmp/cache/assets/test/sprockets/122bde84dd6cfb9aa6cbb3602c1aa0e9 +0 -0
  281. data/spec/internal/tmp/cache/assets/test/sprockets/13580606668b02852cd72a5ce6a46643 +0 -0
  282. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/13e2f6483c330b011c5ef96704ca89d8 +0 -0
  283. data/spec/internal/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  284. data/spec/internal/tmp/cache/assets/test/sprockets/18f05727080f01cd1f6107986e8ef8de +0 -0
  285. data/spec/internal/tmp/cache/assets/test/sprockets/20dce00b20c4d78820b1c3a4fe3e470f +0 -0
  286. data/spec/internal/tmp/cache/assets/test/sprockets/2144c89ce81d837cff269bddb07fb6e4 +0 -0
  287. data/spec/internal/tmp/cache/assets/test/sprockets/26edda560d842267070028189c2358e2 +0 -0
  288. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/2a70a592ba6d7d57ca175cc8ad18da46 +0 -0
  289. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/2b621825bca02aece2a68cd70e2548d8 +0 -0
  290. data/spec/internal/tmp/cache/assets/test/sprockets/2c77e85b70df92a428365a2e2ef71e2d +0 -0
  291. data/spec/internal/tmp/cache/assets/test/sprockets/2f1bbdc4330711863d62556043df25ce +0 -0
  292. data/spec/internal/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  293. data/spec/internal/tmp/cache/assets/test/sprockets/{57e88b9c9b3246e0554f88ee3f591d4d → 34a969e8d028e63ea897dd0448970032} +0 -0
  294. data/spec/internal/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  295. data/spec/internal/tmp/cache/assets/test/sprockets/3a47658debc1b4b58e2b0a9675dfae62 +0 -0
  296. data/spec/internal/tmp/cache/assets/test/sprockets/{d0a2147f9a3ad98a5d61e4fe80826414 → 3c88bbb1ab5d414e45a05492d34a7446} +0 -0
  297. data/spec/internal/tmp/cache/assets/test/sprockets/3e20d10c7725c27236abd61883a7b278 +0 -0
  298. data/spec/internal/tmp/cache/assets/test/sprockets/4173763ff20266fbf2b66c365cb2a6dd +0 -0
  299. data/spec/internal/tmp/cache/assets/test/sprockets/4386f0e27274e3cbdc32cee899d34b8f +0 -0
  300. data/spec/internal/tmp/cache/assets/test/sprockets/465dcb5120648b76bb827df45eebdd9d +0 -0
  301. data/spec/internal/tmp/cache/assets/test/sprockets/{5228747f20db13cd1842569a0b4d27a8 → 466aa53e9d282c855928b9250b3500a5} +0 -0
  302. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/49299b0178b94e64c5385b187f93f8ae +0 -0
  303. data/spec/internal/tmp/cache/assets/test/sprockets/492fec0ae7159743e989ed735aad6760 +0 -0
  304. data/spec/internal/tmp/cache/assets/test/sprockets/4b102e04198efe0f8b34684c1aaaeb20 +0 -0
  305. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/4b6c467c8a952dc209b93de3db64b70e +0 -0
  306. data/spec/internal/tmp/cache/assets/test/sprockets/4e055d70b47bbc80c9c9f847fc8f85d3 +0 -0
  307. data/spec/internal/tmp/cache/assets/test/sprockets/52582bfdd22ea0bbd52dd8d4b8c911c8 +0 -0
  308. data/spec/internal/tmp/cache/assets/test/sprockets/5ff35bebfd1fc0b7cbbbb6934664aa64 +0 -0
  309. data/spec/internal/tmp/cache/assets/test/sprockets/60cd9bb727eca8ae26fae3971cbdbb9c +0 -0
  310. data/spec/internal/tmp/cache/assets/test/sprockets/62083f335fc263942d5295bc5d6221c7 +0 -0
  311. data/spec/internal/tmp/cache/assets/test/sprockets/66f8fc3b5bbf1829a95239083e9abdb9 +0 -0
  312. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/6b0e9f093e56278364bd4d009fb1b616 +0 -0
  313. data/spec/internal/tmp/cache/assets/test/sprockets/6b1c6f740197f479421967fb560d6223 +0 -0
  314. data/spec/internal/tmp/cache/assets/test/sprockets/6b21caa94e0a49c6ea76f1e41d2ca0b6 +0 -0
  315. data/spec/internal/tmp/cache/assets/test/sprockets/6ce18a5894527091a2aad08be767698d +0 -0
  316. data/spec/internal/tmp/cache/assets/test/sprockets/{aa61c68149d34fa5b5400a154773c886 → 6eee23a91195076820a79a526476ee8c} +0 -0
  317. data/spec/internal/tmp/cache/assets/test/sprockets/73b5b050c5cf8578650b09cd0d7db81a +0 -0
  318. data/spec/internal/tmp/cache/assets/test/sprockets/7460c5bff9c90eb138ff07bf3afc71e3 +0 -0
  319. data/spec/internal/tmp/cache/assets/test/sprockets/753a88003982559e621f2a85daf6a9af +0 -0
  320. data/spec/internal/tmp/cache/assets/test/sprockets/75e4f388c794aa8cef95f173aea96959 +0 -0
  321. data/spec/internal/tmp/cache/assets/test/sprockets/76b56ee6205ef8ac8c5184e2fa6806de +0 -0
  322. data/spec/internal/tmp/cache/assets/test/sprockets/77276bb640746861bc705b385dc4380d +0 -0
  323. data/spec/internal/tmp/cache/assets/test/sprockets/8512b628be9256bf11745fdcf440920e +0 -0
  324. data/spec/internal/tmp/cache/assets/test/sprockets/8947a8a58b6f1f989ff707a4f0eb78e3 +0 -0
  325. data/spec/internal/tmp/cache/assets/test/sprockets/8b44de87380689cc74f57312141285b4 +0 -0
  326. data/spec/internal/tmp/cache/assets/test/sprockets/8c5e663a28a29017020ab8e026d92e73 +0 -0
  327. data/spec/internal/tmp/cache/assets/test/sprockets/8deb4f38d381b7e17e4b5fc69eedd3dd +0 -0
  328. data/spec/internal/tmp/cache/assets/test/sprockets/93aaa9231a32901266b05632f3d35ecd +0 -0
  329. data/spec/internal/tmp/cache/assets/test/sprockets/96bca25fbc9dec9609aa66d126ab3823 +0 -0
  330. data/spec/internal/tmp/cache/assets/test/sprockets/9a2cad4366ab55e70eba881fcf1552b1 +0 -0
  331. data/spec/internal/tmp/cache/assets/test/sprockets/{acff8fdf260f75b731a2752cabe039a3 → 9b4bac0a273ca49886f42d20ec185004} +0 -0
  332. data/spec/internal/tmp/cache/assets/test/sprockets/{c7ee24d1047e051feebc455244c1200f → 9ccf3cbdf557d62704ebbea513022927} +0 -0
  333. data/spec/internal/tmp/cache/assets/test/sprockets/9dd494f69ac32c6f56e47c6d19cbfeff +0 -0
  334. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/9e4b79ac07879c1c4ba14894b70a4e88 +0 -0
  335. data/spec/internal/tmp/cache/assets/test/sprockets/9f32a258062b214af361daf3d953b05b +0 -0
  336. data/spec/internal/tmp/cache/assets/test/sprockets/9f454e9700fb058adcc4ff2f4b942f7b +0 -0
  337. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/a1f52a71d785eb6b6999258586a24cdd +0 -0
  338. data/spec/internal/tmp/cache/assets/test/sprockets/aabf26facf07694f96d71d93cc26ce81 +0 -0
  339. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/aadedf451867800a145094f7b39c92d1 +0 -0
  340. data/spec/internal/tmp/cache/assets/test/sprockets/ab478df1b6f86008ae8b1a3aedc231fd +0 -0
  341. data/spec/internal/tmp/cache/assets/test/sprockets/ac0fb5e24553f0b285079b44557622db +0 -0
  342. data/spec/internal/tmp/cache/assets/test/sprockets/ad4a54c43c2a4c3874bfde1c9f08c248 +0 -0
  343. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/afe869dd9f56adc45dcde67e2a78f705 +0 -0
  344. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/b3ad62055ddee4eb90ce04579c559c59 +0 -0
  345. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/b73e7d2467cd904898f6be8de100ca7b +0 -0
  346. data/spec/internal/tmp/cache/assets/test/sprockets/b98e31bc04d1ed8616c282ac7abaeb08 +0 -0
  347. data/spec/internal/tmp/cache/assets/test/sprockets/{4b14e90d11a9a4a3ff0863b3cdf28687 → b9abbec7207865e8b1cb8b62e7ab50ee} +0 -0
  348. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/bd9906e18e8f4ad0f019470629897007 +0 -0
  349. data/spec/internal/tmp/cache/assets/test/sprockets/{c909d76cfa3928bd1fed493d8bdc6785 → be6413b063439eb32c09b99a2051b8ef} +0 -0
  350. data/spec/internal/tmp/cache/assets/test/sprockets/bfaa34a06d842515b62459fff8158d1d +0 -0
  351. data/spec/internal/tmp/cache/assets/test/sprockets/{c2cbda4579459322ef12578211800342 → c4218e6c2ba493931d6b0776e05f2604} +0 -0
  352. data/spec/internal/tmp/cache/assets/test/sprockets/c50513d002aba38b2b0904d790e37b50 +0 -0
  353. data/spec/internal/tmp/cache/assets/test/sprockets/c74b16d8c717571f624df25996e212de +0 -0
  354. data/spec/internal/tmp/cache/assets/{development/sprockets/acff8fdf260f75b731a2752cabe039a3 → test/sprockets/ccd3a7fbbd99aab2b96da283b11810d9} +0 -0
  355. data/spec/internal/tmp/cache/assets/test/sprockets/cd921cf7a5ad637013b1b5458806a5fc +0 -0
  356. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/ce2989beb48b4f72141074aaff9a5632 +0 -0
  357. data/spec/internal/tmp/cache/assets/test/sprockets/ce93aed99191d5c22aef1ff1dcdc7652 +0 -0
  358. data/spec/internal/tmp/cache/assets/test/sprockets/{b97ba03780eebad80c1e4c8239432f66 → cf03a6e7cdd2c578d921d67e60bd4019} +0 -0
  359. data/spec/internal/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  360. data/spec/internal/tmp/cache/assets/test/sprockets/d2bcd182195dcc17cf37e34f033e7a9d +0 -0
  361. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/d30f3620f5ac1a79e3978fa3c79aa9cf +0 -0
  362. data/spec/internal/tmp/cache/assets/test/sprockets/{1ba4256ac293f73c2f4ccb863947876c → d320144e6ac54c385a9dcea63d0a5306} +0 -0
  363. data/spec/internal/tmp/cache/assets/test/sprockets/d48fbfc19c1c19a6d2a0ec6802a78910 +0 -0
  364. data/spec/internal/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  365. data/spec/internal/tmp/cache/assets/test/sprockets/da36589d32d68cb4dbc034abeb4dfaa1 +0 -0
  366. data/spec/internal/tmp/cache/assets/test/sprockets/daa447e7ba16e65115c70aa8f4917a72 +0 -0
  367. data/spec/internal/tmp/cache/assets/test/sprockets/de429a9a63459ff938dc61cfa8132e1a +0 -0
  368. data/spec/internal/tmp/cache/assets/test/sprockets/de9ed6afb0e682b5a30ba6aff82ca36e +0 -0
  369. data/spec/internal/tmp/cache/assets/test/sprockets/{9a207c2dc4675908fb5e7b4b9d0c2a3a → decaf2254ed78da1bb29c88d028094a1} +0 -0
  370. data/spec/internal/tmp/cache/assets/test/sprockets/e0108fdb199a846893e751e8ade11008 +0 -0
  371. data/spec/internal/tmp/cache/assets/test/sprockets/e04c118e777dd56f543a6a8a54767793 +0 -0
  372. data/spec/internal/tmp/cache/assets/test/sprockets/e0fd0f648fe28c705714a8d8d471da34 +0 -0
  373. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/ef6f922d772779f0aedd2f4c65d4818b +0 -0
  374. data/spec/internal/tmp/cache/assets/test/sprockets/f222566014403a9473b9070c5794db25 +0 -0
  375. data/spec/internal/tmp/cache/assets/test/sprockets/f3a6e2dee823280a647ae560378d930b +0 -0
  376. data/spec/internal/tmp/cache/assets/test/sprockets/f4c25cd6cc321289d096b41e14e7132f +0 -0
  377. data/spec/internal/tmp/cache/assets/test/sprockets/f585ec5c9bfe8ec5f58953e069929445 +0 -0
  378. data/spec/internal/tmp/cache/assets/test/sprockets/f5bd18eb7abe09f2bc76596dfbeec57b +0 -0
  379. data/spec/internal/tmp/cache/assets/test/sprockets/f69e5f5b9d68c91875c559643318e645 +0 -0
  380. data/spec/internal/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  381. data/spec/internal/tmp/cache/assets/{development → test}/sprockets/f81e343228388c74f5609d8128515c7a +0 -0
  382. data/spec/internal/tmp/cache/assets/test/sprockets/{f13d5a17eadce75c7d236c2038c90450 → fae75d9f76d5384917bc0a1a5e4c94ae} +0 -0
  383. data/spec/internal/tmp/cache/assets/test/sprockets/{ac6e1c3ef7e45f031205e1aae63145d4 → fec01208bcd5a95a4dfc3a28c941dc3d} +0 -0
  384. data/spec/internal/tmp/cache/assets/test/sprockets/fed43bc1912cdb19dfa4ab32cf796814 +0 -0
  385. data/spec/lib/spotlight/catalog/access_controls_enforcement_spec.rb +35 -0
  386. data/spec/models/solr_document_spec.rb +70 -0
  387. data/spec/models/spotlight/ability_spec.rb +9 -6
  388. data/spec/models/spotlight/blacklight_configuration_spec.rb +9 -9
  389. data/spec/models/spotlight/custom_field_spec.rb +2 -2
  390. data/spec/models/spotlight/exhibit_spec.rb +10 -1
  391. data/spec/models/spotlight/home_page_spec.rb +14 -0
  392. data/spec/models/spotlight/page_spec.rb +8 -1
  393. data/spec/models/spotlight/role_spec.rb +4 -4
  394. data/spec/models/spotlight/solr_document_atomic_updates_spec.rb +29 -0
  395. data/spec/models/spotlight/solr_document_sidecar_spec.rb +19 -0
  396. data/spec/spec_helper.rb +2 -0
  397. data/spec/support/views/test_view_helpers.rb +12 -0
  398. data/spec/test_app_templates/catalog_controller.rb +6 -5
  399. data/spec/views/_user_util_links.html.erb_spec.rb +9 -10
  400. data/spec/views/shared/_exhibit_masthead.html.erb_spec.rb +4 -4
  401. data/spec/views/spotlight/about_pages/index.html.erb_spec.rb +57 -0
  402. data/spec/views/spotlight/catalog/_edit_default.html.erb_spec.rb +20 -0
  403. data/spec/views/spotlight/pages/index.html.erb_spec.rb +1 -2
  404. data/spec/views/spotlight/pages/show.html.erb_spec.rb +10 -18
  405. data/spec/views/spotlight/roles/index.html.erb_spec.rb +2 -2
  406. data/spec/views/spotlight/searches/index.html.erb_spec.rb +1 -1
  407. data/spec/views/spotlight/tags/index.html.erb_spec.rb +5 -4
  408. metadata +332 -761
  409. data/app/assets/stylesheets/scaffold.css +0 -56
  410. data/app/assets/stylesheets/spotlight/blacklight_configuration.css.scss +0 -6
  411. data/app/assets/stylesheets/spotlight/header.css.scss +0 -15
  412. data/app/assets/stylesheets/spotlight/pages.css +0 -4
  413. data/spec/internal/tmp/cache/assets/development/sass/57c0d7bcb994fdcd2936438bb30ba7a791220a90/default.css.scssc +0 -0
  414. data/spec/internal/tmp/cache/assets/development/sass/7f56115890a28a29097cd3010106a2711cb6c5e4/blacklight.css.scssc +0 -0
  415. data/spec/internal/tmp/cache/assets/development/sass/7f56115890a28a29097cd3010106a2711cb6c5e4/spotlight.css.scssc +0 -0
  416. data/spec/internal/tmp/cache/assets/development/sass/86639965509c9318bb7a3137a93a669b1d159dac/blacklight_configuration.css.scssc +0 -0
  417. data/spec/internal/tmp/cache/assets/development/sass/86639965509c9318bb7a3137a93a669b1d159dac/curation.css.scssc +0 -0
  418. data/spec/internal/tmp/cache/assets/development/sass/86639965509c9318bb7a3137a93a669b1d159dac/header.css.scssc +0 -0
  419. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_blacklight_base.css.scssc +0 -0
  420. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_bookmark.css.scssc +0 -0
  421. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_catalog.css.scssc +0 -0
  422. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_facets.css.scssc +0 -0
  423. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_group.css.scssc +0 -0
  424. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_header.css.scssc +0 -0
  425. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_layout.css.scssc +0 -0
  426. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_modal.css.scssc +0 -0
  427. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/_search_history.css.scssc +0 -0
  428. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/blacklight.css.scssc +0 -0
  429. data/spec/internal/tmp/cache/assets/development/sass/fe461ec1fef5f7b5460a18cf89af0d9e44b695ec/blacklight_defaults.css.scssc +0 -0
  430. data/spec/internal/tmp/cache/assets/development/sprockets/020433d97e0b9e19255798dc28f4db88 +0 -0
  431. data/spec/internal/tmp/cache/assets/development/sprockets/057d1fa18bc0e1e5b993210f991d9fc8 +0 -0
  432. data/spec/internal/tmp/cache/assets/development/sprockets/087a79914d85e6b54d8988731ab53136 +0 -0
  433. data/spec/internal/tmp/cache/assets/development/sprockets/0b12706b4ffe7ebe13430c6ee443b2dd +0 -0
  434. data/spec/internal/tmp/cache/assets/development/sprockets/0cad22d181614fbdca755e591be6fa1c +0 -0
  435. data/spec/internal/tmp/cache/assets/development/sprockets/0de3c377f7421a594ac39ed536b135b0 +0 -0
  436. data/spec/internal/tmp/cache/assets/development/sprockets/0deba0db9c30e052db9c6f78ae250989 +0 -0
  437. data/spec/internal/tmp/cache/assets/development/sprockets/0f29c03cb39fa538a2df9dbbbe655532 +0 -0
  438. data/spec/internal/tmp/cache/assets/development/sprockets/108ed3acf1cababc3ccda6af2a4fdca6 +0 -0
  439. data/spec/internal/tmp/cache/assets/development/sprockets/10ef327683798892b9938cabd394498c +0 -0
  440. data/spec/internal/tmp/cache/assets/development/sprockets/11666b7929fdbd993ea80deada4c13b0 +0 -0
  441. data/spec/internal/tmp/cache/assets/development/sprockets/122bde84dd6cfb9aa6cbb3602c1aa0e9 +0 -0
  442. data/spec/internal/tmp/cache/assets/development/sprockets/13580606668b02852cd72a5ce6a46643 +0 -0
  443. data/spec/internal/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  444. data/spec/internal/tmp/cache/assets/development/sprockets/1465aad16206b571e00aa82a16e36380 +0 -0
  445. data/spec/internal/tmp/cache/assets/development/sprockets/153e55a308813e3c473924a6ef251a76 +0 -0
  446. data/spec/internal/tmp/cache/assets/development/sprockets/18f05727080f01cd1f6107986e8ef8de +0 -0
  447. data/spec/internal/tmp/cache/assets/development/sprockets/20e76a31193186a7494d2e61c38cf2d3 +0 -0
  448. data/spec/internal/tmp/cache/assets/development/sprockets/2144c89ce81d837cff269bddb07fb6e4 +0 -0
  449. data/spec/internal/tmp/cache/assets/development/sprockets/256cc8416ea684247fa8bca805832755 +0 -0
  450. data/spec/internal/tmp/cache/assets/development/sprockets/26edda560d842267070028189c2358e2 +0 -0
  451. data/spec/internal/tmp/cache/assets/development/sprockets/2c77e85b70df92a428365a2e2ef71e2d +0 -0
  452. data/spec/internal/tmp/cache/assets/development/sprockets/2f1bbdc4330711863d62556043df25ce +0 -0
  453. data/spec/internal/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  454. data/spec/internal/tmp/cache/assets/development/sprockets/3202b90ab287ed956815ada8e064f767 +0 -0
  455. data/spec/internal/tmp/cache/assets/development/sprockets/324e7f183c594151b026cdc2948523bf +0 -0
  456. data/spec/internal/tmp/cache/assets/development/sprockets/332967fa31cdb1c3f0cabda88513c804 +0 -0
  457. data/spec/internal/tmp/cache/assets/development/sprockets/35179c918031f248f1f4cfb7d34351c4 +0 -0
  458. data/spec/internal/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  459. data/spec/internal/tmp/cache/assets/development/sprockets/35a01c09c4d54e3266a6a0f2851f1170 +0 -0
  460. data/spec/internal/tmp/cache/assets/development/sprockets/3a47658debc1b4b58e2b0a9675dfae62 +0 -0
  461. data/spec/internal/tmp/cache/assets/development/sprockets/3d78032df3433b99d2d5efc52b70e453 +0 -0
  462. data/spec/internal/tmp/cache/assets/development/sprockets/3dfa48bce28fb99bb32fefa7fffb0119 +0 -0
  463. data/spec/internal/tmp/cache/assets/development/sprockets/3e20d10c7725c27236abd61883a7b278 +0 -0
  464. data/spec/internal/tmp/cache/assets/development/sprockets/3f20b06a462f55b145c6d83634eae845 +0 -0
  465. data/spec/internal/tmp/cache/assets/development/sprockets/3fdb803db911d9debde5f28b188a5b16 +0 -0
  466. data/spec/internal/tmp/cache/assets/development/sprockets/40e815fac05844d0530af8a8c5339fe1 +0 -0
  467. data/spec/internal/tmp/cache/assets/development/sprockets/4173763ff20266fbf2b66c365cb2a6dd +0 -0
  468. data/spec/internal/tmp/cache/assets/development/sprockets/4386f0e27274e3cbdc32cee899d34b8f +0 -0
  469. data/spec/internal/tmp/cache/assets/development/sprockets/465dcb5120648b76bb827df45eebdd9d +0 -0
  470. data/spec/internal/tmp/cache/assets/development/sprockets/466aa53e9d282c855928b9250b3500a5 +0 -0
  471. data/spec/internal/tmp/cache/assets/development/sprockets/46dc001d1309090c6b365c364fdaa26a +0 -0
  472. data/spec/internal/tmp/cache/assets/development/sprockets/492fec0ae7159743e989ed735aad6760 +0 -0
  473. data/spec/internal/tmp/cache/assets/development/sprockets/4b102e04198efe0f8b34684c1aaaeb20 +0 -0
  474. data/spec/internal/tmp/cache/assets/development/sprockets/4b14e90d11a9a4a3ff0863b3cdf28687 +0 -0
  475. data/spec/internal/tmp/cache/assets/development/sprockets/4e055d70b47bbc80c9c9f847fc8f85d3 +0 -0
  476. data/spec/internal/tmp/cache/assets/development/sprockets/4ea47b50d05ede7e20ba33f8056f4a92 +0 -0
  477. data/spec/internal/tmp/cache/assets/development/sprockets/51d4b55d07202445539423ccb62e8058 +0 -0
  478. data/spec/internal/tmp/cache/assets/development/sprockets/52582bfdd22ea0bbd52dd8d4b8c911c8 +0 -0
  479. data/spec/internal/tmp/cache/assets/development/sprockets/53a4fa5b7759f81cdd42e23e9948afea +0 -0
  480. data/spec/internal/tmp/cache/assets/development/sprockets/550485ff32af8939032a9bd5267c51c6 +0 -0
  481. data/spec/internal/tmp/cache/assets/development/sprockets/56653f30daec26f700bcf6b7d993f663 +0 -0
  482. data/spec/internal/tmp/cache/assets/development/sprockets/57dd4ba72cf24cc3ddefc29a90d21e7c +0 -0
  483. data/spec/internal/tmp/cache/assets/development/sprockets/57e88b9c9b3246e0554f88ee3f591d4d +0 -0
  484. data/spec/internal/tmp/cache/assets/development/sprockets/5993cd28ea23f1006aa97d1fafe3bd1a +0 -0
  485. data/spec/internal/tmp/cache/assets/development/sprockets/5b41e13874b2142f1ec2ed104f78ff91 +0 -0
  486. data/spec/internal/tmp/cache/assets/development/sprockets/5d366dc18b9d993e45b25bbeebd193f8 +0 -0
  487. data/spec/internal/tmp/cache/assets/development/sprockets/60670f464c5599c5372232b4572eb0e7 +0 -0
  488. data/spec/internal/tmp/cache/assets/development/sprockets/61bd95bd5682421c2fe95a5214946dd6 +0 -0
  489. data/spec/internal/tmp/cache/assets/development/sprockets/62083f335fc263942d5295bc5d6221c7 +0 -0
  490. data/spec/internal/tmp/cache/assets/development/sprockets/63b98246f4f05488e1b5914b796db489 +0 -0
  491. data/spec/internal/tmp/cache/assets/development/sprockets/650cfc75104b1583a6fa2ea130eee6ea +0 -0
  492. data/spec/internal/tmp/cache/assets/development/sprockets/66f8fc3b5bbf1829a95239083e9abdb9 +0 -0
  493. data/spec/internal/tmp/cache/assets/development/sprockets/670abadd46e1a2d1f20041e240b70d14 +0 -0
  494. data/spec/internal/tmp/cache/assets/development/sprockets/6a42dcaaa4f99c5d69e6cd0d0b1fb4c9 +0 -0
  495. data/spec/internal/tmp/cache/assets/development/sprockets/6b1c6f740197f479421967fb560d6223 +0 -0
  496. data/spec/internal/tmp/cache/assets/development/sprockets/6b21caa94e0a49c6ea76f1e41d2ca0b6 +0 -0
  497. data/spec/internal/tmp/cache/assets/development/sprockets/6b9e4455a0b79827fa5395c06e938545 +0 -0
  498. data/spec/internal/tmp/cache/assets/development/sprockets/6ce18a5894527091a2aad08be767698d +0 -0
  499. data/spec/internal/tmp/cache/assets/development/sprockets/6d03c8cc881b762d46baa13fc04db6ff +0 -0
  500. data/spec/internal/tmp/cache/assets/development/sprockets/6eee23a91195076820a79a526476ee8c +0 -0
  501. data/spec/internal/tmp/cache/assets/development/sprockets/6f8b7495883fbcbe020c22a1df084241 +0 -0
  502. data/spec/internal/tmp/cache/assets/development/sprockets/717c3ff6985bb426be696c09647ea562 +0 -0
  503. data/spec/internal/tmp/cache/assets/development/sprockets/730de8c54ddfc7e25170a3e4040cd162 +0 -0
  504. data/spec/internal/tmp/cache/assets/development/sprockets/73b5b050c5cf8578650b09cd0d7db81a +0 -0
  505. data/spec/internal/tmp/cache/assets/development/sprockets/7460c5bff9c90eb138ff07bf3afc71e3 +0 -0
  506. data/spec/internal/tmp/cache/assets/development/sprockets/753a88003982559e621f2a85daf6a9af +0 -0
  507. data/spec/internal/tmp/cache/assets/development/sprockets/76b56ee6205ef8ac8c5184e2fa6806de +0 -0
  508. data/spec/internal/tmp/cache/assets/development/sprockets/77276bb640746861bc705b385dc4380d +0 -0
  509. data/spec/internal/tmp/cache/assets/development/sprockets/783d14d9eadc1bc65bfee63e01fe48bf +0 -0
  510. data/spec/internal/tmp/cache/assets/development/sprockets/7a27f5274b6ff4a9da4802de5e0ce100 +0 -0
  511. data/spec/internal/tmp/cache/assets/development/sprockets/7b9996a94cec146a5c7e9bf95c80737a +0 -0
  512. data/spec/internal/tmp/cache/assets/development/sprockets/7bf9acc825022f0424cd4ccfb51a57b8 +0 -0
  513. data/spec/internal/tmp/cache/assets/development/sprockets/8512b628be9256bf11745fdcf440920e +0 -0
  514. data/spec/internal/tmp/cache/assets/development/sprockets/86a76437386eeac88713cc514abf0f93 +0 -0
  515. data/spec/internal/tmp/cache/assets/development/sprockets/86cdeea552858d068703405a7ba2ee3a +0 -0
  516. data/spec/internal/tmp/cache/assets/development/sprockets/86f7ebf96f33e1cc035b7b2236bd2b90 +0 -0
  517. data/spec/internal/tmp/cache/assets/development/sprockets/886ce70326f2caec8fe4372351f1a442 +0 -0
  518. data/spec/internal/tmp/cache/assets/development/sprockets/8947a8a58b6f1f989ff707a4f0eb78e3 +0 -0
  519. data/spec/internal/tmp/cache/assets/development/sprockets/8b44de87380689cc74f57312141285b4 +0 -0
  520. data/spec/internal/tmp/cache/assets/development/sprockets/8c5e663a28a29017020ab8e026d92e73 +0 -0
  521. data/spec/internal/tmp/cache/assets/development/sprockets/8deb4f38d381b7e17e4b5fc69eedd3dd +0 -0
  522. data/spec/internal/tmp/cache/assets/development/sprockets/91b396b480293aaeec2ff599af929465 +0 -0
  523. data/spec/internal/tmp/cache/assets/development/sprockets/93aaa9231a32901266b05632f3d35ecd +0 -0
  524. data/spec/internal/tmp/cache/assets/development/sprockets/9511867a1b82cbfed0061f63b2e617a7 +0 -0
  525. data/spec/internal/tmp/cache/assets/development/sprockets/9568e100715de196f3ccf3adb695e3ba +0 -0
  526. data/spec/internal/tmp/cache/assets/development/sprockets/96bca25fbc9dec9609aa66d126ab3823 +0 -0
  527. data/spec/internal/tmp/cache/assets/development/sprockets/96e7e7eb64a9f03bbdbe401f2995b52c +0 -0
  528. data/spec/internal/tmp/cache/assets/development/sprockets/976c2035643c83ca56d4945c1302cc5e +0 -0
  529. data/spec/internal/tmp/cache/assets/development/sprockets/9a207c2dc4675908fb5e7b4b9d0c2a3a +0 -0
  530. data/spec/internal/tmp/cache/assets/development/sprockets/9a2cad4366ab55e70eba881fcf1552b1 +0 -0
  531. data/spec/internal/tmp/cache/assets/development/sprockets/9cad4327e714920ec27afae484c96b22 +0 -0
  532. data/spec/internal/tmp/cache/assets/development/sprockets/9dd494f69ac32c6f56e47c6d19cbfeff +0 -0
  533. data/spec/internal/tmp/cache/assets/development/sprockets/9e6c76356f7694394b10604dff4d4075 +0 -0
  534. data/spec/internal/tmp/cache/assets/development/sprockets/9f32a258062b214af361daf3d953b05b +0 -0
  535. data/spec/internal/tmp/cache/assets/development/sprockets/9f454e9700fb058adcc4ff2f4b942f7b +0 -0
  536. data/spec/internal/tmp/cache/assets/development/sprockets/a0c35895c526b4a7bec46d5e2f5e90f9 +0 -0
  537. data/spec/internal/tmp/cache/assets/development/sprockets/a3307b2a172bd713b45e8e117c3a5939 +0 -0
  538. data/spec/internal/tmp/cache/assets/development/sprockets/a3446e3a0bd1231348be22f347f96630 +0 -0
  539. data/spec/internal/tmp/cache/assets/development/sprockets/aabf26facf07694f96d71d93cc26ce81 +0 -0
  540. data/spec/internal/tmp/cache/assets/development/sprockets/ac0fb5e24553f0b285079b44557622db +0 -0
  541. data/spec/internal/tmp/cache/assets/development/sprockets/ac6714823758e543a1efc28facf9abeb +0 -0
  542. data/spec/internal/tmp/cache/assets/development/sprockets/ad4a54c43c2a4c3874bfde1c9f08c248 +0 -0
  543. data/spec/internal/tmp/cache/assets/development/sprockets/af8b3a00207d464e6c690a8293592ef7 +0 -0
  544. data/spec/internal/tmp/cache/assets/development/sprockets/b6692f203a568a6b0cb01b4d09139c2f +0 -0
  545. data/spec/internal/tmp/cache/assets/development/sprockets/b8e7ee01850e17fbb705e088d18c8a00 +0 -0
  546. data/spec/internal/tmp/cache/assets/development/sprockets/b98e31bc04d1ed8616c282ac7abaeb08 +0 -0
  547. data/spec/internal/tmp/cache/assets/development/sprockets/be6413b063439eb32c09b99a2051b8ef +0 -0
  548. data/spec/internal/tmp/cache/assets/development/sprockets/bfaa34a06d842515b62459fff8158d1d +0 -0
  549. data/spec/internal/tmp/cache/assets/development/sprockets/c2cbda4579459322ef12578211800342 +0 -0
  550. data/spec/internal/tmp/cache/assets/development/sprockets/c6690cb202676be0a09efaa3d85662d2 +0 -0
  551. data/spec/internal/tmp/cache/assets/development/sprockets/c6f0a6faa37bb5c912531e7cbe0bea5f +0 -0
  552. data/spec/internal/tmp/cache/assets/development/sprockets/c74b16d8c717571f624df25996e212de +0 -0
  553. data/spec/internal/tmp/cache/assets/development/sprockets/c7ee24d1047e051feebc455244c1200f +0 -0
  554. data/spec/internal/tmp/cache/assets/development/sprockets/c899cd58f2fc8f305350a26623340c88 +0 -0
  555. data/spec/internal/tmp/cache/assets/development/sprockets/c9ec3d06afb2cfe440a080eb40c05b2e +0 -0
  556. data/spec/internal/tmp/cache/assets/development/sprockets/cd921cf7a5ad637013b1b5458806a5fc +0 -0
  557. data/spec/internal/tmp/cache/assets/development/sprockets/ce93aed99191d5c22aef1ff1dcdc7652 +0 -0
  558. data/spec/internal/tmp/cache/assets/development/sprockets/cf03a6e7cdd2c578d921d67e60bd4019 +0 -0
  559. data/spec/internal/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  560. data/spec/internal/tmp/cache/assets/development/sprockets/d0a2147f9a3ad98a5d61e4fe80826414 +0 -0
  561. data/spec/internal/tmp/cache/assets/development/sprockets/d1513885df939f849f36ba2c2b40b3ee +0 -0
  562. data/spec/internal/tmp/cache/assets/development/sprockets/d159c53e21e1a9039d3106b36b84ac92 +0 -0
  563. data/spec/internal/tmp/cache/assets/development/sprockets/d2bcd182195dcc17cf37e34f033e7a9d +0 -0
  564. data/spec/internal/tmp/cache/assets/development/sprockets/d2f961e197eaad76ce92a0ddb9ade818 +0 -0
  565. data/spec/internal/tmp/cache/assets/development/sprockets/d320144e6ac54c385a9dcea63d0a5306 +0 -0
  566. data/spec/internal/tmp/cache/assets/development/sprockets/d48fbfc19c1c19a6d2a0ec6802a78910 +0 -0
  567. data/spec/internal/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  568. data/spec/internal/tmp/cache/assets/development/sprockets/d84569cdd916cc8a606b235e12dc4793 +0 -0
  569. data/spec/internal/tmp/cache/assets/development/sprockets/da36589d32d68cb4dbc034abeb4dfaa1 +0 -0
  570. data/spec/internal/tmp/cache/assets/development/sprockets/daa447e7ba16e65115c70aa8f4917a72 +0 -0
  571. data/spec/internal/tmp/cache/assets/development/sprockets/dd7def17774f007f6c49539c79e9dc7e +0 -0
  572. data/spec/internal/tmp/cache/assets/development/sprockets/de429a9a63459ff938dc61cfa8132e1a +0 -0
  573. data/spec/internal/tmp/cache/assets/development/sprockets/de9ed6afb0e682b5a30ba6aff82ca36e +0 -0
  574. data/spec/internal/tmp/cache/assets/development/sprockets/e0108fdb199a846893e751e8ade11008 +0 -0
  575. data/spec/internal/tmp/cache/assets/development/sprockets/e0343b5d999cf24f7fb6871b145d3368 +0 -0
  576. data/spec/internal/tmp/cache/assets/development/sprockets/e04c118e777dd56f543a6a8a54767793 +0 -0
  577. data/spec/internal/tmp/cache/assets/development/sprockets/e0fd0f648fe28c705714a8d8d471da34 +0 -0
  578. data/spec/internal/tmp/cache/assets/development/sprockets/e1b7ccff7b73993818ad0cab86fff97d +0 -0
  579. data/spec/internal/tmp/cache/assets/development/sprockets/e2e09ef3ca7aa04271903297c8b46709 +0 -0
  580. data/spec/internal/tmp/cache/assets/development/sprockets/e4251d23cee721c0a7eb4cc0fe07cadc +0 -0
  581. data/spec/internal/tmp/cache/assets/development/sprockets/e739e484ef94690df17455376937d2c1 +0 -0
  582. data/spec/internal/tmp/cache/assets/development/sprockets/e8b1266944f0354589afb643cdd3bdc6 +0 -0
  583. data/spec/internal/tmp/cache/assets/development/sprockets/e9e44b6079373b069019c281695a79f5 +0 -0
  584. data/spec/internal/tmp/cache/assets/development/sprockets/eb716711c01f005bf1ad7c050e48398a +0 -0
  585. data/spec/internal/tmp/cache/assets/development/sprockets/ebeec19a4495d8c78cc4ac91c7c9eca8 +0 -0
  586. data/spec/internal/tmp/cache/assets/development/sprockets/ed390939daa39d7aae30ce3795b34a1f +0 -0
  587. data/spec/internal/tmp/cache/assets/development/sprockets/ef4afa2365308566e3c0e19dc2c61fcb +0 -0
  588. data/spec/internal/tmp/cache/assets/development/sprockets/f11ec04ecc208d593196164abd49d6f3 +0 -0
  589. data/spec/internal/tmp/cache/assets/development/sprockets/f222566014403a9473b9070c5794db25 +0 -0
  590. data/spec/internal/tmp/cache/assets/development/sprockets/f29a5a07e82cde486d7f9f9296a036e7 +0 -0
  591. data/spec/internal/tmp/cache/assets/development/sprockets/f3a6e2dee823280a647ae560378d930b +0 -0
  592. data/spec/internal/tmp/cache/assets/development/sprockets/f4c25cd6cc321289d096b41e14e7132f +0 -0
  593. data/spec/internal/tmp/cache/assets/development/sprockets/f585ec5c9bfe8ec5f58953e069929445 +0 -0
  594. data/spec/internal/tmp/cache/assets/development/sprockets/f5a0a8a0c2c09f173355e6627a1d8c30 +0 -0
  595. data/spec/internal/tmp/cache/assets/development/sprockets/f5bd18eb7abe09f2bc76596dfbeec57b +0 -0
  596. data/spec/internal/tmp/cache/assets/development/sprockets/f69e5f5b9d68c91875c559643318e645 +0 -0
  597. data/spec/internal/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  598. data/spec/internal/tmp/cache/assets/development/sprockets/fae75d9f76d5384917bc0a1a5e4c94ae +0 -0
  599. data/spec/internal/tmp/cache/assets/development/sprockets/fec01208bcd5a95a4dfc3a28c941dc3d +0 -0
  600. data/spec/internal/tmp/cache/assets/development/sprockets/fed43bc1912cdb19dfa4ab32cf796814 +0 -0
  601. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_alerts.scssc +0 -0
  602. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_badges.scssc +0 -0
  603. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_breadcrumbs.scssc +0 -0
  604. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_button-groups.scssc +0 -0
  605. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_buttons.scssc +0 -0
  606. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_carousel.scssc +0 -0
  607. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_close.scssc +0 -0
  608. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_code.scssc +0 -0
  609. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_component-animations.scssc +0 -0
  610. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_dropdowns.scssc +0 -0
  611. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_forms.scssc +0 -0
  612. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_glyphicons.scssc +0 -0
  613. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_grid.scssc +0 -0
  614. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_input-groups.scssc +0 -0
  615. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_jumbotron.scssc +0 -0
  616. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_labels.scssc +0 -0
  617. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_list-group.scssc +0 -0
  618. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_media.scssc +0 -0
  619. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_mixins.scssc +0 -0
  620. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_modals.scssc +0 -0
  621. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_navbar.scssc +0 -0
  622. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_navs.scssc +0 -0
  623. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_normalize.scssc +0 -0
  624. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_pager.scssc +0 -0
  625. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_pagination.scssc +0 -0
  626. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_panels.scssc +0 -0
  627. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_popovers.scssc +0 -0
  628. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_print.scssc +0 -0
  629. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_progress-bars.scssc +0 -0
  630. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_responsive-utilities.scssc +0 -0
  631. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_scaffolding.scssc +0 -0
  632. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_tables.scssc +0 -0
  633. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_thumbnails.scssc +0 -0
  634. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_tooltip.scssc +0 -0
  635. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_type.scssc +0 -0
  636. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_utilities.scssc +0 -0
  637. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_variables.scssc +0 -0
  638. data/spec/internal/tmp/cache/assets/test/sass/27e2a5f741cb5b305187fb9f60bd54cbad191cee/_wells.scssc +0 -0
  639. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/blacklight_configuration.css.scssc +0 -0
  640. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/browse.css.scssc +0 -0
  641. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/catalog.css.scssc +0 -0
  642. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/header.css.scssc +0 -0
  643. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/item_text_block.css.scssc +0 -0
  644. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/nestable.css.scssc +0 -0
  645. data/spec/internal/tmp/cache/assets/test/sass/86639965509c9318bb7a3137a93a669b1d159dac/sir-trevor.css.scssc +0 -0
  646. data/spec/internal/tmp/cache/assets/test/sass/ea576b86ea8d24c041d74febb5a2299daa5eebfa/bootstrap.scssc +0 -0
  647. data/spec/internal/tmp/cache/assets/test/sprockets/10ef327683798892b9938cabd394498c +0 -0
  648. data/spec/internal/tmp/cache/assets/test/sprockets/153e55a308813e3c473924a6ef251a76 +0 -0
  649. data/spec/internal/tmp/cache/assets/test/sprockets/1f7f2566a4c6697102847e0b791ea7e2 +0 -0
  650. data/spec/internal/tmp/cache/assets/test/sprockets/256cc8416ea684247fa8bca805832755 +0 -0
  651. data/spec/internal/tmp/cache/assets/test/sprockets/2cf9505aa610540803440d6b85d1df4c +0 -0
  652. data/spec/internal/tmp/cache/assets/test/sprockets/3202b90ab287ed956815ada8e064f767 +0 -0
  653. data/spec/internal/tmp/cache/assets/test/sprockets/33956f5ff4216b0f576e7981f128d2cd +0 -0
  654. data/spec/internal/tmp/cache/assets/test/sprockets/4cf0d8cc5428d7570587b142bcde94d6 +0 -0
  655. data/spec/internal/tmp/cache/assets/test/sprockets/4ea47b50d05ede7e20ba33f8056f4a92 +0 -0
  656. data/spec/internal/tmp/cache/assets/test/sprockets/53a4fa5b7759f81cdd42e23e9948afea +0 -0
  657. data/spec/internal/tmp/cache/assets/test/sprockets/56653f30daec26f700bcf6b7d993f663 +0 -0
  658. data/spec/internal/tmp/cache/assets/test/sprockets/5a7a1e01b0babb2c7ccaa77e11566f48 +0 -0
  659. data/spec/internal/tmp/cache/assets/test/sprockets/5b41e13874b2142f1ec2ed104f78ff91 +0 -0
  660. data/spec/internal/tmp/cache/assets/test/sprockets/5d366dc18b9d993e45b25bbeebd193f8 +0 -0
  661. data/spec/internal/tmp/cache/assets/test/sprockets/61bd95bd5682421c2fe95a5214946dd6 +0 -0
  662. data/spec/internal/tmp/cache/assets/test/sprockets/6b9e4455a0b79827fa5395c06e938545 +0 -0
  663. data/spec/internal/tmp/cache/assets/test/sprockets/6d5dfd8ac2dccc266426bb5ebb16da5d +0 -0
  664. data/spec/internal/tmp/cache/assets/test/sprockets/717c3ff6985bb426be696c09647ea562 +0 -0
  665. data/spec/internal/tmp/cache/assets/test/sprockets/76e68eadc18148bbc7404e36afe94d1b +0 -0
  666. data/spec/internal/tmp/cache/assets/test/sprockets/7a27f5274b6ff4a9da4802de5e0ce100 +0 -0
  667. data/spec/internal/tmp/cache/assets/test/sprockets/7b9996a94cec146a5c7e9bf95c80737a +0 -0
  668. data/spec/internal/tmp/cache/assets/test/sprockets/7e0b25e99e03df931c2f96f1823fe85a +0 -0
  669. data/spec/internal/tmp/cache/assets/test/sprockets/81cd00ea178ccdbc398f57bc2559dd84 +0 -0
  670. data/spec/internal/tmp/cache/assets/test/sprockets/86cdeea552858d068703405a7ba2ee3a +0 -0
  671. data/spec/internal/tmp/cache/assets/test/sprockets/886ce70326f2caec8fe4372351f1a442 +0 -0
  672. data/spec/internal/tmp/cache/assets/test/sprockets/8dc5fbd0f77eea2d1b3af6024a707b3f +0 -0
  673. data/spec/internal/tmp/cache/assets/test/sprockets/9511867a1b82cbfed0061f63b2e617a7 +0 -0
  674. data/spec/internal/tmp/cache/assets/test/sprockets/96e7e7eb64a9f03bbdbe401f2995b52c +0 -0
  675. data/spec/internal/tmp/cache/assets/test/sprockets/ad403febe269392f688fa500dee79cc1 +0 -0
  676. data/spec/internal/tmp/cache/assets/test/sprockets/af41b8abd81fca7235ff2f5eea101ec7 +0 -0
  677. data/spec/internal/tmp/cache/assets/test/sprockets/ba43150632c4d28c3f29f0e8ec38388b +0 -0
  678. data/spec/internal/tmp/cache/assets/test/sprockets/c48e1de96b94e0a601109e1f864b1408 +0 -0
  679. data/spec/internal/tmp/cache/assets/test/sprockets/c6690cb202676be0a09efaa3d85662d2 +0 -0
  680. data/spec/internal/tmp/cache/assets/test/sprockets/c82663bc8a8378e410d7c672b13737c6 +0 -0
  681. data/spec/internal/tmp/cache/assets/test/sprockets/c899cd58f2fc8f305350a26623340c88 +0 -0
  682. data/spec/internal/tmp/cache/assets/test/sprockets/c9ec3d06afb2cfe440a080eb40c05b2e +0 -0
  683. data/spec/internal/tmp/cache/assets/test/sprockets/d08c1375edaded78b3606c7b4af63b4c +0 -0
  684. data/spec/internal/tmp/cache/assets/test/sprockets/d1513885df939f849f36ba2c2b40b3ee +0 -0
  685. data/spec/internal/tmp/cache/assets/test/sprockets/d2f961e197eaad76ce92a0ddb9ade818 +0 -0
  686. data/spec/internal/tmp/cache/assets/test/sprockets/e0343b5d999cf24f7fb6871b145d3368 +0 -0
  687. data/spec/internal/tmp/cache/assets/test/sprockets/e1b7ccff7b73993818ad0cab86fff97d +0 -0
  688. data/spec/internal/tmp/cache/assets/test/sprockets/e2e09ef3ca7aa04271903297c8b46709 +0 -0
  689. data/spec/internal/tmp/cache/assets/test/sprockets/e739e484ef94690df17455376937d2c1 +0 -0
  690. data/spec/internal/tmp/cache/assets/test/sprockets/ed22c5fbe5ee32755035c97ce6f688ff +0 -0
  691. data/spec/internal/tmp/cache/assets/test/sprockets/ef4afa2365308566e3c0e19dc2c61fcb +0 -0
  692. data/spec/internal/tmp/cache/assets/test/sprockets/f29a5a07e82cde486d7f9f9296a036e7 +0 -0
  693. data/spec/internal/tmp/pids/server.pid +0 -1
@@ -1,5 +1,7 @@
1
1
  module Spotlight
2
2
  module ApplicationHelper
3
+ include CrudLinkHelpers
4
+ include AdminTitleHelper
3
5
 
4
6
  # Can search for named routes directly in the main app, omitting
5
7
  # the "main_app." prefix
@@ -37,8 +39,17 @@ module Spotlight
37
39
  params[:action] == "edit"
38
40
  end
39
41
 
42
+ def url_to_tag_facet tag
43
+ if current_exhibit
44
+ search_action_url(add_facet_params(Spotlight::SolrDocument.solr_field_for_tagger(current_exhibit), tag, {}))
45
+ else
46
+ search_action_url(q: tag)
47
+ end
48
+ end
49
+
40
50
  private
41
51
 
52
+
42
53
  def main_app_url_helper?(method)
43
54
  (method.to_s.end_with?('_path') or method.to_s.end_with?('_url')) and
44
55
  main_app.respond_to?(method)
@@ -0,0 +1,68 @@
1
+ module Spotlight
2
+ module CrudLinkHelpers
3
+ def cancel_link model, link, link_to_options = {}
4
+ link_to action_default_value(model, :cancel), link, link_to_options
5
+ end
6
+
7
+ def view_link model, *args
8
+ link_to_options = args.extract_options!
9
+ link = args.first || [spotlight, model]
10
+ link_to action_default_value(model, :view), link, link_to_options
11
+ end
12
+
13
+ def exhibit_create_link model, *args
14
+ link_to_options = args.extract_options!
15
+ link = args.first || polymorphic_path([spotlight, current_exhibit, model], action: :new)
16
+ link_to action_default_value(model), link, link_to_options
17
+ end
18
+
19
+ def edit_link model, *args
20
+ link_to_options = args.extract_options!
21
+ link = args.first || polymorphic_path([spotlight, model], action: :edit)
22
+ link_to action_default_value(model), link, link_to_options
23
+ end
24
+
25
+ def exhibit_edit_link model, *args
26
+ link_to_options = args.extract_options!
27
+ link = args.first || polymorphic_path([spotlight, current_exhibit, model], action: :edit)
28
+ link_to action_default_value(model), link, link_to_options
29
+ end
30
+
31
+ def delete_link model, *args
32
+ link_to_options = args.extract_options!
33
+ link = args.first || [spotlight, model]
34
+ default_options = { method: :delete, data: { confirm: action_default_value(model, :destroy_are_you_sure) } }
35
+ link_to action_default_value(model, :destroy), link, default_options.merge(link_to_options)
36
+ end
37
+
38
+ def action_label model, action
39
+ action_default_value model, action
40
+ end
41
+
42
+ private
43
+
44
+ def action_default_value object, key = nil
45
+ object_model = convert_to_model(object)
46
+
47
+ key ||= object_model ? (object_model.persisted? ? :edit : :create) : :view
48
+
49
+ case object_model
50
+ when ActsAsTaggableOn::Tag
51
+ model = :tag
52
+ object_name = :tag
53
+ when Symbol, String
54
+ model = object_model
55
+ object_name = object_model
56
+ else
57
+ model = object_model.class.model_name.human
58
+ object_name = object_model.class.model_name.i18n_key
59
+ end
60
+
61
+ defaults = []
62
+ defaults << :"helpers.action.#{object_name}.#{key}"
63
+ defaults << :"helpers.action.#{key}"
64
+ defaults << "#{key.to_s.humanize} #{model}"
65
+ I18n.t(defaults.shift, model: model, default: defaults)
66
+ end
67
+ end
68
+ end
@@ -7,19 +7,5 @@ module Spotlight::MainAppHelpers
7
7
  def on_about_page?
8
8
  params[:controller] == 'spotlight/about_pages'
9
9
  end
10
-
11
- def exhibit_specific_field opts = {}
12
- document = opts[:document]
13
- field = opts[:field]
14
-
15
- document.sidecar(current_exhibit).data[field]
16
- end
17
10
 
18
- def should_render_index_field? document, solr_field
19
- super || document.sidecar(current_exhibit).has_key?(solr_field.field)
20
- end
21
-
22
- def should_render_show_field? document, solr_field
23
- super || document.sidecar(current_exhibit).has_key?(solr_field.field)
24
- end
25
- end
11
+ end
@@ -6,5 +6,19 @@ module Spotlight
6
6
  def should_render_record_thumbnail_title? document, block
7
7
  has_title?(document) && block["show-title"]
8
8
  end
9
+ def item_grid_block_objects(block)
10
+ objects = []
11
+ block.each do |key, value|
12
+ if value.present? and key.include?("item-grid-id")
13
+ objects << {id: value, display: (block[key.gsub("-id", "-display")] == "true")}
14
+ end
15
+ end
16
+ objects
17
+ end
18
+ def item_grid_block_ids(block)
19
+ item_grid_block_objects(block).map do |object|
20
+ object[:id] if object[:display]
21
+ end.compact
22
+ end
9
23
  end
10
24
  end
@@ -0,0 +1,7 @@
1
+ module Spotlight::RolesHelper
2
+ def roles_for_select
3
+ Spotlight::Role::ROLES.each_with_object({}) do |key, object|
4
+ object[t("spotlight.role.#{key}")] = key
5
+ end
6
+ end
7
+ end
@@ -15,6 +15,22 @@ module Spotlight
15
15
  @association_cache = {}
16
16
  super
17
17
  end
18
+
19
+ # Returns true if +comparison_object+ is the same exact object, or +comparison_object+
20
+ # is of the same type and +self+ has an ID and it is equal to +comparison_object.id+.
21
+ #
22
+ # Note that new records are different from any other record by definition, unless the
23
+ # other record is the receiver itself. Besides, if you fetch existing records with
24
+ # +select+ and leave the ID out, you're on your own, this predicate will return false.
25
+ #
26
+ # Note also that destroying a record preserves its ID in the model instance, so deleted
27
+ # models are still comparable.
28
+ def ==(comparison_object)
29
+ super ||
30
+ comparison_object.instance_of?(self.class) &&
31
+ id &&
32
+ comparison_object.id == id
33
+ end
18
34
 
19
35
  module ClassMethods
20
36
  def generated_feature_methods
@@ -9,6 +9,7 @@ module Spotlight
9
9
  extend Finder
10
10
 
11
11
  acts_as_taggable
12
+ has_many :sidecars, class_name: 'Spotlight::SolrDocumentSidecar'
12
13
  end
13
14
 
14
15
  module ClassMethods
@@ -24,6 +25,8 @@ module Spotlight
24
25
 
25
26
  def reindex(id)
26
27
  find(id).reindex
28
+ rescue Blacklight::Exceptions::InvalidSolrID
29
+ # no-op
27
30
  end
28
31
  end
29
32
 
@@ -41,7 +44,7 @@ module Spotlight
41
44
  end
42
45
 
43
46
  def reindex
44
- #TODO implement this
47
+ # no-op reindex implementation
45
48
  end
46
49
 
47
50
  def save
@@ -66,8 +69,55 @@ module Spotlight
66
69
  end
67
70
 
68
71
  def sidecar exhibit
69
- @sidecar ||= SolrDocumentSidecar.find_or_initialize_by exhibit: exhibit, solr_document_id: self.id
72
+ sidecars.first_or_initialize(exhibit: exhibit)
70
73
  end
74
+
75
+ def to_solr
76
+ { id: id }.reverse_merge(sidecars.inject({}) { |result, sidecar| result.merge(sidecar.to_solr) }).merge(tags_to_solr)
77
+ end
78
+
79
+ def self.solr_field_for_tagger tagger
80
+ :"#{tagger.class.model_name.param_key}_#{tagger.id}_tags_ssim"
81
+ end
82
+
83
+ def self.visibility_field exhibit
84
+ :"#{exhibit.class.model_name.param_key}_#{exhibit.id}_public_bsi"
85
+ end
86
+
87
+ def make_public! exhibit
88
+ sidecar(exhibit).public!
89
+ end
90
+
91
+ def make_private! exhibit
92
+ sidecar(exhibit).private!
93
+ end
94
+
95
+ def private? exhibit
96
+ !(public?(exhibit))
97
+ end
98
+
99
+ def public? exhibit
100
+ sidecar(exhibit).public?
101
+ end
102
+
103
+ protected
104
+ def tags_to_solr
105
+ h = {}
106
+
107
+ # Adding a placeholder entry in case the last tag for an exhibit
108
+ # is removed, so we clear out the solr field too.
109
+ Spotlight::Exhibit.find_each do |exhibit|
110
+ h[Spotlight::SolrDocument.solr_field_for_tagger(exhibit)] = nil
111
+ end
112
+
113
+ taggings.includes(:tag, :tagger).map do |tagging|
114
+ key = Spotlight::SolrDocument.solr_field_for_tagger(tagging.tagger)
115
+ h[key] ||= []
116
+ h[key] << tagging.tag.name
117
+ end
118
+ h
119
+ end
120
+
71
121
  end
72
122
  end
73
123
 
@@ -0,0 +1,22 @@
1
+ module Spotlight::SolrDocument::AtomicUpdates
2
+
3
+ def reindex
4
+ solr_hash = hash_for_solr_update
5
+ return if solr_hash.length == 1
6
+
7
+ blacklight_solr.update params: { commitWithin: 500 }, data: [solr_hash].to_json, headers: { 'Content-Type' => 'application/json'}
8
+ end
9
+
10
+ private
11
+ def hash_for_solr_update
12
+ Hash[to_solr.map do |k,v|
13
+ val = if k == :id
14
+ v
15
+ else
16
+ { set: v }
17
+ end
18
+
19
+ [k,val]
20
+ end]
21
+ end
22
+ end
@@ -8,33 +8,23 @@ module Spotlight::Ability
8
8
  # until this PR is merged: https://github.com/ryanb/cancan/pull/917
9
9
  # can :create, Spotlight::Exhibit, admin_roles: { id: user.role_ids }
10
10
  # Until then, workaround:
11
- can :update, Spotlight::Exhibit, id: user.admin_roles.map(&:exhibit_id)
12
11
 
13
- can [:index, :update, :destroy, :create], Spotlight::Role, exhibit_id: user.admin_roles.map(&:exhibit_id)
12
+ # exhibit admin
13
+ can :manage, Spotlight::Exhibit, id: user.admin_roles.map(&:exhibit_id)
14
+ can :manage, [Spotlight::Role], exhibit_id: user.admin_roles.map(&:exhibit_id)
14
15
 
16
+ # exhibit curator
17
+ can :manage, [
18
+ Spotlight::Search,
19
+ Spotlight::Page,
20
+ Spotlight::BlacklightConfiguration,
21
+ Spotlight::Contact,
22
+ Spotlight::CustomField], exhibit_id: user.roles.map(&:exhibit_id)
15
23
 
16
- can [:update, :edit_metadata_fields, :edit_facet_fields], Spotlight::BlacklightConfiguration do |config|
17
- config.exhibit.roles.where(id: user.role_ids).any?
18
- end
19
-
20
- can :manage, Spotlight::CustomField do |config|
21
- config.exhibit.roles.where(id: user.role_ids).any?
22
- end
23
-
24
- can [:curate], Spotlight::Exhibit do |exhibit|
25
- # any curator or admin role
26
- exhibit.roles.where(id: user.role_ids).any?
27
- end
24
+ can [:curate, :tag], Spotlight::Exhibit, id: user.roles.map(&:exhibit_id)
28
25
 
26
+ # public
29
27
  can [:read, :index], [Spotlight::Exhibit, Spotlight::Page, Spotlight::Search]
30
28
 
31
- # any curator or admin role
32
- if Spotlight::Exhibit.default.roles.where(id: user.role_ids).any?
33
- can [:create, :update, :destroy], [Spotlight::Search, Spotlight::Page]
34
- can :update_all, [Spotlight::Search, Spotlight::Page] #TODO make these specific to the owning exhibit
35
- can :update, ::SolrDocument
36
-
37
- can [:index, :destroy], ActsAsTaggableOn::Tag
38
- end
39
29
  end
40
30
  end
@@ -2,7 +2,7 @@ require 'blacklight/utils'
2
2
 
3
3
  module Spotlight
4
4
  class BlacklightConfiguration < ActiveRecord::Base
5
- has_one :exhibit
5
+ belongs_to :exhibit
6
6
  serialize :facet_fields, Hash
7
7
  serialize :index_fields, Hash
8
8
  serialize :sort_fields, Hash
@@ -27,13 +27,17 @@ module Spotlight
27
27
  v.reject! { |k, v1| v1.blank? and !v1 === false }
28
28
  end if model.index_fields
29
29
 
30
- [:facet_fields, :sort_fields].each do |field|
31
- model.send(field).each do |k,v|
32
- v[:enabled] &&= ActiveRecord::ConnectionAdapters::Column.value_to_boolean(v[:enabled])
33
- v[:enabled] ||= true if v[:enabled].nil?
34
- v.reject! { |k, v1| v1.blank? and !v1 === false }
35
- end if model.send(field)
36
- end
30
+ model.facet_fields.each do |k,v|
31
+ v[:show] &&= ActiveRecord::ConnectionAdapters::Column.value_to_boolean(v[:show])
32
+ v[:show] ||= true if v[:show].nil?
33
+ v.reject! { |k, v1| v1.blank? and !v1 === false }
34
+ end if model.facet_fields
35
+
36
+ model.sort_fields.each do |k,v|
37
+ v[:enabled] &&= ActiveRecord::ConnectionAdapters::Column.value_to_boolean(v[:enabled])
38
+ v[:enabled] ||= true if v[:enabled].nil?
39
+ v.reject! { |k, v1| v1.blank? and !v1 === false }
40
+ end if model.sort_fields
37
41
 
38
42
  model.per_page.reject!(&:blank?) if model.per_page
39
43
  model.document_index_view_types.reject!(&:blank?) if model.document_index_view_types
@@ -102,9 +106,7 @@ module Spotlight
102
106
  end
103
107
 
104
108
  unless facet_fields.blank?
105
- active_facet_fields = facet_fields.select { |k,v| v[:enabled] == true }
106
- config.facet_fields.slice! *active_facet_fields.keys
107
- config.facet_fields = Hash[config.facet_fields.sort_by { |k,v| field_weight(active_facet_fields, k) }]
109
+ config.facet_fields = Hash[config.facet_fields.sort_by { |k,v| field_weight(facet_fields, k) }]
108
110
 
109
111
  config.facet_fields.each do |k, v|
110
112
  next if facet_fields[k].blank?
@@ -131,7 +133,7 @@ module Spotlight
131
133
 
132
134
  def custom_index_fields
133
135
  Hash[exhibit.custom_fields.map do |x|
134
- field = Blacklight::Configuration::IndexField.new x.configuration.merge(field: x.field, helper_method: :exhibit_specific_field)
136
+ field = Blacklight::Configuration::IndexField.new x.configuration.merge(field: x.field)
135
137
  [x.field, field]
136
138
  end]
137
139
  end
@@ -150,7 +152,11 @@ module Spotlight
150
152
  ##
151
153
  # Get the "upstream" blacklight configuration to use
152
154
  def default_blacklight_config
153
- ::CatalogController.blacklight_config
155
+ @default_blacklight_config ||= begin
156
+ config = ::CatalogController.blacklight_config.deep_copy
157
+ config.add_facet_field Spotlight::SolrDocument.solr_field_for_tagger(exhibit), label: "Exhibit Tags", show: false
158
+ config
159
+ end
154
160
  end
155
161
 
156
162
  protected
@@ -0,0 +1,5 @@
1
+ class Spotlight::Contact < ActiveRecord::Base
2
+ belongs_to :exhibit
3
+ scope :published, -> { where(show_in_sidebar: true) }
4
+ default_scope { order("weight ASC") }
5
+ end
@@ -2,6 +2,7 @@ require 'mail_form'
2
2
 
3
3
  module Spotlight
4
4
  class ContactForm < MailForm::Base
5
+ attribute :current_exhibit
5
6
  attribute :name, validate: false
6
7
  attribute :email, validate: /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
7
8
  attribute :message
@@ -12,10 +13,11 @@ module Spotlight
12
13
  def headers
13
14
  {
14
15
  subject: "#{I18n.t(:'blacklight.application_name')} Contact Form",
15
- to: Spotlight::Exhibit.default.contact_emails.first,
16
+ to: current_exhibit.contact_emails.first,
16
17
  from: %("#{name}" <#{email}>),
17
- cc: Spotlight::Exhibit.default.contact_emails.join(", ")
18
+ cc: current_exhibit.contact_emails.join(", ")
18
19
  }
19
20
  end
21
+
20
22
  end
21
23
  end
@@ -22,10 +22,16 @@ module Spotlight
22
22
  def short_description
23
23
  configuration["short_description"]
24
24
  end
25
+
26
+ protected
27
+ SUFFIX = '_tesim'.freeze
28
+ def self.with_suffix(field)
29
+ field.to_s + SUFFIX
30
+ end
25
31
 
26
32
  private
27
33
  def field_name
28
- "exhibit_#{self.exhibit.to_param}_#{label.parameterize}"
34
+ CustomField.with_suffix("exhibit_#{self.exhibit.to_param}_#{label.parameterize}")
29
35
  end
30
36
 
31
37
  end
@@ -9,13 +9,15 @@ class Spotlight::Exhibit < ActiveRecord::Base
9
9
  has_many :home_pages
10
10
  has_many :users, through: :roles, class_name: '::User'
11
11
  has_many :custom_fields
12
+ has_many :contacts
13
+ has_one :blacklight_configuration, class_name: Spotlight::BlacklightConfiguration
12
14
 
13
- belongs_to :blacklight_configuration, class_name: Spotlight::BlacklightConfiguration
14
15
  accepts_nested_attributes_for :blacklight_configuration
15
16
  accepts_nested_attributes_for :searches
16
17
  accepts_nested_attributes_for :about_pages
17
18
  accepts_nested_attributes_for :feature_pages
18
- accepts_nested_attributes_for :roles, allow_destroy: true
19
+ accepts_nested_attributes_for :contacts
20
+ accepts_nested_attributes_for :roles, allow_destroy: true, reject_if: proc {|attr| attr['user_key'].blank?}
19
21
  delegate :blacklight_config, to: :blacklight_configuration
20
22
 
21
23
  serialize :facets, Array
@@ -43,7 +45,7 @@ class Spotlight::Exhibit < ActiveRecord::Base
43
45
  end
44
46
 
45
47
  def main_about_page
46
- about_pages.published.first
48
+ @main_about_page ||= about_pages.published.first
47
49
  end
48
50
 
49
51
  # Find or create the default exhibit