curate 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (431) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +9 -0
  3. data/app/assets/javascripts/curate.js +2 -0
  4. data/app/assets/javascripts/curate/link_groups.js.coffee +123 -0
  5. data/app/assets/javascripts/curate/link_users.js.coffee +29 -10
  6. data/app/assets/stylesheets/curate.css.scss +1 -0
  7. data/app/assets/stylesheets/curate/linkedGroups.css.scss +16 -0
  8. data/app/assets/stylesheets/curate/linkedUsers.css.scss +4 -0
  9. data/app/assets/stylesheets/modules.scss +2 -1
  10. data/app/assets/stylesheets/modules/forms.css.scss +5 -0
  11. data/app/assets/stylesheets/modules/profile.css.scss +51 -0
  12. data/app/controllers/catalog_controller.rb +37 -7
  13. data/app/controllers/curate/collections_controller.rb +15 -0
  14. data/app/controllers/curate/people_controller.rb +17 -4
  15. data/app/controllers/curation_concern/generic_works_controller.rb +26 -2
  16. data/app/controllers/curation_concern/linked_resources_controller.rb +1 -1
  17. data/app/controllers/curation_concern/permissions_controller.rb +2 -1
  18. data/app/controllers/hydramata/groups_controller.rb +119 -0
  19. data/app/controllers/registrations_controller.rb +33 -0
  20. data/app/controllers/users_controller.rb +23 -0
  21. data/app/helpers/curate/catalog_helper.rb +14 -0
  22. data/app/helpers/curate/collections_helper.rb +20 -9
  23. data/app/helpers/curate_helper.rb +12 -5
  24. data/app/helpers/hydramata/groups_helper.rb +12 -0
  25. data/app/models/account.rb +17 -0
  26. data/app/models/concerns/curate/ability.rb +1 -5
  27. data/app/models/curate/user_behavior/base.rb +6 -5
  28. data/app/repository_datastreams/group_metadata_datastream.rb +20 -0
  29. data/app/repository_models/collection.rb +49 -1
  30. data/app/repository_models/curation_concern/model.rb +5 -1
  31. data/app/repository_models/curation_concern/with_generic_files.rb +4 -3
  32. data/app/repository_models/curation_concern/work.rb +38 -1
  33. data/app/repository_models/curation_concern/work_permission.rb +54 -0
  34. data/app/repository_models/hydramata/group.rb +87 -0
  35. data/app/repository_models/hydramata/group_membership_form.rb +72 -0
  36. data/app/repository_models/person.rb +37 -1
  37. data/app/repository_models/profile_section.rb +0 -1
  38. data/app/services/curation_concern/work_permission_action_parser.rb +78 -0
  39. data/app/services/hydramata/group_membership_action_parser.rb +65 -0
  40. data/app/views/catalog/_facets.html.erb +3 -1
  41. data/app/views/catalog/index.html.erb +3 -0
  42. data/app/views/curate/collections/_form.html.erb +10 -0
  43. data/app/views/curate/collections/show.html.erb +1 -0
  44. data/app/views/curate/people/_profile_image.html.erb +2 -2
  45. data/app/views/curate/people/show.html.erb +46 -34
  46. data/app/views/curation_concern/articles/_attributes.html.erb +1 -0
  47. data/app/views/curation_concern/base/_form.html.erb +1 -0
  48. data/app/views/curation_concern/base/_form_descriptive_fields.erb +9 -0
  49. data/app/views/curation_concern/base/_linked_editors.html.erb +47 -0
  50. data/app/views/curation_concern/base/_linked_groups.html.erb +45 -0
  51. data/app/views/curation_concern/base/_persons_edit_access.html.erb +44 -0
  52. data/app/views/curation_concern/documents/_attributes.html.erb +1 -0
  53. data/app/views/curation_concern/etds/_attributes.html.erb +1 -0
  54. data/app/views/curation_concern/etds/_form_descriptive_fields.erb +2 -0
  55. data/app/views/curation_concern/generic_works/_attributes.html.erb +1 -0
  56. data/app/views/{curate/organizations/_organization.html.erb → curation_concern/hydramata/groups/_group.html.erb} +6 -6
  57. data/app/views/curation_concern/images/_attributes.html.erb +1 -0
  58. data/app/views/curation_concern/images/_form_descriptive_fields.erb +2 -0
  59. data/app/views/hydramata/groups/_button_create_group.html.erb +1 -0
  60. data/app/views/{curate/organizations → hydramata/groups}/_document_list.html.erb +0 -0
  61. data/app/views/{curate/organizations → hydramata/groups}/_form.html.erb +28 -10
  62. data/app/views/hydramata/groups/_group.html.erb +24 -0
  63. data/app/views/hydramata/groups/_linked_members.html.erb +96 -0
  64. data/app/views/hydramata/groups/edit.html.erb +4 -0
  65. data/app/views/hydramata/groups/index.html.erb +11 -0
  66. data/app/views/{curate/organizations → hydramata/groups}/new.html.erb +1 -1
  67. data/app/views/hydramata/groups/show.html.erb +36 -0
  68. data/app/views/layouts/boilerplate.html.erb +1 -1
  69. data/app/views/registrations/_form_account_deactivation.html.erb +1 -1
  70. data/app/views/registrations/_form_attributes.html.erb +3 -5
  71. data/app/views/registrations/_form_password_management.html.erb +11 -9
  72. data/app/views/registrations/edit.html.erb +8 -5
  73. data/app/views/shared/_add_content.html.erb +1 -1
  74. data/app/views/shared/_my_actions.html.erb +1 -0
  75. data/lib/curate/configuration.rb +6 -0
  76. data/lib/curate/rails/routes.rb +7 -1
  77. data/lib/curate/spec_support.rb +1 -1
  78. data/lib/curate/version.rb +1 -1
  79. data/lib/generators/curate/application_template.rb +10 -2
  80. data/lib/generators/curate/curate_generator.rb +16 -0
  81. data/lib/generators/curate/predicate_mapping/predicate_mappings.yml +64 -0
  82. data/lib/generators/curate/search_config/search_config_generator.rb +177 -0
  83. data/lib/generators/curate/soft_delete/active_fedora_soft_delete_monkey_patch.rb +14 -4
  84. data/spec/abilities/generic_file_abilities_spec.rb +1 -0
  85. data/spec/abilities/generic_work_abilities_spec.rb +1 -0
  86. data/spec/controllers/catalog_controller_spec.rb +21 -0
  87. data/spec/controllers/curate/collections_controller_spec.rb +1 -1
  88. data/spec/controllers/curation_concern/linked_resources_controller_spec.rb +1 -1
  89. data/spec/controllers/curation_concern/permissions_controller_spec.rb +1 -1
  90. data/spec/controllers/hydamata/groups_controller_spec.rb +133 -0
  91. data/spec/factories/group_factory.rb +20 -0
  92. data/spec/features/article_spec.rb +3 -2
  93. data/spec/features/catalog_search_spec.rb +19 -2
  94. data/spec/features/collections_spec.rb +23 -7
  95. data/spec/features/dataset_spec.rb +3 -2
  96. data/spec/features/end_to_end_spec.rb +9 -8
  97. data/spec/features/etd_spec.rb +3 -2
  98. data/spec/features/generic_work_spec.rb +6 -3
  99. data/spec/features/image_spec.rb +3 -2
  100. data/spec/features/manager_profile_workflow_spec.rb +56 -0
  101. data/spec/features/person_profile_spec.rb +4 -4
  102. data/spec/features/user_profile_workflow_spec.rb +1 -7
  103. data/spec/fixtures/cassettes/remotely_identified_doi_mint_generic_work.yml +3 -3
  104. data/spec/fixtures/cassettes/remotely_identified_doi_mint_spam.yml +47 -0
  105. data/spec/helpers/curate/catalog_helper.rb +29 -0
  106. data/spec/internal/Gemfile +23 -4
  107. data/spec/internal/Gemfile.lock +410 -14
  108. data/spec/internal/app/assets/images/blacklight/bg.png +0 -0
  109. data/spec/internal/app/assets/images/blacklight/border.png +0 -0
  110. data/spec/internal/app/assets/images/blacklight/bul_sq_gry.gif +0 -0
  111. data/spec/internal/app/assets/images/blacklight/checkmark.gif +0 -0
  112. data/spec/internal/app/assets/images/blacklight/logo.png +0 -0
  113. data/spec/internal/app/assets/images/blacklight/magnifying_glass.gif +0 -0
  114. data/spec/internal/app/assets/images/blacklight/remove.gif +0 -0
  115. data/spec/internal/app/assets/images/blacklight/separator.gif +0 -0
  116. data/spec/internal/app/assets/images/blacklight/start_over.gif +0 -0
  117. data/spec/internal/app/assets/javascripts/application.js +4 -0
  118. data/spec/internal/app/assets/stylesheets/application.css +1 -0
  119. data/spec/internal/app/controllers/application_controller.rb +9 -0
  120. data/spec/internal/app/controllers/curation_concern/spams_controller.rb +6 -0
  121. data/spec/internal/app/models/ability.rb +20 -0
  122. data/spec/internal/app/models/solr_document.rb +38 -0
  123. data/spec/internal/app/models/user.rb +23 -0
  124. data/spec/internal/app/repository_datastreams/spam_rdf_datastream.rb +78 -0
  125. data/spec/internal/app/repository_models/spam.rb +47 -0
  126. data/spec/internal/app/services/curation_concern/spam_actor.rb +6 -0
  127. data/spec/internal/app/views/curation_concern/spams/_spam.html.erb +2 -0
  128. data/spec/internal/config/SolrMarc/config-test.properties +37 -0
  129. data/spec/internal/config/SolrMarc/config.properties +37 -0
  130. data/spec/internal/config/SolrMarc/index.properties +97 -0
  131. data/spec/internal/config/SolrMarc/index_scripts/dewey.bsh +47 -0
  132. data/spec/internal/config/SolrMarc/index_scripts/format.bsh +126 -0
  133. data/spec/internal/config/SolrMarc/translation_maps/README_MAPS +1 -0
  134. data/spec/internal/config/SolrMarc/translation_maps/callnumber_map.properties +407 -0
  135. data/spec/internal/config/SolrMarc/translation_maps/composition_era_map.properties +56 -0
  136. data/spec/internal/config/SolrMarc/translation_maps/country_map.properties +379 -0
  137. data/spec/internal/config/SolrMarc/translation_maps/format_map.properties +50 -0
  138. data/spec/internal/config/SolrMarc/translation_maps/instrument_map.properties +101 -0
  139. data/spec/internal/config/SolrMarc/translation_maps/language_map.properties +490 -0
  140. data/spec/internal/config/application.rb +6 -0
  141. data/spec/internal/config/doi.yml +5 -0
  142. data/spec/internal/config/environments/test.rb +2 -1
  143. data/spec/internal/config/fedora.yml +14 -0
  144. data/spec/internal/config/initializers/action_dispatch_http_upload_monkey_patch.rb +12 -0
  145. data/spec/internal/config/initializers/curate_config.rb +30 -0
  146. data/spec/internal/config/initializers/devise.rb +256 -0
  147. data/spec/internal/config/initializers/hydra-remote_identifier_config.rb +29 -0
  148. data/spec/internal/config/initializers/hydra_config.rb +28 -0
  149. data/spec/internal/config/initializers/mailboxer.rb +17 -0
  150. data/spec/internal/config/initializers/mime_types.rb +8 -1
  151. data/spec/internal/config/initializers/redis_config.rb +32 -0
  152. data/spec/internal/config/initializers/resque_admin.rb +10 -0
  153. data/spec/internal/config/initializers/resque_config.rb +5 -0
  154. data/spec/internal/config/initializers/secret_token.rb +1 -1
  155. data/spec/internal/config/initializers/sufia.rb +81 -0
  156. data/spec/internal/config/jetty.yml +5 -0
  157. data/spec/internal/config/locales/devise.en.yml +59 -0
  158. data/spec/internal/config/locales/en.yml +11 -20
  159. data/spec/internal/config/manager_usernames.yml +9 -0
  160. data/spec/internal/config/predicate_mappings.yml +64 -0
  161. data/spec/internal/config/recipients_list.yml +2 -0
  162. data/spec/internal/config/redis.yml +6 -0
  163. data/spec/internal/config/role_map_cucumber.yml +10 -0
  164. data/spec/internal/config/role_map_development.yml +12 -0
  165. data/spec/internal/config/role_map_production.yml +2 -0
  166. data/spec/internal/config/role_map_test.yml +15 -0
  167. data/spec/internal/config/routes.rb +8 -0
  168. data/spec/internal/config/search_config.yml +9 -0
  169. data/spec/internal/config/solr.yml +10 -0
  170. data/spec/internal/db/development.sqlite3 +0 -0
  171. data/spec/internal/db/migrate/20140328183252_devise_create_users.rb +42 -0
  172. data/spec/internal/db/migrate/20140328183257_add_devise_guests_to_users.rb +15 -0
  173. data/spec/internal/db/migrate/20140328183258_create_searches.rb +16 -0
  174. data/spec/internal/db/migrate/20140328183259_create_bookmarks.rb +18 -0
  175. data/spec/internal/db/migrate/20140328183260_remove_editable_fields_from_bookmarks.rb +12 -0
  176. data/spec/internal/db/migrate/20140328183261_add_user_types_to_bookmarks_searches.rb +16 -0
  177. data/spec/internal/db/migrate/20140328183262_acts_as_follower_migration.rb +17 -0
  178. data/spec/internal/db/migrate/20140328183263_add_social_to_users.rb +13 -0
  179. data/spec/internal/db/migrate/20140328183264_create_single_use_links.rb +12 -0
  180. data/spec/internal/db/migrate/20140328183265_add_ldap_attrs_to_user.rb +27 -0
  181. data/spec/internal/db/migrate/20140328183266_add_avatars_to_users.rb +9 -0
  182. data/spec/internal/db/migrate/20140328183267_create_checksum_audit_logs.rb +20 -0
  183. data/spec/internal/db/migrate/20140328183268_create_version_committers.rb +15 -0
  184. data/spec/internal/db/migrate/20140328183269_add_groups_to_users.rb +11 -0
  185. data/spec/internal/db/migrate/20140328183270_create_local_authorities.rb +50 -0
  186. data/spec/internal/db/migrate/20140328183271_create_trophies.rb +10 -0
  187. data/spec/internal/db/migrate/20140328183331_create_mailboxer.mailboxer_engine.rb +62 -0
  188. data/spec/internal/db/migrate/20140328183332_add_notified_object.mailboxer_engine.rb +18 -0
  189. data/spec/internal/db/migrate/20140328183333_add_notification_code.mailboxer_engine.rb +14 -0
  190. data/spec/internal/db/migrate/20140328183334_add_attachments.mailboxer_engine.rb +10 -0
  191. data/spec/internal/db/migrate/20140328183335_rename_receipts_read.mailboxer_engine.rb +10 -0
  192. data/spec/internal/db/migrate/20140328183336_add_global_notification_support.mailboxer_engine.rb +10 -0
  193. data/spec/internal/db/migrate/20140328183340_add_terms_of_service_to_user.curate_engine.rb +6 -0
  194. data/spec/internal/db/migrate/20140328183341_add_user_force_update_profile.curate_engine.rb +9 -0
  195. data/spec/internal/db/migrate/20140328183342_create_help_requests.curate_engine.rb +23 -0
  196. data/spec/internal/db/migrate/20140328183343_add_repository_id_to_user.curate_engine.rb +7 -0
  197. data/spec/internal/db/migrate/20140328183344_create_curate_proxy_deposit_rights.curate_engine.rb +12 -0
  198. data/spec/internal/db/migrate/20140328183345_change_display_name_to_name.curate_engine.rb +7 -0
  199. data/spec/internal/db/schema.rb +216 -1
  200. data/spec/internal/db/test.sqlite3 +0 -0
  201. data/spec/internal/fedora_conf/conf/development/fedora.fcfg +953 -0
  202. data/spec/internal/fedora_conf/conf/test/fedora.fcfg +953 -0
  203. data/spec/internal/lib/generators/test_app_generator.rb +23 -2
  204. data/spec/internal/log/development.log +322 -4
  205. data/spec/internal/log/test.log +117837 -0
  206. data/spec/internal/solr_conf/conf/schema.xml +273 -0
  207. data/spec/internal/solr_conf/conf/solrconfig.xml +167 -0
  208. data/spec/internal/solr_conf/solr.xml +35 -0
  209. data/spec/internal/spec/controllers/curation_concern/spams_controller_spec.rb +7 -0
  210. data/spec/internal/spec/factories/spams_factory.rb +40 -0
  211. data/spec/internal/spec/repository_models/spam_spec.rb +16 -0
  212. data/spec/internal/spec/services/curation_concern/spam_actor_spec.rb +7 -0
  213. data/spec/internal/test/models/user_test.rb +7 -0
  214. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_blacklight_base.css.scssc +0 -0
  215. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_bookmark.css.scssc +0 -0
  216. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_catalog.css.scssc +0 -0
  217. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_dropdown.css.scssc +0 -0
  218. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_facets.css.scssc +0 -0
  219. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_footer.css.scssc +0 -0
  220. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_group.css.scssc +0 -0
  221. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_header.css.scssc +0 -0
  222. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_layout.css.scssc +0 -0
  223. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_modal.css.scssc +0 -0
  224. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_print.css.scssc +0 -0
  225. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_responsive.css.scssc +0 -0
  226. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/_search_history.css.scssc +0 -0
  227. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/blacklight.css.scssc +0 -0
  228. data/spec/internal/tmp/cache/assets/test/sass/0f223a129cc26de35ff59298da93dd57d598447a/blacklight_defaults.css.scssc +0 -0
  229. data/spec/internal/tmp/cache/assets/test/sass/108fdfe10ba83060a2164fe91a5d70f57ff08f38/linkedGroups.css.scssc +0 -0
  230. data/spec/internal/tmp/cache/assets/test/sass/108fdfe10ba83060a2164fe91a5d70f57ff08f38/linkedUsers.css.scssc +0 -0
  231. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/accessibility.css.scssc +0 -0
  232. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/accordion.css.scssc +0 -0
  233. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/attributes.css.scssc +0 -0
  234. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/classify_work.css.scssc +0 -0
  235. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/collections.css.scssc +0 -0
  236. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/emphatic_action_area.css.scssc +0 -0
  237. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/forms.css.scssc +0 -0
  238. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/multi_value_fields.css.scssc +0 -0
  239. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/pagination.css.scssc +0 -0
  240. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/profile.css.scssc +0 -0
  241. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/search_results.css.scssc +0 -0
  242. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/site_actions.css.scssc +0 -0
  243. data/spec/internal/tmp/cache/assets/test/sass/2c6be7e0f6fa11a075d87959732f91fde3df1f13/site_search.css.scssc +0 -0
  244. data/spec/internal/tmp/cache/assets/test/sass/3540212d3e8f12f14e3d57e312ff13dc248a7b03/bootstrap-modal.cssc +0 -0
  245. data/spec/internal/tmp/cache/assets/test/sass/393de91b02495e7f60ccd919368de37af38618da/bootstrap-datepicker.cssc +0 -0
  246. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_accordion.scssc +0 -0
  247. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_alerts.scssc +0 -0
  248. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_breadcrumbs.scssc +0 -0
  249. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_button-groups.scssc +0 -0
  250. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_buttons.scssc +0 -0
  251. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_carousel.scssc +0 -0
  252. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_close.scssc +0 -0
  253. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_code.scssc +0 -0
  254. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_component-animations.scssc +0 -0
  255. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_dropdowns.scssc +0 -0
  256. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_forms.scssc +0 -0
  257. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_grid.scssc +0 -0
  258. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_hero-unit.scssc +0 -0
  259. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_labels-badges.scssc +0 -0
  260. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_layouts.scssc +0 -0
  261. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_media.scssc +0 -0
  262. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_mixins.scssc +0 -0
  263. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_modals.scssc +0 -0
  264. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_navbar.scssc +0 -0
  265. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_navs.scssc +0 -0
  266. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_pager.scssc +0 -0
  267. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_pagination.scssc +0 -0
  268. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_popovers.scssc +0 -0
  269. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_progress-bars.scssc +0 -0
  270. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_reset.scssc +0 -0
  271. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_responsive-1200px-min.scssc +0 -0
  272. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_responsive-767px-max.scssc +0 -0
  273. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_responsive-768px-979px.scssc +0 -0
  274. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_responsive-navbar.scssc +0 -0
  275. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_responsive-utilities.scssc +0 -0
  276. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_scaffolding.scssc +0 -0
  277. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_sprites.scssc +0 -0
  278. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_tables.scssc +0 -0
  279. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_thumbnails.scssc +0 -0
  280. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_tooltip.scssc +0 -0
  281. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_type.scssc +0 -0
  282. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_utilities.scssc +0 -0
  283. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_variables.scssc +0 -0
  284. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/_wells.scssc +0 -0
  285. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/bootstrap.scssc +0 -0
  286. data/spec/internal/tmp/cache/assets/test/sass/51b00c7d39146f73896d987722a019852fb2ca5e/responsive.scssc +0 -0
  287. data/spec/internal/tmp/cache/assets/test/sass/6a8f3b19bc293c20ed8d8faf81b13284c10818d6/_catalog.css.scssc +0 -0
  288. data/spec/internal/tmp/cache/assets/test/sass/6a8f3b19bc293c20ed8d8faf81b13284c10818d6/_facets.css.scssc +0 -0
  289. data/spec/internal/tmp/cache/assets/test/sass/6a8f3b19bc293c20ed8d8faf81b13284c10818d6/_header.css.scssc +0 -0
  290. data/spec/internal/tmp/cache/assets/test/sass/953d624c1831fcea22a3be549290f4c654726e96/positioning.css.scssc +0 -0
  291. data/spec/internal/tmp/cache/assets/test/sass/b95751effdfef9cdba38bc1d169b6196172155ed/theme.css.scssc +0 -0
  292. data/spec/internal/tmp/cache/assets/test/sass/b95751effdfef9cdba38bc1d169b6196172155ed/typography.css.scssc +0 -0
  293. data/spec/internal/tmp/cache/assets/test/sass/e653ebc579903efbaf96508ec20b97304a2a14a0/token-input-facebook.cssc +0 -0
  294. data/spec/internal/tmp/cache/assets/test/sass/e9808fc781dff3e3e7170d18d009c46cb33a75c5/curate.css.scssc +0 -0
  295. data/spec/internal/tmp/cache/assets/test/sass/e9808fc781dff3e3e7170d18d009c46cb33a75c5/global-variables.scssc +0 -0
  296. data/spec/internal/tmp/cache/assets/test/sass/e9808fc781dff3e3e7170d18d009c46cb33a75c5/modules.scssc +0 -0
  297. data/spec/internal/tmp/cache/assets/test/sass/ef004a21da8f6e485bf56e67090fd7b67164e2d4/bootstrap-responsive.scssc +0 -0
  298. data/spec/internal/tmp/cache/assets/test/sass/ef004a21da8f6e485bf56e67090fd7b67164e2d4/bootstrap.scssc +0 -0
  299. data/spec/internal/tmp/cache/assets/test/sprockets/022df81faa4bf7df68048b690ef7c85c +0 -0
  300. data/spec/internal/tmp/cache/assets/test/sprockets/04a9cbc691396f514e6b88c05724f9cc +0 -0
  301. data/spec/internal/tmp/cache/assets/test/sprockets/070263a383619079784e4ce15cf15443 +0 -0
  302. data/spec/internal/tmp/cache/assets/test/sprockets/091e4dfe4ed53798289eecba25675954 +0 -0
  303. data/spec/internal/tmp/cache/assets/test/sprockets/0b4f161bc175df6a24a070de15ef8070 +0 -0
  304. data/spec/internal/tmp/cache/assets/test/sprockets/0d6ccd45e1a5bb30040987a5817f5ca7 +0 -0
  305. data/spec/internal/tmp/cache/assets/test/sprockets/1114f56d5a4f05583b0351978456c150 +0 -0
  306. data/spec/internal/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  307. data/spec/internal/tmp/cache/assets/test/sprockets/163665b72c8e98b0c88c19896f080bc4 +0 -0
  308. data/spec/internal/tmp/cache/assets/test/sprockets/169842bd6ce5ed610c32403ca2ed06d6 +0 -0
  309. data/spec/internal/tmp/cache/assets/test/sprockets/19465db808fbe15048554cecb70ad7cf +0 -0
  310. data/spec/internal/tmp/cache/assets/test/sprockets/1a591a26fdf3ed78b25b5ab792d76b7e +0 -0
  311. data/spec/internal/tmp/cache/assets/test/sprockets/1c1167e9384b80e15359a663448a3196 +0 -0
  312. data/spec/internal/tmp/cache/assets/test/sprockets/1d084625b16ac691b3ac53f7c3af9383 +0 -0
  313. data/spec/internal/tmp/cache/assets/test/sprockets/1d2f8185792ec3fccced5ea4e4dd7ff2 +0 -0
  314. data/spec/internal/tmp/cache/assets/test/sprockets/1eeefbd68878e39bf538ca5fb6816827 +0 -0
  315. data/spec/internal/tmp/cache/assets/test/sprockets/1f3f013d8df49445e8f6d26abe4bd0c3 +0 -0
  316. data/spec/internal/tmp/cache/assets/test/sprockets/22589c57b7736c35f126b70fa4f6838d +0 -0
  317. data/spec/internal/tmp/cache/assets/test/sprockets/2458a8aab642c987741b9e5dbadc40be +0 -0
  318. data/spec/internal/tmp/cache/assets/test/sprockets/25c858866fd7a2ca6719b8f57b7da784 +0 -0
  319. data/spec/internal/tmp/cache/assets/test/sprockets/272deddade92ef016e309a2eb7b775cc +0 -0
  320. data/spec/internal/tmp/cache/assets/test/sprockets/293f9259ef62e6c2afde9949c46f0b36 +0 -0
  321. data/spec/internal/tmp/cache/assets/test/sprockets/2b89cef6265da9c35a9c68f4672c7ff5 +0 -0
  322. data/spec/internal/tmp/cache/assets/test/sprockets/2e0105bbafec2286e09b62e5471f4c73 +0 -0
  323. data/spec/internal/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  324. data/spec/internal/tmp/cache/assets/test/sprockets/30980d53fa21cb948c92faff2cf90991 +0 -0
  325. data/spec/internal/tmp/cache/assets/test/sprockets/30b468617659dbbfc89c910dcb076662 +0 -0
  326. data/spec/internal/tmp/cache/assets/test/sprockets/31f03bdc9721687fd98c2b12c036e8a2 +0 -0
  327. data/spec/internal/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  328. data/spec/internal/tmp/cache/assets/test/sprockets/3b707f5b5654437450eb8d718b602724 +0 -0
  329. data/spec/internal/tmp/cache/assets/test/sprockets/4132e961bdf0f2ffa2f96a4c7822e209 +0 -0
  330. data/spec/internal/tmp/cache/assets/test/sprockets/41dd5dbd03cfa3f49e2d7569ffd03f8d +0 -0
  331. data/spec/internal/tmp/cache/assets/test/sprockets/42ad0d7de425a02e6ad4b53f8f96e73a +0 -0
  332. data/spec/internal/tmp/cache/assets/test/sprockets/4749d0a94ef75f86eebb5f638b83188c +0 -0
  333. data/spec/internal/tmp/cache/assets/test/sprockets/47d1bee927ac2da38db4c61acd85d648 +0 -0
  334. data/spec/internal/tmp/cache/assets/test/sprockets/483d9b04ae722b59d47428990e5d67a3 +0 -0
  335. data/spec/internal/tmp/cache/assets/test/sprockets/49dddc872622de1d975f563d9d10d6c9 +0 -0
  336. data/spec/internal/tmp/cache/assets/test/sprockets/49f85e65ad619dd02dc51988e77723d2 +0 -0
  337. data/spec/internal/tmp/cache/assets/test/sprockets/4b1fc3a748e34199e72958c656cc06cf +0 -0
  338. data/spec/internal/tmp/cache/assets/test/sprockets/4c5e67849a42922256c692cebe3625ae +0 -0
  339. data/spec/internal/tmp/cache/assets/test/sprockets/5141429549bc789c5a18f47a631ee310 +0 -0
  340. data/spec/internal/tmp/cache/assets/test/sprockets/541a8ef4d67b7e50312977c96e423051 +0 -0
  341. data/spec/internal/tmp/cache/assets/test/sprockets/55e3bb68ac9cf584a33a458f8a2b1676 +0 -0
  342. data/spec/internal/tmp/cache/assets/test/sprockets/5d53e364ada0619aa4fb30c112b6b102 +0 -0
  343. data/spec/internal/tmp/cache/assets/test/sprockets/611235bfd282813bdfbc998bcbe798e8 +0 -0
  344. data/spec/internal/tmp/cache/assets/test/sprockets/671dbbf33392960f4dfc8dc63bd7019b +0 -0
  345. data/spec/internal/tmp/cache/assets/test/sprockets/6e0879a87dae322b4e32263452ba6b4e +0 -0
  346. data/spec/internal/tmp/cache/assets/test/sprockets/6ff6303a1f21708f6bd3a328290e5d24 +0 -0
  347. data/spec/internal/tmp/cache/assets/test/sprockets/72d162018f00a25977df702c0c32873f +0 -0
  348. data/spec/internal/tmp/cache/assets/test/sprockets/7685f208e89b90425bf76796648ebc28 +0 -0
  349. data/spec/internal/tmp/cache/assets/test/sprockets/7d0dafd1bea0f4da00c580f0f6d664b8 +0 -0
  350. data/spec/internal/tmp/cache/assets/test/sprockets/7d4fe23150294500a7bcd2630667e5c8 +0 -0
  351. data/spec/internal/tmp/cache/assets/test/sprockets/7e48304ca1d04f24b1a3ddfd0e762248 +0 -0
  352. data/spec/internal/tmp/cache/assets/test/sprockets/7e6843e999995e7a8a28abe25d44de70 +0 -0
  353. data/spec/internal/tmp/cache/assets/test/sprockets/7f1cb34f019f0890927d422814194b01 +0 -0
  354. data/spec/internal/tmp/cache/assets/test/sprockets/80fbd1f419ec2c1133c164b09a4faa41 +0 -0
  355. data/spec/internal/tmp/cache/assets/test/sprockets/81ecd9c94638acd3ece19ecac462a723 +0 -0
  356. data/spec/internal/tmp/cache/assets/test/sprockets/82f457826b6170c0fd009ef469f31e16 +0 -0
  357. data/spec/internal/tmp/cache/assets/test/sprockets/8401fd13fe82bb392806930ed02005e1 +0 -0
  358. data/spec/internal/tmp/cache/assets/test/sprockets/89051a85201a06056a8d2b0c9f86cc67 +0 -0
  359. data/spec/internal/tmp/cache/assets/test/sprockets/8b503f71e2ed168eb20ff8cfc20ff3d4 +0 -0
  360. data/spec/internal/tmp/cache/assets/test/sprockets/8c7f3211b77d6699db8521f074d3e871 +0 -0
  361. data/spec/internal/tmp/cache/assets/test/sprockets/967c4a151c00ff79d54eab287c5a949b +0 -0
  362. data/spec/internal/tmp/cache/assets/test/sprockets/9a96d61233d5cc5799c7fc16fd9655c3 +0 -0
  363. data/spec/internal/tmp/cache/assets/test/sprockets/9c4023aaef54415afaf4892ced299f30 +0 -0
  364. data/spec/internal/tmp/cache/assets/test/sprockets/9d2b8824bdb90dbf4cc8b238820f5536 +0 -0
  365. data/spec/internal/tmp/cache/assets/test/sprockets/a16e48f0f9253ddceef37908141e96c3 +0 -0
  366. data/spec/internal/tmp/cache/assets/test/sprockets/a58efe476f9446653ee3ae72f0a61fad +0 -0
  367. data/spec/internal/tmp/cache/assets/test/sprockets/a5b14fb35b6609fda372da27bcd729a7 +0 -0
  368. data/spec/internal/tmp/cache/assets/test/sprockets/a9a428b52df1827450a88aa09e03c638 +0 -0
  369. data/spec/internal/tmp/cache/assets/test/sprockets/a9e4b0d4e6cb29a1cbc5e016fbcc0fb9 +0 -0
  370. data/spec/internal/tmp/cache/assets/test/sprockets/ada353bb8ffe3eb0f2dd479e6d869a70 +0 -0
  371. data/spec/internal/tmp/cache/assets/test/sprockets/aed5b98e50f137ce9635dd1ec2e825ae +0 -0
  372. data/spec/internal/tmp/cache/assets/test/sprockets/b148a5e98ff09a12b6a2139af1e62e46 +0 -0
  373. data/spec/internal/tmp/cache/assets/test/sprockets/b3b3d7f6ecf32ce8216b40eccc5da386 +0 -0
  374. data/spec/internal/tmp/cache/assets/test/sprockets/b9d7d32e6982bd30b74f8e53b9217c17 +0 -0
  375. data/spec/internal/tmp/cache/assets/test/sprockets/baf77fc130c9f3d5a5aa7fb780485a04 +0 -0
  376. data/spec/internal/tmp/cache/assets/test/sprockets/bbb1efb94f355bd05863c07b6f552c58 +0 -0
  377. data/spec/internal/tmp/cache/assets/test/sprockets/bd0dea58c57774fef248f0b0844a4654 +0 -0
  378. data/spec/internal/tmp/cache/assets/test/sprockets/bd4a5121c6495d513075e759f8cca6ed +0 -0
  379. data/spec/internal/tmp/cache/assets/test/sprockets/c052b51dcc86bc3909b8d1f00ec52063 +0 -0
  380. data/spec/internal/tmp/cache/assets/test/sprockets/c6d2f8432ae24aaa27e3c17827d59e9a +0 -0
  381. data/spec/internal/tmp/cache/assets/test/sprockets/c89f789c6b72000300327021b7d4c5c2 +0 -0
  382. data/spec/internal/tmp/cache/assets/test/sprockets/cbb27eb65bd8fb970a233e18ba352e8f +0 -0
  383. data/spec/internal/tmp/cache/assets/test/sprockets/cdf8872264f5f8dd811cdf810f6875a7 +0 -0
  384. data/spec/internal/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  385. data/spec/internal/tmp/cache/assets/test/sprockets/d0196b42a14494523f6911335f616faf +0 -0
  386. data/spec/internal/tmp/cache/assets/test/sprockets/d2473a08bfca80032fc2b63d1b701155 +0 -0
  387. data/spec/internal/tmp/cache/assets/test/sprockets/d510daa6eb0cd4805bff7fd0990dfdb5 +0 -0
  388. data/spec/internal/tmp/cache/assets/test/sprockets/d610f39602b6149ca02638c1728778b5 +0 -0
  389. data/spec/internal/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  390. data/spec/internal/tmp/cache/assets/test/sprockets/d91f67015353a832fa2e3833f735348c +0 -0
  391. data/spec/internal/tmp/cache/assets/test/sprockets/da3f0c774f5df0a1a089c222895df846 +0 -0
  392. data/spec/internal/tmp/cache/assets/test/sprockets/db2cddc1e711c9846ddae11154b7e021 +0 -0
  393. data/spec/internal/tmp/cache/assets/test/sprockets/dc85d6ffbe7a752fa33121a762c54962 +0 -0
  394. data/spec/internal/tmp/cache/assets/test/sprockets/e0e4f218b157ae599e12a247a4cf8710 +0 -0
  395. data/spec/internal/tmp/cache/assets/test/sprockets/e1b5310fd1def23fa4153a98c6f4ec94 +0 -0
  396. data/spec/internal/tmp/cache/assets/test/sprockets/e214f7e5fca115c8dd417b1756b6c74e +0 -0
  397. data/spec/internal/tmp/cache/assets/test/sprockets/e33bc43550b9803eb105d236a57226ae +0 -0
  398. data/spec/internal/tmp/cache/assets/test/sprockets/e60245101cbc86285dea16c630966171 +0 -0
  399. data/spec/internal/tmp/cache/assets/test/sprockets/e9c2a0f2fa471ace3f7ed3a1f1b9ffc5 +0 -0
  400. data/spec/internal/tmp/cache/assets/test/sprockets/ea0ece5befbce765051e27cf991cc805 +0 -0
  401. data/spec/internal/tmp/cache/assets/test/sprockets/ea537228e3763da36f19f836971837bf +0 -0
  402. data/spec/internal/tmp/cache/assets/test/sprockets/eb8e9f5bc31c8df8014af288cf304fa2 +0 -0
  403. data/spec/internal/tmp/cache/assets/test/sprockets/ee98c5174937598bf3cc6cbd06de1930 +0 -0
  404. data/spec/internal/tmp/cache/assets/test/sprockets/efcc92e2af63ff01bdb496a5cd405447 +0 -0
  405. data/spec/internal/tmp/cache/assets/test/sprockets/f43e6de318148b8815fa65c6fd6ea092 +0 -0
  406. data/spec/internal/tmp/cache/assets/test/sprockets/f4dfad893ed757565a389ceceeadcbc1 +0 -0
  407. data/spec/internal/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  408. data/spec/internal/tmp/cache/assets/test/sprockets/f96152606fbc5602cd65176f6098f69a +0 -0
  409. data/spec/internal/tmp/cache/assets/test/sprockets/fb0dfe7bc7417e1329d9cc6c913584e9 +0 -0
  410. data/spec/internal/tmp/cache/assets/test/sprockets/fb4a42a3e047a7a0d87f3ad55c8d267a +0 -0
  411. data/spec/internal/tmp/cache/assets/test/sprockets/fd9f0ae81e726ff65daa70db0055de1a +0 -0
  412. data/spec/internal/tmp/cache/assets/test/sprockets/fecd72966f3f2994e3d5894e05d76bd8 +0 -0
  413. data/spec/internal/tmp/cache/assets/test/sprockets/ff775ea5449360537913ffb102837dfa +0 -0
  414. data/spec/repository_models/generic_work_spec.rb +92 -0
  415. data/spec/repository_models/hydramata/group_membership_form_spec.rb +86 -0
  416. data/spec/repository_models/hydramata/group_spec.rb +91 -0
  417. data/spec/repository_models/person_spec.rb +44 -0
  418. data/spec/support/shared/shared_examples_is_a_curation_concern_controller.rb +23 -1
  419. data/spec/support/shared/shared_examples_remotely_identified.rb +10 -2
  420. metadata +640 -21
  421. data/app/controllers/curate/organizations_controller.rb +0 -96
  422. data/app/helpers/curate/organizations_helper.rb +0 -13
  423. data/app/repository_models/organization.rb +0 -17
  424. data/app/views/curate/organizations/_button_create_organization.html.erb +0 -1
  425. data/app/views/curate/organizations/edit.html.erb +0 -4
  426. data/app/views/curate/organizations/index.html.erb +0 -11
  427. data/app/views/curate/organizations/show.html.erb +0 -27
  428. data/app/views/organizations/_organization.html.erb +0 -30
  429. data/spec/controllers/curate/organizations_controller_spec.rb +0 -50
  430. data/spec/factories/organizations_factory.rb +0 -21
  431. data/spec/repository_models/organization_spec.rb +0 -66
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1fa358950a239086a07e5b88759c3eaedda3e6c1
4
- data.tar.gz: 5e456c912433755c7efd0eb7deba3143ecde8117
3
+ metadata.gz: d16229a634b02fcd379db96b59ec390e149d4025
4
+ data.tar.gz: a652c0cf91956f207980021446c960510d0d8b25
5
5
  SHA512:
6
- metadata.gz: fb47c5e65196b02aa49c6cb0758f551b58b84b0cb26c09bc26570aaca675cdc518146f6e898c544ffa1f60f27a44f274f844f524b600597c2ee1cc9b9aa543ea
7
- data.tar.gz: 021f90b2c9a230eb6b56322ee15ef5d9a0d85a38c6e8a787aceaad95d33c7c6d09294403e43413b1a11acd603246896e42e11057f132ec7e9516070787812385
6
+ metadata.gz: 6258158dff771a3b4bb86a4ccad43c2755ba002fd60159720b7374ef805dd4e40a2aac427efbf056ce945c48fa5a83380e440a18af0d8d1f1c68d686d739ad1d
7
+ data.tar.gz: 5fe52d8c8eec3e18d43fa5887756aa59148fc8fa9449a8ce186fa34ce2af6219e2e40fbb523138d0602f6de2731124ba6cb70c8dd1093279f3d91e6c95e3f88e
data/Rakefile CHANGED
@@ -24,4 +24,13 @@ Dir.glob('tasks/*.rake').each { |r| import r }
24
24
 
25
25
  Bundler::GemHelper.install_tasks
26
26
 
27
+ if !ENV['TRAVIS']
28
+ require 'rspec/yenta'
29
+ RSpec::Yenta.load_tasks do
30
+ require File.expand_path("../spec/internal/config/environment.rb", __FILE__)
31
+ require File.expand_path('../spec/matchers', __FILE__)
32
+ end
33
+ task :yenta => 'generate'
34
+ end
35
+
27
36
  task :default => 'ci'
@@ -29,6 +29,7 @@
29
29
  //= require jquery.tokeninput
30
30
  //= require curate/select_works
31
31
  //= require curate/link_users
32
+ //= require curate/link_groups
32
33
  //= require curate/proxy_rights
33
34
  //= require curate/facet_mine
34
35
  //= require curate/accept_contributor_agreement
@@ -54,6 +55,7 @@ Blacklight.onLoad(function() {
54
55
  });
55
56
  $('.multi_value.control-group').manage_fields();
56
57
  $('.link-users').linkUsers();
58
+ $('.link-groups').linkGroups();
57
59
  $('.proxy-rights').proxyRights();
58
60
 
59
61
 
@@ -0,0 +1,123 @@
1
+ (($, window, document) ->
2
+ $this = undefined
3
+
4
+ # default settings
5
+ _settings =
6
+ default: 'cool!'
7
+
8
+ _remover = $("<button class=\"btn btn-danger remove\"><i class=\"icon-white icon-minus\"></i><span>Remove</span></button>")
9
+ _adder = $("<button class=\"btn btn-success add\"><i class=\"icon-white icon-plus\"></i><span>Add</span></button>")
10
+
11
+
12
+ # This is your public API (no leading underscore, see?)
13
+ # All public methods must return $this so your plugin is chainable.
14
+ methods =
15
+ init: (options) ->
16
+ $this = $(@)
17
+ # The settings object is available under its name: _settings. Let's
18
+ # expand it with any custom options the user provided.
19
+ $.extend _settings, (options or {})
20
+ # Do anything that actually inits your plugin, if needed, right now!
21
+ # An important thing to keep in mind, is that jQuery plugins should be
22
+ # built so that one can apply them to more than one element, like so:
23
+ #
24
+ # $('.matching-elements, #another-one').foobar()
25
+ #
26
+
27
+ #This code sets up all the "Add" and "Remove" buttons for the autocomplete fields.
28
+
29
+ #For each autocomplete set on the page, add the "Add" and "Remove" buttons
30
+ $this.each (index, el) ->
31
+ $('.autocomplete-groups').each (index, el) ->
32
+ _internals.autocompleteGroups(el)
33
+
34
+ #Make sure these buttons have unique id's
35
+ _adder.id = "adder_" + index
36
+ _remover.id = "remover_" + index
37
+
38
+ #Add the "Remove" button
39
+ $('.field-wrapper:not(:last-child) .field-controls', this).append(_remover.clone())
40
+
41
+ #Add the "Add" button
42
+ $('.field-controls:last', this).append(_adder.clone())
43
+
44
+ #Bind the buttons to onClick events
45
+ $(el).on 'click', 'button.add', (e) ->
46
+ _internals.addToList(this)
47
+ $(el).on 'click', 'button.remove', (e) ->
48
+ _internals.removeFromList(this)
49
+
50
+ return $this
51
+
52
+ # This method is often overlooked.
53
+ destroy: ->
54
+ # Do anything to clean it up (nullify references, unbind events…).
55
+ return $this
56
+
57
+ _internals =
58
+ addToList: (el) ->
59
+ $activeControls = $(el).closest('.field-controls')
60
+ $listing = $activeControls.closest('.listing')
61
+ $('.add', $activeControls).remove()
62
+ $removeControl = _remover.clone()
63
+ $activeControls.prepend($removeControl)
64
+ _internals.newRow($listing, el)
65
+ false
66
+
67
+ newRow: ($listing, el) ->
68
+ $listing.append _internals.newListItem($('li', $listing).size(), $listing, el)
69
+ _internals.autocompleteGroups($('.autocomplete-groups:last', $listing))
70
+
71
+
72
+ removeFromList: (el) ->
73
+ $currentGroup = $(el).closest('li')
74
+ $listing = $currentGroup.closest('.listing')
75
+ $currentGroup.hide()
76
+ # set the destroy flag
77
+ $('input:not([value])', $currentGroup).val('true')
78
+ false
79
+
80
+ newListItem: (index, el) ->
81
+ ## We have multiple places in a view where we need these autocomplete fields
82
+ ## (Work edit view for example), so we don't want to use the first #entry-template.
83
+ ## Using .closest isn't working, but this seems to for now.
84
+ source = $(el).parent().children().html()
85
+ template = Handlebars.compile(source)
86
+ template({index: index})
87
+
88
+ addExistingGroup: ($listItem, value, label) ->
89
+ source = $listItem.parent().prev().html()
90
+ template = Handlebars.compile(source)
91
+ $list = $listItem.closest('ul')
92
+ $('input[required]', $list).removeAttr('required')
93
+ $listItem.replaceWith template({index: $('li', $list).index($listItem), value: value, label: label})
94
+ _internals.newRow($list)
95
+
96
+ autocompleteGroups: (el) ->
97
+ $targetElement = $(el)
98
+ $targetElement.autocomplete
99
+ source: (request, response) ->
100
+ $targetElement.data('url')
101
+ $.getJSON $targetElement.data('url'), { q: request.term + "*" }, ( data, status, xhr ) ->
102
+ matches = []
103
+ $.each data.response.docs, (idx, val) ->
104
+ matches.push {label: val['desc_metadata__title_tesim'][0], value: val['id']}
105
+ response( matches )
106
+ minLength: 2
107
+ focus: ( event, ui ) ->
108
+ $targetElement.val(ui.item.label)
109
+ event.preventDefault()
110
+ select: ( event, ui ) ->
111
+ _internals.addExistingGroup($targetElement.closest('li'), ui.item.value, ui.item.label)
112
+ $targetElement.val('')
113
+ event.preventDefault()
114
+
115
+
116
+ $.fn.linkGroups = (method) ->
117
+ if methods[method]
118
+ methods[method].apply this, Array::slice.call(arguments, 1)
119
+ else if typeof method is "object" or not method
120
+ methods.init.apply this, arguments
121
+ else
122
+ $.error "Method " + method + " does not exist on jquery.linkGroups"
123
+ ) jQuery, window, document
@@ -23,17 +23,30 @@
23
23
  #
24
24
  # $('.matching-elements, #another-one').foobar()
25
25
  #
26
+
27
+ #This code sets up all the "Add" and "Remove" buttons for the autocomplete fields.
28
+
29
+ #For each autocomplete set on the page, add the "Add" and "Remove" buttons
26
30
  $this.each (index, el) ->
27
31
  $('.autocomplete-users').each (index, el) ->
28
32
  _internals.autocompleteUsers(el)
29
-
30
- $('.field-wrapper:not(:last-child) .field-controls', $this).append(_remover)
31
- $('.field-controls:last', $this).append(_adder)
33
+
34
+ #Make sure these buttons have unique id's
35
+ _adder.id = "adder_" + index
36
+ _remover.id = "remover_" + index
37
+
38
+ #Add the "Remove" button
39
+ $('.field-wrapper:not(:last-child) .field-controls', this).append(_remover.clone())
40
+
41
+ #Add the "Add" button
42
+ $('.field-controls:last', this).append(_adder.clone())
43
+
44
+ #Bind the buttons to onClick events
32
45
  $(el).on 'click', 'button.add', (e) ->
33
46
  _internals.addToList(this)
34
47
  $(el).on 'click', 'button.remove', (e) ->
35
48
  _internals.removeFromList(this)
36
-
49
+
37
50
  return $this
38
51
 
39
52
  # This method is often overlooked.
@@ -48,11 +61,11 @@
48
61
  $('.add', $activeControls).remove()
49
62
  $removeControl = _remover.clone()
50
63
  $activeControls.prepend($removeControl)
51
- _internals.newRow($listing)
64
+ _internals.newRow($listing, el)
52
65
  false
53
66
 
54
- newRow: ($listing) ->
55
- $listing.append _internals.newListItem($('li', $listing).size())
67
+ newRow: ($listing, el) ->
68
+ $listing.append _internals.newListItem($('li', $listing).size(), $listing, el)
56
69
  _internals.autocompleteUsers($('.autocomplete-users:last', $listing))
57
70
 
58
71
 
@@ -64,13 +77,19 @@
64
77
  $('input:not([value])', $currentUser).val('true')
65
78
  false
66
79
 
67
- newListItem: (index) ->
68
- source = $("#entry-template").html()
80
+ newListItem: (index, el) ->
81
+ ## We have multiple places in a view where we need these autocomplete fields
82
+ ## (Work edit view for example), so we don't want to use the first #entry-template.
83
+ ## Using .closest isn't working, but this seems to for now.
84
+ source = $(el).parent().children().html()
69
85
  template = Handlebars.compile(source)
70
86
  template({index: index})
71
87
 
72
88
  addExistingUser: ($listItem, value, label) ->
73
- source = $("#existing-user-template").html()
89
+ ## We have multiple places in a view where we need these autocomplete fields
90
+ ## (Work edit view for example), so we don't want to use the first #existing-user-template.
91
+ ## Using .closest isn't working, but this seems to for now.
92
+ source = $listItem.parent().prev().html()
74
93
  template = Handlebars.compile(source)
75
94
  $list = $listItem.closest('ul')
76
95
  $('input[required]', $list).removeAttr('required')
@@ -10,6 +10,7 @@
10
10
  *
11
11
  *= require jquery-ui-lightness
12
12
  *= require curate/linkedUsers
13
+ *= require curate/linkedGroups
13
14
  *= require_self
14
15
  */
15
16
 
@@ -0,0 +1,16 @@
1
+ .link-groups {
2
+ .input-append .linked-group {
3
+ display: inline-block;
4
+ width: 275px;
5
+ height: 20px;
6
+ padding: 4px;
7
+ font-size: 14pt;
8
+ border-radius: 4px 0 0 4px;
9
+ border: 1px solid #cccccc;
10
+ }
11
+
12
+ .listing {
13
+ margin: 0;
14
+ }
15
+ }
16
+
@@ -9,6 +9,10 @@
9
9
  border: 1px solid #cccccc;
10
10
  }
11
11
 
12
+ .current-user {
13
+ border: 0px !important;
14
+ }
15
+
12
16
  .listing {
13
17
  margin: 0;
14
18
  }
@@ -10,4 +10,5 @@
10
10
  @import 'modules/site_actions';
11
11
  @import 'modules/site_search';
12
12
  @import 'modules/attributes';
13
- @import 'modules/pagination'
13
+ @import 'modules/pagination';
14
+ @import 'modules/profile';
@@ -85,3 +85,8 @@ form.button-to {
85
85
  form.pull-right {
86
86
  margin-right:0;
87
87
  }
88
+
89
+ .inline-checkbox {
90
+ display: inline-block;
91
+ padding-right:1em;
92
+ }
@@ -0,0 +1,51 @@
1
+ /*
2
+ * This file contains special styles for use on the detailed profile page of
3
+ * a user. See app/views/curate/people for uses.
4
+ */
5
+
6
+ #person_profile .collection-listing .collection-listing {
7
+ list-style-type:disc;
8
+ margin:0 0 1em;
9
+
10
+ .with-controls {
11
+ line-height:2;
12
+ }
13
+ }
14
+
15
+ #person_profile .collection-listing .collection-listing .collection-member {
16
+ padding-bottom:.5em;
17
+ margin-left:2em;
18
+ }
19
+
20
+ #profile_details {
21
+ max-width: 350px;
22
+ }
23
+
24
+ #profile_details table th {
25
+ width:50%;
26
+ vertical-align:top;
27
+ text-align:right;
28
+ padding:0.1em 0.3em 0 0;
29
+ }
30
+
31
+ #profile_details table td {
32
+ width:50%;
33
+ vertical-align:bottom;
34
+ padding:0.1em 0.3em 0 0;
35
+ }
36
+
37
+ #profile_details table {
38
+ margin-bottom:2em;
39
+ }
40
+
41
+ .framed-picture {
42
+ display: block;
43
+ margin-left: auto;
44
+ margin-right: auto;
45
+ padding: 2em 2em 2.5em 2em;
46
+ }
47
+
48
+ .profile-details {
49
+ background-color: aliceblue;
50
+ }
51
+
@@ -19,7 +19,7 @@ class CatalogController < ApplicationController
19
19
  CatalogController.solr_search_params_logic += [:exclude_unwanted_models]
20
20
 
21
21
  before_filter :agreed_to_terms_of_service!
22
-
22
+
23
23
  skip_before_filter :default_html_head
24
24
 
25
25
  def index
@@ -27,6 +27,16 @@ class CatalogController < ApplicationController
27
27
  super
28
28
  end
29
29
 
30
+ def self.human_readable_type_hash
31
+ { :article_facet => { :label => 'Articles', :fq => "active_fedora_model_ssi:Article" },
32
+ :dataset_facet => { :label => 'Datasets', :fq => "active_fedora_model_ssi:Dataset" },
33
+ :document_facet=> { :label => 'Document', :fq => "active_fedora_model_ssi:Document" },
34
+ :etd_facet=> { :label => 'ETD', :fq => "active_fedora_model_ssi:Etd" },
35
+ :generic_file_facet=> { :label => 'Generic Files', :fq => "active_fedora_model_ssi:GenericFile" },
36
+ :generic_work_facet=> { :label => 'Generic Works', :fq => "active_fedora_model_ssi:GenericWork" },
37
+ :image_facet => { :label => 'Images', :fq => "active_fedora_model_ssi:Image"}}
38
+ end
39
+
30
40
  def self.uploaded_field
31
41
  # system_create_dtsi
32
42
  solr_name('desc_metadata__date_uploaded', :stored_sortable, type: :date)
@@ -36,13 +46,25 @@ class CatalogController < ApplicationController
36
46
  solr_name('desc_metadata__date_modified', :stored_sortable , type: :date)
37
47
  end
38
48
 
49
+ def self.search_config
50
+ # Set parameters to send to SOLR
51
+ # First inspect contents of the hash from Yaml configuration file
52
+ # See config/search_config.yml
53
+ initialized_config = Curate.configuration.search_config['catalog']
54
+ # If the hash is empty, set reasonable defaults for this search type
55
+ if initialized_config.nil?
56
+ Hash['qf' => ['desc_metadata__title_tesim','desc_metadata__name_tesim'],'qt' => 'search','rows' => 10]
57
+ else
58
+ initialized_config
59
+ end
60
+ end
39
61
 
40
62
  configure_blacklight do |config|
41
63
  ## Default parameters to send to solr for all search-like requests. See also SolrHelper#solr_search_params
42
64
  config.default_solr_params = {
43
- qf: [solr_name("desc_metadata__title", :stored_searchable), solr_name("desc_metadata__name", :stored_searchable)],
44
- qt: "search",
45
- rows: 10
65
+ qf: search_config['qf'],
66
+ qt: search_config['qt'],
67
+ rows: search_config['rows']
46
68
  }
47
69
 
48
70
  # solr field configuration for search results/index views
@@ -56,10 +78,9 @@ class CatalogController < ApplicationController
56
78
 
57
79
  # solr fields that will be treated as facets by the blacklight application
58
80
  # The ordering of the field names is the order of the display
59
- config.add_facet_field solr_name("human_readable_type", :facetable), label: "Type of Work", limit: 5
81
+ config.add_facet_field solr_name("human_readable_type", :facetable), label: "Type of Work", :query => human_readable_type_hash, limit: 5
60
82
  config.add_facet_field solr_name(:desc_metadata__creator, :facetable), label: "Creator", helper_method: :creator_name_from_pid, limit: 5
61
- config.add_facet_field solr_name(:collection, :facetable), label: "Collection", helper_method: :collection_title_from_pid, limit: 5
62
-
83
+
63
84
  config.add_facet_field solr_name("desc_metadata__tag", :facetable), label: "Keyword", limit: 5
64
85
  config.add_facet_field solr_name("desc_metadata__subject", :facetable), label: "Subject", limit: 5
65
86
  config.add_facet_field solr_name("desc_metadata__language", :facetable), label: "Language", limit: 5
@@ -329,6 +350,14 @@ class CatalogController < ApplicationController
329
350
 
330
351
  protected
331
352
 
353
+ # Override Hydra::PolicyAwareAccessControlsEnforcement
354
+ def gated_discovery_filters
355
+ if current_user and current_user.manager?
356
+ return []
357
+ end
358
+ super
359
+ end
360
+
332
361
  # Overriding blacklight so that the search results can be displayed in a way compatible with
333
362
  # tokenInput javascript library. This is used for suggesting "Related Works" to attach.
334
363
  def render_search_results_as_json
@@ -361,6 +390,7 @@ class CatalogController < ApplicationController
361
390
  solr_parameters[:fq] << "-has_model_ssim:\"info:fedora/afmodel:Profile\""
362
391
  solr_parameters[:fq] << "-has_model_ssim:\"info:fedora/afmodel:ProfileSection\""
363
392
  solr_parameters[:fq] << "-has_model_ssim:\"info:fedora/afmodel:LinkedResource\""
393
+ solr_parameters[:fq] << "-has_model_ssim:\"info:fedora/afmodel:Hydramata_Group\""
364
394
  return solr_parameters
365
395
  end
366
396
 
@@ -55,8 +55,23 @@ class Curate::CollectionsController < ApplicationController
55
55
  before_filter :load_and_authorize_collection, only: [:add_member_form, :add_member]
56
56
 
57
57
  def new
58
+ super
58
59
  @add_to_profile = params.delete(:add_to_profile)
60
+ end
61
+
62
+ def create
63
+ super
64
+ @collection.file = params[ :collection ][ :file ] if params[ :collection ][ :file ]
65
+ end
66
+
67
+ def update
68
+ super
69
+ @collection.file = params[ :collection ][ :file ] if params[ :collection ][ :file ]
70
+ end
71
+
72
+ def index
59
73
  super
74
+ redirect_to catalog_index_path(:'f[generic_type_sim][]' => 'Collection', works: 'mine')
60
75
  end
61
76
 
62
77
  def add_member_form