hyrax 2.8.0 → 3.0.0.pre.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (976) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +52 -51
  3. data/.engine_cart.yml +40 -1
  4. data/.gitignore +4 -0
  5. data/.regen +1 -1
  6. data/.rubocop.yml +11 -30
  7. data/.rubocop_fixme.yml +37 -61
  8. data/CONTRIBUTING.md +183 -0
  9. data/Gemfile +3 -1
  10. data/README.md +14 -17
  11. data/Rakefile +7 -0
  12. data/app/actors/hyrax/actors/abstract_actor.rb +1 -0
  13. data/app/actors/hyrax/actors/active_fedora_to_valkyrie.rb +59 -0
  14. data/app/actors/hyrax/actors/add_to_work_actor.rb +42 -39
  15. data/app/actors/hyrax/actors/apply_order_actor.rb +38 -37
  16. data/app/actors/hyrax/actors/apply_permission_template_actor.rb +20 -19
  17. data/app/actors/hyrax/actors/attach_members_actor.rb +57 -41
  18. data/app/actors/hyrax/actors/base_actor.rb +73 -47
  19. data/app/actors/hyrax/actors/cleanup_file_sets_actor.rb +13 -12
  20. data/app/actors/hyrax/actors/cleanup_trophies_actor.rb +4 -3
  21. data/app/actors/hyrax/actors/collections_membership_actor.rb +91 -136
  22. data/app/actors/hyrax/actors/create_with_files_actor.rb +38 -27
  23. data/app/actors/hyrax/actors/create_with_files_ordered_members_actor.rb +3 -2
  24. data/app/actors/hyrax/actors/create_with_remote_files_actor.rb +50 -49
  25. data/app/actors/hyrax/actors/create_with_remote_files_ordered_members_actor.rb +1 -0
  26. data/app/actors/hyrax/actors/default_admin_set_actor.rb +20 -19
  27. data/app/actors/hyrax/actors/embargo_actor.rb +1 -0
  28. data/app/actors/hyrax/actors/environment.rb +9 -1
  29. data/app/actors/hyrax/actors/featured_work_actor.rb +8 -7
  30. data/app/actors/hyrax/actors/file_actor.rb +83 -16
  31. data/app/actors/hyrax/actors/file_set_actor.rb +117 -58
  32. data/app/actors/hyrax/actors/initialize_workflow_actor.rb +5 -4
  33. data/app/actors/hyrax/actors/interpret_visibility_actor.rb +155 -163
  34. data/app/actors/hyrax/actors/lease_actor.rb +1 -0
  35. data/app/actors/hyrax/actors/model_actor.rb +12 -5
  36. data/app/actors/hyrax/actors/null_actor.rb +12 -0
  37. data/app/actors/hyrax/actors/optimistic_lock_validator.rb +12 -11
  38. data/app/actors/hyrax/actors/ordered_members_actor.rb +1 -1
  39. data/app/actors/hyrax/actors/terminator.rb +1 -0
  40. data/app/actors/hyrax/actors/transactional_request.rb +9 -8
  41. data/app/actors/hyrax/actors/transfer_request_actor.rb +8 -7
  42. data/app/actors/hyrax/actors/valkyrie_to_active_fedora.rb +60 -0
  43. data/app/assets/images/unauthorized.png +0 -0
  44. data/app/assets/javascripts/hyrax.js +1 -0
  45. data/app/assets/javascripts/hyrax/admin/admin_set/visibility.es6 +57 -0
  46. data/app/assets/javascripts/hyrax/autocomplete.es6 +29 -0
  47. data/app/assets/javascripts/hyrax/batch_select_all.js +5 -0
  48. data/app/assets/javascripts/hyrax/collapse.js +91 -0
  49. data/app/assets/javascripts/hyrax/collections.js +5 -4
  50. data/app/assets/javascripts/hyrax/collections/editor.es6 +1 -6
  51. data/app/assets/javascripts/hyrax/editor.es6 +9 -10
  52. data/app/assets/javascripts/hyrax/editor/controlled_vocabulary.es6 +1 -1
  53. data/app/assets/javascripts/hyrax/file_manager/save_manager.es6 +6 -5
  54. data/app/assets/javascripts/hyrax/monkey_patch_turbolinks.js +36 -0
  55. data/app/assets/javascripts/hyrax/nav_safety.js +23 -5
  56. data/app/assets/javascripts/hyrax/proxy_rights.js +8 -0
  57. data/app/assets/stylesheets/fileupload/jquery.fileupload-ui.scss +1 -15
  58. data/app/assets/stylesheets/hyrax/_collections.scss +8 -20
  59. data/app/assets/stylesheets/hyrax/_featured.scss +4 -0
  60. data/app/assets/stylesheets/hyrax/_file-listing.scss +1 -2
  61. data/app/assets/stylesheets/hyrax/_file_sets.scss +27 -0
  62. data/app/assets/stylesheets/hyrax/_forms.scss +0 -2
  63. data/app/assets/stylesheets/hyrax/_header.scss +1 -1
  64. data/app/assets/stylesheets/hyrax/_home-page.scss +23 -7
  65. data/app/assets/stylesheets/hyrax/_hyrax.scss +10 -10
  66. data/app/assets/stylesheets/hyrax/_login_signup.scss +20 -0
  67. data/app/assets/stylesheets/hyrax/_settings.scss +2 -2
  68. data/app/assets/stylesheets/hyrax/_styles.scss +10 -0
  69. data/app/assets/stylesheets/hyrax/_users.scss +16 -0
  70. data/app/assets/stylesheets/hyrax/_viewer.scss +14 -3
  71. data/app/assets/stylesheets/hyrax/_work-show.scss +42 -5
  72. data/app/assets/stylesheets/hyrax/dashboard.scss +3 -3
  73. data/app/authorities/qa/authorities/collections.rb +8 -7
  74. data/app/authorities/qa/authorities/find_works.rb +4 -3
  75. data/app/builders/hyrax/bootstrap_breadcrumbs_builder.rb +5 -4
  76. data/app/builders/hyrax/form_builder.rb +1 -0
  77. data/app/builders/hyrax/manifest_helper.rb +2 -1
  78. data/app/channels/hyrax/application_cable/channel.rb +1 -0
  79. data/app/channels/hyrax/application_cable/connection.rb +16 -15
  80. data/app/channels/hyrax/notifications_channel.rb +1 -0
  81. data/app/connections/hyrax/clean_connection.rb +9 -8
  82. data/app/controllers/concerns/hyrax/admin/stats_behavior.rb +6 -5
  83. data/app/controllers/concerns/hyrax/admin/users_controller_behavior.rb +4 -3
  84. data/app/controllers/concerns/hyrax/api.rb +23 -20
  85. data/app/controllers/concerns/hyrax/breadcrumbs.rb +3 -0
  86. data/app/controllers/concerns/hyrax/breadcrumbs_for_collections.rb +4 -3
  87. data/app/controllers/concerns/hyrax/breadcrumbs_for_works.rb +22 -21
  88. data/app/controllers/concerns/hyrax/collections.rb +1 -0
  89. data/app/controllers/concerns/hyrax/collections/accepts_batches.rb +26 -25
  90. data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +59 -58
  91. data/app/controllers/concerns/hyrax/controller.rb +57 -48
  92. data/app/controllers/concerns/hyrax/deny_access_override_behavior.rb +2 -1
  93. data/app/controllers/concerns/hyrax/embargoes_controller_behavior.rb +7 -4
  94. data/app/controllers/concerns/hyrax/leases_controller_behavior.rb +7 -3
  95. data/app/controllers/concerns/hyrax/local_file_downloads_controller_behavior.rb +69 -68
  96. data/app/controllers/concerns/hyrax/manages_embargoes.rb +1 -0
  97. data/app/controllers/concerns/hyrax/singular_subresource_controller.rb +1 -0
  98. data/app/controllers/concerns/hyrax/themed_layout_controller.rb +1 -0
  99. data/app/controllers/concerns/hyrax/works_controller_behavior.rb +242 -172
  100. data/app/controllers/hyrax/admin/admin_sets_controller.rb +50 -49
  101. data/app/controllers/hyrax/admin/appearances_controller.rb +7 -6
  102. data/app/controllers/hyrax/admin/collection_type_participants_controller.rb +1 -0
  103. data/app/controllers/hyrax/admin/collection_types_controller.rb +31 -32
  104. data/app/controllers/hyrax/admin/features_controller.rb +1 -0
  105. data/app/controllers/hyrax/admin/permission_template_accesses_controller.rb +47 -46
  106. data/app/controllers/hyrax/admin/permission_templates_controller.rb +63 -62
  107. data/app/controllers/hyrax/admin/stats_controller.rb +1 -0
  108. data/app/controllers/hyrax/admin/strategies_controller.rb +1 -0
  109. data/app/controllers/hyrax/admin/users_controller.rb +1 -0
  110. data/app/controllers/hyrax/admin/workflow_roles_controller.rb +4 -3
  111. data/app/controllers/hyrax/admin/workflows_controller.rb +4 -3
  112. data/app/controllers/hyrax/api/items_controller.rb +34 -33
  113. data/app/controllers/hyrax/api/zotero_controller.rb +39 -38
  114. data/app/controllers/hyrax/batch_edits_controller.rb +48 -54
  115. data/app/controllers/hyrax/batch_uploads_controller.rb +50 -49
  116. data/app/controllers/hyrax/citations_controller.rb +4 -3
  117. data/app/controllers/hyrax/collections_controller.rb +13 -12
  118. data/app/controllers/hyrax/contact_form_controller.rb +14 -10
  119. data/app/controllers/hyrax/content_blocks_controller.rb +13 -12
  120. data/app/controllers/hyrax/dashboard/collection_members_controller.rb +24 -23
  121. data/app/controllers/hyrax/dashboard/collections_controller.rb +226 -225
  122. data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +29 -28
  123. data/app/controllers/hyrax/dashboard/profiles_controller.rb +27 -26
  124. data/app/controllers/hyrax/dashboard/works_controller.rb +8 -7
  125. data/app/controllers/hyrax/dashboard_controller.rb +10 -0
  126. data/app/controllers/hyrax/depositors_controller.rb +35 -27
  127. data/app/controllers/hyrax/downloads_controller.rb +50 -58
  128. data/app/controllers/hyrax/embargoes_controller.rb +1 -0
  129. data/app/controllers/hyrax/featured_work_lists_controller.rb +4 -3
  130. data/app/controllers/hyrax/featured_works_controller.rb +1 -0
  131. data/app/controllers/hyrax/file_sets_controller.rb +96 -85
  132. data/app/controllers/hyrax/fixity_checks_controller.rb +9 -8
  133. data/app/controllers/hyrax/homepage_controller.rb +19 -18
  134. data/app/controllers/hyrax/leases_controller.rb +1 -0
  135. data/app/controllers/hyrax/my/collections_controller.rb +16 -15
  136. data/app/controllers/hyrax/my/highlights_controller.rb +22 -21
  137. data/app/controllers/hyrax/my/shares_controller.rb +8 -7
  138. data/app/controllers/hyrax/my/works_controller.rb +16 -15
  139. data/app/controllers/hyrax/my_controller.rb +18 -17
  140. data/app/controllers/hyrax/notifications_controller.rb +4 -3
  141. data/app/controllers/hyrax/operations_controller.rb +1 -0
  142. data/app/controllers/hyrax/pages_controller.rb +17 -16
  143. data/app/controllers/hyrax/permissions_controller.rb +2 -1
  144. data/app/controllers/hyrax/resource_sync_controller.rb +23 -22
  145. data/app/controllers/hyrax/single_use_links_controller.rb +13 -12
  146. data/app/controllers/hyrax/single_use_links_viewer_controller.rb +45 -44
  147. data/app/controllers/hyrax/static_controller.rb +1 -0
  148. data/app/controllers/hyrax/stats_controller.rb +11 -13
  149. data/app/controllers/hyrax/transfers_controller.rb +14 -13
  150. data/app/controllers/hyrax/trophies_controller.rb +1 -0
  151. data/app/controllers/hyrax/uploads_controller.rb +1 -0
  152. data/app/controllers/hyrax/users_controller.rb +57 -36
  153. data/app/controllers/hyrax/workflow_actions_controller.rb +19 -18
  154. data/app/conversions/power_converters.rb +1 -0
  155. data/app/conversions/power_converters/polymorphic_type.rb +2 -0
  156. data/app/conversions/power_converters/sipity_action.rb +2 -0
  157. data/app/conversions/power_converters/sipity_action_name.rb +2 -0
  158. data/app/conversions/power_converters/sipity_agent.rb +3 -0
  159. data/app/conversions/power_converters/sipity_entity.rb +2 -0
  160. data/app/conversions/power_converters/sipity_role.rb +2 -0
  161. data/app/conversions/power_converters/sipity_workflow_id.rb +1 -0
  162. data/app/conversions/power_converters/sipity_workflow_state.rb +3 -0
  163. data/app/forms/hyrax/forms/admin/appearance.rb +20 -19
  164. data/app/forms/hyrax/forms/admin/collection_type_form.rb +12 -1
  165. data/app/forms/hyrax/forms/admin/collection_type_participant_form.rb +1 -0
  166. data/app/forms/hyrax/forms/admin_set_form.rb +4 -3
  167. data/app/forms/hyrax/forms/batch_edit_form.rb +18 -17
  168. data/app/forms/hyrax/forms/batch_upload_form.rb +1 -1
  169. data/app/forms/hyrax/forms/collection_form.rb +25 -22
  170. data/app/forms/hyrax/forms/dashboard/nest_collection_form.rb +23 -22
  171. data/app/forms/hyrax/forms/file_manager_form.rb +4 -3
  172. data/app/forms/hyrax/forms/file_set_edit_form.rb +2 -1
  173. data/app/forms/hyrax/forms/permission_template_form.rb +178 -176
  174. data/app/forms/hyrax/forms/resource_form.rb +190 -0
  175. data/app/forms/hyrax/forms/widgets/admin_set_embargo_period.rb +1 -0
  176. data/app/forms/hyrax/forms/widgets/admin_set_visibility.rb +1 -0
  177. data/app/forms/hyrax/forms/work_form.rb +22 -22
  178. data/app/forms/hyrax/forms/workflow_action_form.rb +12 -5
  179. data/app/forms/hyrax/forms/workflow_responsibility_form.rb +1 -4
  180. data/app/helpers/hyrax/ability_helper.rb +5 -4
  181. data/app/helpers/hyrax/batch_edits_helper.rb +1 -0
  182. data/app/helpers/hyrax/blacklight_override.rb +1 -0
  183. data/app/helpers/hyrax/charts_helper.rb +1 -0
  184. data/app/helpers/hyrax/citations_behavior.rb +1 -0
  185. data/app/helpers/hyrax/citations_behaviors/common_behavior.rb +1 -0
  186. data/app/helpers/hyrax/citations_behaviors/formatters.rb +1 -0
  187. data/app/helpers/hyrax/citations_behaviors/formatters/apa_formatter.rb +40 -38
  188. data/app/helpers/hyrax/citations_behaviors/formatters/chicago_formatter.rb +14 -14
  189. data/app/helpers/hyrax/citations_behaviors/formatters/mla_formatter.rb +10 -9
  190. data/app/helpers/hyrax/citations_behaviors/formatters/open_url_formatter.rb +1 -0
  191. data/app/helpers/hyrax/citations_behaviors/name_behavior.rb +5 -4
  192. data/app/helpers/hyrax/citations_behaviors/publication_behavior.rb +5 -5
  193. data/app/helpers/hyrax/citations_behaviors/title_behavior.rb +2 -1
  194. data/app/helpers/hyrax/collections_helper.rb +57 -7
  195. data/app/helpers/hyrax/contact_form_helper.rb +24 -0
  196. data/app/helpers/hyrax/content_block_helper.rb +1 -0
  197. data/app/helpers/hyrax/content_block_helper_behavior.rb +2 -1
  198. data/app/helpers/hyrax/dashboard_helper_behavior.rb +1 -0
  199. data/app/helpers/hyrax/embargo_helper.rb +21 -0
  200. data/app/helpers/hyrax/file_set_helper.rb +2 -1
  201. data/app/helpers/hyrax/hyrax_helper_behavior.rb +58 -49
  202. data/app/helpers/hyrax/iiif_helper.rb +9 -0
  203. data/app/helpers/hyrax/lease_helper.rb +21 -0
  204. data/app/helpers/hyrax/membership_helper.rb +48 -0
  205. data/app/helpers/hyrax/permission_levels_helper.rb +32 -0
  206. data/app/helpers/hyrax/permissions_helper.rb +8 -7
  207. data/app/helpers/hyrax/title_helper.rb +11 -5
  208. data/app/helpers/hyrax/trophy_helper.rb +1 -0
  209. data/app/helpers/hyrax/url_helper.rb +1 -0
  210. data/app/helpers/hyrax/work_form_helper.rb +48 -0
  211. data/app/indexers/concerns/hyrax/indexes_basic_metadata.rb +1 -0
  212. data/app/indexers/concerns/hyrax/indexes_linked_metadata.rb +1 -0
  213. data/app/indexers/hyrax/admin_set_indexer.rb +7 -1
  214. data/app/indexers/hyrax/basic_metadata_indexer.rb +37 -36
  215. data/app/indexers/hyrax/collection_indexer.rb +2 -1
  216. data/app/indexers/hyrax/collection_with_basic_metadata_indexer.rb +1 -0
  217. data/app/indexers/hyrax/deep_indexing_service.rb +65 -73
  218. data/app/indexers/hyrax/file_set_indexer.rb +21 -24
  219. data/app/indexers/hyrax/indexes_workflow.rb +7 -8
  220. data/app/indexers/hyrax/permission_indexer.rb +25 -0
  221. data/app/indexers/hyrax/repository_reindexer.rb +1 -0
  222. data/app/indexers/hyrax/resource_indexer.rb +13 -0
  223. data/app/indexers/hyrax/valkyrie_collection_indexer.rb +19 -0
  224. data/app/indexers/hyrax/valkyrie_indexer.rb +87 -0
  225. data/app/indexers/hyrax/valkyrie_work_indexer.rb +12 -0
  226. data/app/indexers/hyrax/visibility_indexer.rb +26 -0
  227. data/app/indexers/hyrax/work_indexer.rb +2 -1
  228. data/app/inputs/controlled_vocabulary_input.rb +62 -62
  229. data/app/inputs/multi_value_select_input.rb +31 -30
  230. data/app/inputs/multifile_input.rb +1 -0
  231. data/app/jobs/attach_files_to_work_job.rb +78 -21
  232. data/app/jobs/attach_files_to_work_with_ordered_members_job.rb +19 -18
  233. data/app/jobs/batch_create_job.rb +15 -14
  234. data/app/jobs/characterize_job.rb +17 -2
  235. data/app/jobs/concerns/hyrax/members_permission_job_behavior.rb +28 -0
  236. data/app/jobs/concerns/hyrax/permission_job_behavior.rb +23 -0
  237. data/app/jobs/content_delete_event_job.rb +1 -0
  238. data/app/jobs/content_deposit_event_job.rb +1 -0
  239. data/app/jobs/content_depositor_change_event_job.rb +1 -0
  240. data/app/jobs/content_event_job.rb +1 -0
  241. data/app/jobs/content_new_version_event_job.rb +1 -0
  242. data/app/jobs/content_restored_version_event_job.rb +1 -0
  243. data/app/jobs/content_update_event_job.rb +1 -0
  244. data/app/jobs/create_derivatives_job.rb +1 -0
  245. data/app/jobs/create_work_job.rb +4 -3
  246. data/app/jobs/event_job.rb +3 -1
  247. data/app/jobs/file_set_attached_event_job.rb +16 -15
  248. data/app/jobs/fixity_check_job.rb +28 -29
  249. data/app/jobs/hyrax/application_job.rb +6 -0
  250. data/app/jobs/hyrax/grant_edit_job.rb +13 -8
  251. data/app/jobs/hyrax/grant_edit_to_members_job.rb +5 -13
  252. data/app/jobs/hyrax/grant_read_job.rb +13 -8
  253. data/app/jobs/hyrax/grant_read_to_members_job.rb +5 -13
  254. data/app/jobs/hyrax/revoke_edit_from_members_job.rb +6 -13
  255. data/app/jobs/hyrax/revoke_edit_job.rb +13 -8
  256. data/app/jobs/iiif_manifest_cache_prewarm_job.rb +16 -0
  257. data/app/jobs/import_export_job.rb +14 -13
  258. data/app/jobs/import_url_job.rb +74 -63
  259. data/app/jobs/ingest_job.rb +1 -0
  260. data/app/jobs/ingest_local_file_job.rb +4 -3
  261. data/app/jobs/inherit_permissions_job.rb +55 -4
  262. data/app/jobs/resolrize_job.rb +1 -0
  263. data/app/jobs/stream_notifications_job.rb +1 -0
  264. data/app/jobs/user_edit_profile_event_job.rb +1 -0
  265. data/app/jobs/visibility_copy_job.rb +4 -17
  266. data/app/mailers/hyrax/contact_mailer.rb +2 -1
  267. data/app/models/admin_set.rb +44 -49
  268. data/app/models/batch_upload_item.rb +1 -0
  269. data/app/models/checksum_audit_log.rb +1 -0
  270. data/app/models/collection_branding_info.rb +1 -0
  271. data/app/models/concerns/hyrax/ability.rb +144 -132
  272. data/app/models/concerns/hyrax/ability/admin_set_ability.rb +1 -0
  273. data/app/models/concerns/hyrax/ability/collection_ability.rb +12 -11
  274. data/app/models/concerns/hyrax/ability/collection_type_ability.rb +1 -0
  275. data/app/models/concerns/hyrax/ability/permission_template_ability.rb +1 -0
  276. data/app/models/concerns/hyrax/ability/solr_document_ability.rb +1 -0
  277. data/app/models/concerns/hyrax/basic_metadata.rb +9 -2
  278. data/app/models/concerns/hyrax/collection_behavior.rb +52 -33
  279. data/app/models/concerns/hyrax/collection_nesting.rb +5 -4
  280. data/app/models/concerns/hyrax/core_metadata.rb +1 -0
  281. data/app/models/concerns/hyrax/file_set/belongs_to_works.rb +2 -1
  282. data/app/models/concerns/hyrax/file_set/characterization.rb +11 -3
  283. data/app/models/concerns/hyrax/file_set/derivatives.rb +5 -4
  284. data/app/models/concerns/hyrax/file_set/indexing.rb +2 -1
  285. data/app/models/concerns/hyrax/file_set/querying.rb +3 -2
  286. data/app/models/concerns/hyrax/file_set_behavior.rb +2 -1
  287. data/app/models/concerns/hyrax/has_rendering.rb +1 -0
  288. data/app/models/concerns/hyrax/has_representative.rb +1 -0
  289. data/app/models/concerns/hyrax/human_readable_type.rb +4 -11
  290. data/app/models/concerns/hyrax/in_admin_set.rb +4 -0
  291. data/app/models/concerns/hyrax/naming.rb +11 -2
  292. data/app/models/concerns/hyrax/nested_works.rb +1 -0
  293. data/app/models/concerns/hyrax/permissions.rb +1 -0
  294. data/app/models/concerns/hyrax/permissions/readable.rb +1 -0
  295. data/app/models/concerns/hyrax/permissions/writable.rb +1 -0
  296. data/app/models/concerns/hyrax/proxy_deposit.rb +1 -0
  297. data/app/models/concerns/hyrax/serializers.rb +2 -1
  298. data/app/models/concerns/hyrax/solr_document/characterization.rb +23 -22
  299. data/app/models/concerns/hyrax/solr_document/export.rb +24 -23
  300. data/app/models/concerns/hyrax/solr_document/metadata.rb +31 -31
  301. data/app/models/concerns/hyrax/solr_document/ordered_members.rb +44 -0
  302. data/app/models/concerns/hyrax/solr_document_behavior.rb +19 -12
  303. data/app/models/concerns/hyrax/suppressible.rb +6 -4
  304. data/app/models/concerns/hyrax/user.rb +12 -3
  305. data/app/models/concerns/hyrax/user_usage_stats.rb +1 -0
  306. data/app/models/concerns/hyrax/virus_check.rb +21 -0
  307. data/app/models/concerns/hyrax/with_events.rb +17 -7
  308. data/app/models/concerns/hyrax/with_file_sets.rb +6 -0
  309. data/app/models/concerns/hyrax/work_behavior.rb +5 -9
  310. data/app/models/concerns/hyrax/works/metadata.rb +1 -0
  311. data/app/models/content_block.rb +8 -1
  312. data/app/models/featured_work.rb +1 -0
  313. data/app/models/featured_work_list.rb +17 -16
  314. data/app/models/file_download_stat.rb +3 -1
  315. data/app/models/file_view_stat.rb +1 -0
  316. data/app/models/hyrax/access_control.rb +44 -0
  317. data/app/models/hyrax/active_job_proxy.rb +43 -0
  318. data/app/models/hyrax/administrative_set.rb +12 -0
  319. data/app/models/hyrax/avatar_validator.rb +1 -0
  320. data/app/models/hyrax/base.rb +18 -0
  321. data/app/models/hyrax/batch_create_operation.rb +3 -2
  322. data/app/models/hyrax/change_set.rb +45 -0
  323. data/app/models/hyrax/collection_type.rb +63 -49
  324. data/app/models/hyrax/collection_type_participant.rb +6 -5
  325. data/app/models/hyrax/contact_form.rb +1 -0
  326. data/app/models/hyrax/download.rb +1 -0
  327. data/app/models/hyrax/embargo.rb +21 -0
  328. data/app/models/hyrax/event.rb +30 -0
  329. data/app/models/hyrax/feature.rb +1 -0
  330. data/app/models/hyrax/file_metadata.rb +147 -0
  331. data/app/models/hyrax/file_set.rb +28 -0
  332. data/app/models/hyrax/group.rb +13 -6
  333. data/app/models/hyrax/lease.rb +21 -0
  334. data/app/models/hyrax/operation.rb +5 -4
  335. data/app/models/hyrax/orcid_validator.rb +13 -5
  336. data/app/models/hyrax/pageview.rb +1 -0
  337. data/app/models/hyrax/pcdm_collection.rb +22 -0
  338. data/app/models/hyrax/permission.rb +19 -0
  339. data/app/models/hyrax/permission_template.rb +42 -37
  340. data/app/models/hyrax/resource.rb +116 -0
  341. data/app/models/hyrax/statistic.rb +22 -17
  342. data/app/models/hyrax/uploaded_file.rb +11 -0
  343. data/app/models/hyrax/version_committer.rb +1 -0
  344. data/app/models/hyrax/virus_scanner.rb +57 -0
  345. data/app/models/hyrax/work.rb +30 -0
  346. data/app/models/hyrax/workflow_action_info.rb +3 -2
  347. data/app/models/job_io_wrapper.rb +47 -31
  348. data/app/models/proxy_deposit_request.rb +41 -33
  349. data/app/models/proxy_deposit_rights.rb +1 -0
  350. data/app/models/single_use_link.rb +21 -13
  351. data/app/models/sipity.rb +102 -0
  352. data/app/models/sipity/agent.rb +3 -3
  353. data/app/models/sipity/comment.rb +1 -0
  354. data/app/models/sipity/entity.rb +4 -3
  355. data/app/models/sipity/entity_specific_responsibility.rb +1 -0
  356. data/app/models/sipity/method.rb +1 -0
  357. data/app/models/sipity/notifiable_context.rb +2 -1
  358. data/app/models/sipity/notification.rb +2 -3
  359. data/app/models/sipity/notification_recipient.rb +1 -0
  360. data/app/models/sipity/role.rb +4 -4
  361. data/app/models/sipity/workflow.rb +19 -18
  362. data/app/models/sipity/workflow_action.rb +24 -0
  363. data/app/models/sipity/workflow_responsibility.rb +1 -0
  364. data/app/models/sipity/workflow_role.rb +1 -0
  365. data/app/models/sipity/workflow_state.rb +1 -0
  366. data/app/models/sipity/workflow_state_action.rb +1 -0
  367. data/app/models/sipity/workflow_state_action_permission.rb +1 -0
  368. data/app/models/solr_hit.rb +24 -0
  369. data/app/models/trophy.rb +1 -0
  370. data/app/models/user_mailbox.rb +15 -14
  371. data/app/models/user_stat.rb +1 -0
  372. data/app/models/vocab/fedora_resource_status.rb +5 -4
  373. data/app/models/work_view_stat.rb +1 -0
  374. data/app/presenters/hyrax/admin/dashboard_presenter.rb +1 -0
  375. data/app/presenters/hyrax/admin/repository_growth_presenter.rb +9 -8
  376. data/app/presenters/hyrax/admin/repository_object_presenter.rb +19 -18
  377. data/app/presenters/hyrax/admin/user_activity_presenter.rb +9 -8
  378. data/app/presenters/hyrax/admin/users_presenter.rb +5 -4
  379. data/app/presenters/hyrax/admin/workflow_role_presenter.rb +8 -7
  380. data/app/presenters/hyrax/admin/workflow_roles_presenter.rb +1 -0
  381. data/app/presenters/hyrax/admin_set_options_presenter.rb +37 -31
  382. data/app/presenters/hyrax/admin_set_presenter.rb +2 -1
  383. data/app/presenters/hyrax/admin_stats_presenter.rb +7 -6
  384. data/app/presenters/hyrax/characterization_behavior.rb +15 -14
  385. data/app/presenters/hyrax/collapsable_section_presenter.rb +24 -24
  386. data/app/presenters/hyrax/collection_presenter.rb +4 -3
  387. data/app/presenters/hyrax/composite_presenter_factory.rb +1 -0
  388. data/app/presenters/hyrax/dashboard/user_presenter.rb +11 -10
  389. data/app/presenters/hyrax/displays_image.rb +54 -35
  390. data/app/presenters/hyrax/embargo_presenter.rb +1 -0
  391. data/app/presenters/hyrax/file_set_presenter.rb +13 -17
  392. data/app/presenters/hyrax/file_usage.rb +7 -6
  393. data/app/presenters/hyrax/fixity_status_presenter.rb +49 -48
  394. data/app/presenters/hyrax/homepage_presenter.rb +5 -4
  395. data/app/presenters/hyrax/iiif_manifest_presenter.rb +237 -0
  396. data/app/presenters/hyrax/inspect_work_presenter.rb +18 -17
  397. data/app/presenters/hyrax/lease_presenter.rb +1 -0
  398. data/app/presenters/hyrax/member_presenter_factory.rb +21 -26
  399. data/app/presenters/hyrax/menu_presenter.rb +3 -2
  400. data/app/presenters/hyrax/model_icon.rb +1 -0
  401. data/app/presenters/hyrax/model_proxy.rb +13 -9
  402. data/app/presenters/hyrax/page_title_decorator.rb +30 -0
  403. data/app/presenters/hyrax/permission_badge.rb +14 -13
  404. data/app/presenters/hyrax/presenter_factory.rb +11 -23
  405. data/app/presenters/hyrax/presenter_renderer.rb +30 -22
  406. data/app/presenters/hyrax/presents_attributes.rb +22 -21
  407. data/app/presenters/hyrax/select_collection_type_list_presenter.rb +1 -0
  408. data/app/presenters/hyrax/select_collection_type_presenter.rb +1 -0
  409. data/app/presenters/hyrax/select_type_list_presenter.rb +4 -2
  410. data/app/presenters/hyrax/select_type_presenter.rb +17 -16
  411. data/app/presenters/hyrax/single_use_link_presenter.rb +9 -8
  412. data/app/presenters/hyrax/stats_usage_presenter.rb +28 -27
  413. data/app/presenters/hyrax/transfers_presenter.rb +9 -8
  414. data/app/presenters/hyrax/trophy_presenter.rb +2 -1
  415. data/app/presenters/hyrax/twitter_presenter.rb +1 -0
  416. data/app/presenters/hyrax/user_profile_presenter.rb +1 -0
  417. data/app/presenters/hyrax/version_list_presenter.rb +7 -6
  418. data/app/presenters/hyrax/version_presenter.rb +1 -0
  419. data/app/presenters/hyrax/work_show_presenter.rb +69 -69
  420. data/app/presenters/hyrax/work_usage.rb +4 -3
  421. data/app/presenters/hyrax/workflow_presenter.rb +10 -9
  422. data/app/renderers/hyrax/renderers.rb +1 -0
  423. data/app/renderers/hyrax/renderers/attribute_renderer.rb +38 -34
  424. data/app/renderers/hyrax/renderers/configured_microdata.rb +4 -3
  425. data/app/renderers/hyrax/renderers/date_attribute_renderer.rb +4 -3
  426. data/app/renderers/hyrax/renderers/external_link_attribute_renderer.rb +5 -4
  427. data/app/renderers/hyrax/renderers/faceted_attribute_renderer.rb +10 -9
  428. data/app/renderers/hyrax/renderers/license_attribute_renderer.rb +15 -14
  429. data/app/renderers/hyrax/renderers/linked_attribute_renderer.rb +12 -11
  430. data/app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb +16 -15
  431. data/app/search_builders/hyrax/abstract_type_relation.rb +1 -0
  432. data/app/search_builders/hyrax/admin_admin_set_member_search_builder.rb +3 -2
  433. data/app/search_builders/hyrax/admin_set_search_builder.rb +8 -7
  434. data/app/search_builders/hyrax/catalog_search_builder.rb +48 -19
  435. data/app/search_builders/hyrax/collection_member_search_builder.rb +9 -9
  436. data/app/search_builders/hyrax/collection_search_builder.rb +14 -13
  437. data/app/search_builders/hyrax/dashboard/collections_search_builder.rb +6 -5
  438. data/app/search_builders/hyrax/dashboard/managed_search_filters.rb +1 -0
  439. data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +69 -68
  440. data/app/search_builders/hyrax/dashboard/works_search_builder.rb +1 -0
  441. data/app/search_builders/hyrax/deactivated_embargo_search_builder.rb +1 -0
  442. data/app/search_builders/hyrax/deactivated_lease_search_builder.rb +1 -0
  443. data/app/search_builders/hyrax/deposit_search_builder.rb +5 -4
  444. data/app/search_builders/hyrax/embargo_search_builder.rb +1 -0
  445. data/app/search_builders/hyrax/expired_embargo_search_builder.rb +1 -0
  446. data/app/search_builders/hyrax/expired_lease_search_builder.rb +1 -0
  447. data/app/search_builders/hyrax/exposed_models_relation.rb +2 -1
  448. data/app/search_builders/hyrax/file_set_search_builder.rb +1 -0
  449. data/app/search_builders/hyrax/filter_by_type.rb +40 -40
  450. data/app/search_builders/hyrax/filter_suppressed.rb +1 -0
  451. data/app/search_builders/hyrax/filter_suppressed_with_roles.rb +26 -19
  452. data/app/search_builders/hyrax/homepage_search_builder.rb +1 -0
  453. data/app/search_builders/hyrax/lease_search_builder.rb +1 -0
  454. data/app/search_builders/hyrax/member_with_files_search_builder.rb +4 -3
  455. data/app/search_builders/hyrax/my/collections_search_builder.rb +1 -0
  456. data/app/search_builders/hyrax/my/find_works_search_builder.rb +6 -9
  457. data/app/search_builders/hyrax/my/highlights_search_builder.rb +2 -3
  458. data/app/search_builders/hyrax/my/search_builder.rb +1 -0
  459. data/app/search_builders/hyrax/my/search_builder_behavior.rb +1 -0
  460. data/app/search_builders/hyrax/my/shares_search_builder.rb +1 -0
  461. data/app/search_builders/hyrax/my/works_search_builder.rb +1 -0
  462. data/app/search_builders/hyrax/nested_collections_parent_search_builder.rb +2 -1
  463. data/app/search_builders/hyrax/parent_collection_search_builder.rb +2 -1
  464. data/app/search_builders/hyrax/search_builder.rb +1 -0
  465. data/app/search_builders/hyrax/search_filters.rb +9 -8
  466. data/app/search_builders/hyrax/single_admin_set_search_builder.rb +1 -0
  467. data/app/search_builders/hyrax/single_collection_search_builder.rb +1 -0
  468. data/app/search_builders/hyrax/single_result.rb +1 -0
  469. data/app/search_builders/hyrax/single_use_link_search_builder.rb +1 -0
  470. data/app/search_builders/hyrax/stats/work_status_search_builder.rb +4 -3
  471. data/app/search_builders/hyrax/work_relation.rb +1 -0
  472. data/app/search_builders/hyrax/work_search_builder.rb +1 -0
  473. data/app/search_builders/hyrax/works_search_builder.rb +1 -0
  474. data/app/services/hyrax/abstract_message_service.rb +4 -3
  475. data/app/services/hyrax/access_control_list.rb +218 -0
  476. data/app/services/hyrax/adapters/nesting_index_adapter.rb +12 -11
  477. data/app/services/hyrax/admin_set_create_service.rb +50 -49
  478. data/app/services/hyrax/admin_set_member_service.rb +14 -13
  479. data/app/services/hyrax/admin_set_service.rb +18 -26
  480. data/app/services/hyrax/analytics.rb +7 -6
  481. data/app/services/hyrax/batch_create_failure_service.rb +3 -2
  482. data/app/services/hyrax/batch_create_success_service.rb +3 -2
  483. data/app/services/hyrax/caching_iiif_manifest_builder.rb +57 -0
  484. data/app/services/hyrax/change_content_depositor_service.rb +33 -1
  485. data/app/services/hyrax/characterization/file_set_description.rb +45 -0
  486. data/app/services/hyrax/characterization/model_wrapper.rb +0 -0
  487. data/app/services/hyrax/child_types.rb +40 -0
  488. data/app/services/hyrax/collection_member_service.rb +1 -0
  489. data/app/services/hyrax/collection_types/create_service.rb +1 -0
  490. data/app/services/hyrax/collection_types/permissions_service.rb +9 -5
  491. data/app/services/hyrax/collections/collection_member_service.rb +43 -42
  492. data/app/services/hyrax/collections/managed_collections_service.rb +1 -0
  493. data/app/services/hyrax/collections/migration_service.rb +6 -5
  494. data/app/services/hyrax/collections/nested_collection_persistence_service.rb +3 -2
  495. data/app/services/hyrax/collections/nested_collection_query_service.rb +11 -10
  496. data/app/services/hyrax/collections/permissions_create_service.rb +3 -2
  497. data/app/services/hyrax/collections/permissions_service.rb +3 -2
  498. data/app/services/hyrax/collections/search_service.rb +1 -0
  499. data/app/services/hyrax/collections_service.rb +6 -5
  500. data/app/services/hyrax/contextual_path.rb +1 -0
  501. data/app/services/hyrax/curation_concern.rb +1 -0
  502. data/app/services/hyrax/custom_queries/find_access_control.rb +28 -0
  503. data/app/services/hyrax/custom_queries/find_by_collection_type.rb +0 -0
  504. data/app/services/hyrax/custom_queries/find_collections_by_type.rb +38 -0
  505. data/app/services/hyrax/custom_queries/find_file_metadata.rb +72 -0
  506. data/app/services/hyrax/custom_queries/find_many_by_alternate_ids.rb +33 -0
  507. data/app/services/hyrax/custom_queries/navigators/child_collections_navigator.rb +35 -0
  508. data/app/services/hyrax/custom_queries/navigators/child_filesets_navigator.rb +34 -0
  509. data/app/services/hyrax/custom_queries/navigators/child_works_navigator.rb +38 -0
  510. data/app/services/hyrax/custom_queries/navigators/collection_members.rb +47 -0
  511. data/app/services/hyrax/custom_queries/navigators/find_files.rb +88 -0
  512. data/app/services/hyrax/database_migrator.rb +13 -13
  513. data/app/services/hyrax/default_middleware_stack.rb +1 -6
  514. data/app/services/hyrax/derivative_path.rb +24 -23
  515. data/app/services/hyrax/derivative_service.rb +1 -0
  516. data/app/services/hyrax/embargo_manager.rb +204 -0
  517. data/app/services/hyrax/embargo_service.rb +4 -3
  518. data/app/services/hyrax/file_set_csv_service.rb +2 -0
  519. data/app/services/hyrax/file_set_derivatives_service.rb +61 -60
  520. data/app/services/hyrax/file_set_fixity_check_service.rb +39 -45
  521. data/app/services/hyrax/file_set_visibility_propagator.rb +41 -0
  522. data/app/services/hyrax/fixity/active_fedora_fixity_service.rb +20 -0
  523. data/app/services/hyrax/fixity/missing_content_error.rb +9 -0
  524. data/app/services/hyrax/fixity_check_failure_service.rb +3 -2
  525. data/app/services/hyrax/form_factory.rb +29 -0
  526. data/app/services/hyrax/form_metadata_service.rb +1 -0
  527. data/app/services/hyrax/graph_exporter.rb +54 -53
  528. data/app/services/hyrax/identifier/builder.rb +45 -0
  529. data/app/services/hyrax/identifier/dispatcher.rb +61 -0
  530. data/app/services/hyrax/identifier/registrar.rb +41 -0
  531. data/app/services/hyrax/iiif_authorization_service.rb +4 -3
  532. data/app/services/hyrax/import_url_failure_service.rb +2 -1
  533. data/app/services/hyrax/indexes_thumbnails.rb +2 -1
  534. data/app/services/hyrax/institution.rb +1 -0
  535. data/app/services/hyrax/lease_manager.rb +126 -0
  536. data/app/services/hyrax/lease_service.rb +4 -4
  537. data/app/services/hyrax/license_service.rb +1 -0
  538. data/app/services/hyrax/list_source_exporter.rb +17 -16
  539. data/app/services/hyrax/listeners/acl_index_listener.rb +21 -0
  540. data/app/services/hyrax/listeners/batch_notification_listener.rb +26 -0
  541. data/app/services/hyrax/listeners/file_set_lifecycle_listener.rb +22 -0
  542. data/app/services/hyrax/listeners/file_set_lifecycle_notification_listener.rb +34 -0
  543. data/app/services/hyrax/listeners/metadata_index_listener.rb +23 -0
  544. data/app/services/hyrax/listeners/object_lifecycle_listener.rb +27 -0
  545. data/app/services/hyrax/local_file_service.rb +1 -0
  546. data/app/services/hyrax/lock_manager.rb +1 -0
  547. data/app/services/hyrax/lockable.rb +1 -0
  548. data/app/services/hyrax/manifest_builder_service.rb +88 -0
  549. data/app/services/hyrax/messenger_service.rb +1 -0
  550. data/app/services/hyrax/microdata.rb +22 -21
  551. data/app/services/hyrax/multiple_membership_checker.rb +24 -23
  552. data/app/services/hyrax/noid.rb +4 -3
  553. data/app/services/hyrax/permission_manager.rb +199 -0
  554. data/app/services/hyrax/persist_derivatives.rb +1 -0
  555. data/app/services/hyrax/persist_directly_contained_output_file_service.rb +2 -1
  556. data/app/services/hyrax/qa_select_service.rb +2 -1
  557. data/app/services/hyrax/query_service.rb +0 -0
  558. data/app/services/hyrax/quick_classification_query.rb +21 -9
  559. data/app/services/hyrax/repository_fixity_check_service.rb +1 -0
  560. data/app/services/hyrax/resource_status.rb +60 -0
  561. data/app/services/hyrax/resource_types_service.rb +1 -0
  562. data/app/services/hyrax/resource_visibility_propagator.rb +52 -0
  563. data/app/services/hyrax/restriction_service.rb +14 -13
  564. data/app/services/hyrax/rights_statement_service.rb +1 -0
  565. data/app/services/hyrax/simple_schema_loader.rb +152 -0
  566. data/app/services/hyrax/solr_query_builder_service.rb +72 -0
  567. data/app/services/hyrax/solr_service.rb +154 -0
  568. data/app/services/hyrax/statistics/collections/over_time.rb +4 -3
  569. data/app/services/hyrax/statistics/depositors/summary.rb +24 -23
  570. data/app/services/hyrax/statistics/file_sets/by_format.rb +5 -4
  571. data/app/services/hyrax/statistics/over_time.rb +17 -16
  572. data/app/services/hyrax/statistics/query_service.rb +7 -6
  573. data/app/services/hyrax/statistics/system_stats.rb +9 -8
  574. data/app/services/hyrax/statistics/term_query.rb +8 -12
  575. data/app/services/hyrax/statistics/users/over_time.rb +8 -7
  576. data/app/services/hyrax/statistics/works/by_depositor.rb +4 -3
  577. data/app/services/hyrax/statistics/works/by_resource_type.rb +4 -3
  578. data/app/services/hyrax/statistics/works/count.rb +12 -11
  579. data/app/services/hyrax/statistics/works/over_time.rb +4 -3
  580. data/app/services/hyrax/thumbnail_path_service.rb +33 -31
  581. data/app/services/hyrax/time_service.rb +1 -0
  582. data/app/services/hyrax/user_stat_importer.rb +83 -82
  583. data/app/services/hyrax/versioning_service.rb +75 -19
  584. data/app/services/hyrax/virus_checker_service.rb +53 -0
  585. data/app/services/hyrax/visibility_intention.rb +78 -0
  586. data/app/services/hyrax/visibility_intention_applicator.rb +43 -0
  587. data/app/services/hyrax/visibility_map.rb +65 -0
  588. data/app/services/hyrax/visibility_propagator.rb +20 -0
  589. data/app/services/hyrax/visibility_reader.rb +47 -0
  590. data/app/services/hyrax/visibility_writer.rb +50 -0
  591. data/app/services/hyrax/work_form_service.rb +3 -0
  592. data/app/services/hyrax/work_query_service.rb +14 -13
  593. data/app/services/hyrax/work_thumbnail_path_service.rb +1 -0
  594. data/app/services/hyrax/workflow/abstract_notification.rb +18 -17
  595. data/app/services/hyrax/workflow/action_taken_service.rb +1 -0
  596. data/app/services/hyrax/workflow/activate_object.rb +1 -0
  597. data/app/services/hyrax/workflow/changes_required_notification.rb +13 -10
  598. data/app/services/hyrax/workflow/deactivate_object.rb +1 -0
  599. data/app/services/hyrax/workflow/deposited_notification.rb +12 -10
  600. data/app/services/hyrax/workflow/grant_edit_to_depositor.rb +1 -0
  601. data/app/services/hyrax/workflow/grant_read_to_depositor.rb +1 -0
  602. data/app/services/hyrax/workflow/invalid_state_removal_exception.rb +1 -0
  603. data/app/services/hyrax/workflow/method_generator.rb +18 -17
  604. data/app/services/hyrax/workflow/notification_configuration_parameter.rb +1 -0
  605. data/app/services/hyrax/workflow/notification_generator.rb +26 -25
  606. data/app/services/hyrax/workflow/notification_service.rb +1 -0
  607. data/app/services/hyrax/workflow/pending_review_notification.rb +12 -9
  608. data/app/services/hyrax/workflow/permission_generator.rb +41 -40
  609. data/app/services/hyrax/workflow/permission_query.rb +31 -18
  610. data/app/services/hyrax/workflow/revoke_edit_from_depositor.rb +1 -0
  611. data/app/services/hyrax/workflow/sipity_actions_generator.rb +47 -46
  612. data/app/services/hyrax/workflow/state_machine_generator.rb +53 -52
  613. data/app/services/hyrax/workflow/status_list_service.rb +27 -26
  614. data/app/services/hyrax/workflow/workflow_action_service.rb +29 -28
  615. data/app/services/hyrax/workflow/workflow_factory.rb +33 -27
  616. data/app/services/hyrax/workflow/workflow_importer.rb +58 -44
  617. data/app/services/hyrax/workflow/workflow_permissions_generator.rb +13 -12
  618. data/app/services/hyrax/workflow/workflow_schema.rb +28 -94
  619. data/app/services/hyrax/working_directory.rb +17 -16
  620. data/app/services/hyrax/works/managed_works_service.rb +1 -0
  621. data/app/services/hyrax/works/migration_service.rb +34 -0
  622. data/app/strategies/hyrax/strategies/yaml_strategy.rb +13 -12
  623. data/app/uploaders/hyrax/avatar_uploader.rb +1 -0
  624. data/app/uploaders/hyrax/uploaded_file_uploader.rb +7 -6
  625. data/app/validators/hyrax/has_one_title_validator.rb +1 -0
  626. data/app/values/hyrax/chart_data.rb +14 -13
  627. data/app/views/_masthead.html.erb +3 -2
  628. data/app/views/catalog/_index_list_default.html.erb +3 -3
  629. data/app/views/hyrax/admin/admin_sets/_form.html.erb +6 -5
  630. data/app/views/hyrax/admin/admin_sets/_form_participant_table.html.erb +2 -2
  631. data/app/views/hyrax/admin/admin_sets/_form_participants.html.erb +57 -52
  632. data/app/views/hyrax/admin/admin_sets/_form_visibility.html.erb +5 -4
  633. data/app/views/hyrax/admin/admin_sets/_form_workflow.erb +1 -1
  634. data/app/views/hyrax/admin/admin_sets/_show_actions.html.erb +3 -2
  635. data/app/views/hyrax/admin/admin_sets/index.json.jbuilder +1 -0
  636. data/app/views/hyrax/base/_attribute_rows.html.erb +4 -1
  637. data/app/views/hyrax/base/_attributes.html.erb +3 -3
  638. data/app/views/hyrax/base/_citations.html.erb +4 -4
  639. data/app/views/hyrax/base/_file_manager_actions.html.erb +2 -2
  640. data/app/views/hyrax/base/_file_manager_member_resource_options.html.erb +2 -2
  641. data/app/views/hyrax/base/_form.html.erb +2 -2
  642. data/app/views/hyrax/base/_form_child_work_relationships.html.erb +2 -2
  643. data/app/views/hyrax/base/_form_files.html.erb +13 -11
  644. data/app/views/hyrax/base/_form_member_of_collections.html.erb +2 -2
  645. data/app/views/hyrax/base/_form_permission.html.erb +3 -4
  646. data/app/views/hyrax/base/_form_progress.html.erb +6 -2
  647. data/app/views/hyrax/base/_form_relationships.html.erb +1 -1
  648. data/app/views/hyrax/base/_form_share.html.erb +17 -16
  649. data/app/views/hyrax/base/_form_visibility_component.html.erb +3 -3
  650. data/app/views/hyrax/base/_guts4form.html.erb +0 -1
  651. data/app/views/hyrax/base/_items.html.erb +1 -1
  652. data/app/views/hyrax/base/_metadata.html.erb +2 -3
  653. data/app/views/hyrax/base/_relationships.html.erb +1 -2
  654. data/app/views/hyrax/base/_show_actions.html.erb +31 -24
  655. data/app/views/hyrax/base/_social_media.html.erb +6 -16
  656. data/app/views/hyrax/base/_work_button_row.html.erb +49 -0
  657. data/app/views/hyrax/base/_work_title.erb +13 -18
  658. data/app/views/hyrax/base/_work_type.html.erb +2 -2
  659. data/app/views/hyrax/base/_workflow_actions.html.erb +4 -4
  660. data/app/views/hyrax/base/edit.html.erb +1 -1
  661. data/app/views/hyrax/base/file_manager.html.erb +2 -2
  662. data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +5 -2
  663. data/app/views/hyrax/base/inspect_work.html.erb +13 -13
  664. data/app/views/hyrax/base/new.html.erb +1 -1
  665. data/app/views/hyrax/base/show.html.erb +26 -12
  666. data/app/views/hyrax/base/show.json.jbuilder +5 -1
  667. data/app/views/hyrax/base/unauthorized.html.erb +4 -4
  668. data/app/views/hyrax/batch_edits/_check_all.html.erb +2 -2
  669. data/app/views/hyrax/batch_edits/_delete_selected.html.erb +1 -1
  670. data/app/views/hyrax/batch_edits/edit.html.erb +11 -11
  671. data/app/views/hyrax/batch_select/_add_button.html.erb +1 -1
  672. data/app/views/hyrax/batch_uploads/_form.html.erb +1 -1
  673. data/app/views/hyrax/citations/work.html.erb +1 -1
  674. data/app/views/hyrax/collections/_list_collections.html.erb +1 -1
  675. data/app/views/hyrax/collections/_media_display.html.erb +1 -1
  676. data/app/views/hyrax/collections/_search_form.html.erb +1 -1
  677. data/app/views/hyrax/collections/_show_descriptions.html.erb +5 -5
  678. data/app/views/hyrax/collections/_show_document_list.html.erb +1 -1
  679. data/app/views/hyrax/collections/_show_document_list_row.html.erb +2 -2
  680. data/app/views/hyrax/collections/_sort_and_per_page.html.erb +6 -6
  681. data/app/views/hyrax/collections/show.html.erb +12 -11
  682. data/app/views/hyrax/contact_form/new.html.erb +1 -3
  683. data/app/views/hyrax/dashboard/_index_partials/_transfers.html.erb +2 -2
  684. data/app/views/hyrax/dashboard/_sidebar.html.erb +1 -1
  685. data/app/views/hyrax/dashboard/collections/_collection_title.html.erb +2 -2
  686. data/app/views/hyrax/dashboard/collections/_default_group.html.erb +1 -1
  687. data/app/views/hyrax/dashboard/collections/_form.html.erb +6 -5
  688. data/app/views/hyrax/dashboard/collections/_form_branding.html.erb +10 -10
  689. data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +1 -1
  690. data/app/views/hyrax/dashboard/collections/_form_share.html.erb +68 -70
  691. data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +3 -2
  692. data/app/views/hyrax/dashboard/collections/_list_works.html.erb +1 -1
  693. data/app/views/hyrax/dashboard/collections/_show_descriptions.html.erb +4 -4
  694. data/app/views/hyrax/dashboard/collections/_show_document_list.html.erb +6 -6
  695. data/app/views/hyrax/dashboard/collections/_show_document_list_menu.html.erb +1 -1
  696. data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +5 -5
  697. data/app/views/hyrax/dashboard/collections/_sort_and_per_page.html.erb +4 -5
  698. data/app/views/hyrax/dashboard/collections/_work_action_menu.html.erb +8 -8
  699. data/app/views/hyrax/dashboard/collections/show.html.erb +9 -8
  700. data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +8 -8
  701. data/app/views/hyrax/dashboard/show_admin.html.erb +8 -8
  702. data/app/views/hyrax/dashboard/show_user.html.erb +4 -4
  703. data/app/views/hyrax/dashboard/sidebar/_activity.html.erb +2 -0
  704. data/app/views/hyrax/dashboard/sidebar/_configuration.html.erb +4 -1
  705. data/app/views/hyrax/dashboard/sidebar/_menu_partials.html.erb +3 -0
  706. data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +4 -0
  707. data/app/views/hyrax/dashboard/sidebar/_tasks.html.erb +10 -4
  708. data/app/views/hyrax/dashboard/works/_default_group.html.erb +4 -4
  709. data/app/views/hyrax/dashboard/works/_list_works.html.erb +3 -3
  710. data/app/views/hyrax/depositors/_modal_proxy_deny.html.erb +14 -0
  711. data/app/views/hyrax/depositors/index.html.erb +3 -0
  712. data/app/views/hyrax/embargoes/_list_expired_active_embargoes.html.erb +1 -1
  713. data/app/views/hyrax/file_sets/_actions.html.erb +1 -1
  714. data/app/views/hyrax/file_sets/_asset_deleted_flash.html.erb +1 -1
  715. data/app/views/hyrax/file_sets/_asset_saved_flash.html.erb +5 -6
  716. data/app/views/hyrax/file_sets/_asset_updated_flash.html.erb +2 -1
  717. data/app/views/hyrax/file_sets/_descriptions.html.erb +2 -2
  718. data/app/views/hyrax/file_sets/_extra_fields_modal.html.erb +3 -3
  719. data/app/views/hyrax/file_sets/_form.html.erb +1 -1
  720. data/app/views/hyrax/file_sets/_permission.html.erb +2 -1
  721. data/app/views/hyrax/file_sets/_permission_form.html.erb +12 -12
  722. data/app/views/hyrax/file_sets/_show_actions.html.erb +6 -4
  723. data/app/views/hyrax/file_sets/_show_details.html.erb +7 -7
  724. data/app/views/hyrax/file_sets/_single_use_link_rows.html.erb +1 -1
  725. data/app/views/hyrax/file_sets/_versioning.html.erb +56 -10
  726. data/app/views/hyrax/file_sets/edit.html.erb +5 -4
  727. data/app/views/hyrax/file_sets/media_display/_audio.html.erb +2 -2
  728. data/app/views/hyrax/file_sets/media_display/_video.html.erb +2 -2
  729. data/app/views/hyrax/file_sets/proxy.html.erb +2 -2
  730. data/app/views/hyrax/file_sets/show.json.jbuilder +1 -0
  731. data/app/views/hyrax/homepage/_announcement.html.erb +2 -2
  732. data/app/views/hyrax/homepage/_explore_collections.html.erb +1 -1
  733. data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
  734. data/app/views/hyrax/homepage/_home_content.html.erb +8 -8
  735. data/app/views/hyrax/homepage/_marketing.html.erb +1 -1
  736. data/app/views/hyrax/homepage/_recent_document.html.erb +1 -1
  737. data/app/views/hyrax/homepage/_sortable_featured.html.erb +1 -0
  738. data/app/views/hyrax/homepage/index.html.erb +21 -23
  739. data/app/views/hyrax/my/_sort_and_per_page.html.erb +1 -1
  740. data/app/views/hyrax/my/collections/_default_group.html.erb +1 -1
  741. data/app/views/hyrax/my/collections/_list_collections.html.erb +3 -2
  742. data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +1 -1
  743. data/app/views/hyrax/my/collections/_modal_delete_selected_collections.html.erb +4 -1
  744. data/app/views/hyrax/my/collections/_tabs.html.erb +3 -4
  745. data/app/views/hyrax/my/collections/index.html.erb +1 -1
  746. data/app/views/hyrax/my/index.html.erb +1 -1
  747. data/app/views/hyrax/my/works/_default_group.html.erb +4 -4
  748. data/app/views/hyrax/my/works/_list_works.html.erb +5 -5
  749. data/app/views/hyrax/my/works/_tabs.html.erb +1 -1
  750. data/app/views/hyrax/my/works/index.html.erb +1 -1
  751. data/app/views/hyrax/notifications/index.html.erb +1 -1
  752. data/app/views/hyrax/operations/index.html.erb +4 -4
  753. data/app/views/hyrax/pages/_form.html.erb +61 -60
  754. data/app/views/hyrax/permissions/confirm_access.html.erb +1 -1
  755. data/app/views/hyrax/single_use_links_viewer/single_use_error.html.erb +3 -7
  756. data/app/views/hyrax/static/mendeley.html.erb +2 -4
  757. data/app/views/hyrax/static/zotero.html.erb +2 -4
  758. data/app/views/hyrax/transfers/_received.html.erb +10 -10
  759. data/app/views/hyrax/transfers/_sent.html.erb +6 -6
  760. data/app/views/hyrax/uploads/_js_templates.html.erb +7 -7
  761. data/app/views/hyrax/uploads/_js_templates_branding.html.erb +8 -8
  762. data/app/views/hyrax/uploads/_js_templates_versioning.html.erb +172 -0
  763. data/app/views/hyrax/uploads/create.json.jbuilder +1 -0
  764. data/app/views/hyrax/users/_activity_log.html.erb +25 -22
  765. data/app/views/hyrax/users/_left_sidebar.html.erb +1 -1
  766. data/app/views/hyrax/users/_profile_tabs.html.erb +1 -1
  767. data/app/views/hyrax/users/_proxies.html.erb +1 -1
  768. data/app/views/hyrax/users/_search_form.html.erb +3 -3
  769. data/app/views/hyrax/users/_vitals.html.erb +3 -3
  770. data/app/views/hyrax/users/index.html.erb +6 -6
  771. data/app/views/hyrax/users/index.json.jbuilder +1 -0
  772. data/app/views/layouts/hyrax.html.erb +17 -3
  773. data/app/views/records/edit_fields/_abstract.html.erb +5 -0
  774. data/app/views/records/edit_fields/_access_right.html.erb +5 -0
  775. data/app/views/records/show_fields/_based_near.html.erb +1 -1
  776. data/app/views/records/show_fields/_creator.html.erb +1 -1
  777. data/app/views/records/show_fields/_keyword.html.erb +1 -1
  778. data/app/views/records/show_fields/_language.html.erb +1 -1
  779. data/app/views/records/show_fields/_publisher.html.erb +1 -1
  780. data/app/views/records/show_fields/_resource_type.html.erb +1 -1
  781. data/app/views/records/show_fields/_subject.html.erb +1 -1
  782. data/app/views/shared/_citations.html.erb +17 -0
  783. data/app/views/shared/_nav_safety_modal.html.erb +1 -0
  784. data/config/features.rb +6 -5
  785. data/config/initializers/1_healthz.rb +33 -0
  786. data/config/initializers/indexing_adapter_initializer.rb +14 -0
  787. data/config/initializers/listeners.rb +43 -0
  788. data/config/initializers/{samvera-nesting_indexer_initializer.rb → nesting_indexer_initializer.rb} +5 -5
  789. data/config/initializers/simple_form.rb +1 -0
  790. data/config/initializers/valkyrie_id_equality.rb +3 -0
  791. data/config/locales/hyrax.de.yml +382 -50
  792. data/config/locales/hyrax.en.yml +387 -2
  793. data/config/locales/hyrax.es.yml +340 -1
  794. data/config/locales/hyrax.fr.yml +339 -0
  795. data/config/locales/hyrax.it.yml +339 -0
  796. data/config/locales/hyrax.pt-BR.yml +350 -11
  797. data/config/locales/hyrax.zh.yml +339 -0
  798. data/config/metadata/basic_metadata.yaml +113 -0
  799. data/config/metadata/core_metadata.yaml +17 -0
  800. data/config/routes.rb +1 -0
  801. data/hyrax.gemspec +21 -18
  802. data/lib/generators/hyrax/arkivo_api_generator.rb +1 -0
  803. data/lib/generators/hyrax/assets_generator.rb +4 -3
  804. data/lib/generators/hyrax/clamav_generator.rb +1 -0
  805. data/lib/generators/hyrax/collection_generator.rb +1 -0
  806. data/lib/generators/hyrax/config_generator.rb +7 -0
  807. data/lib/generators/hyrax/health_check_generator.rb +14 -0
  808. data/lib/generators/hyrax/install_generator.rb +11 -0
  809. data/lib/generators/hyrax/models_generator.rb +4 -3
  810. data/lib/generators/hyrax/riiif_generator.rb +3 -2
  811. data/lib/generators/hyrax/sample_data_generator.rb +1 -0
  812. data/lib/generators/hyrax/templates/app/models/collection.rb +1 -0
  813. data/lib/generators/hyrax/templates/app/models/file_set.rb +1 -0
  814. data/lib/generators/hyrax/templates/catalog_controller.rb +77 -75
  815. data/lib/generators/hyrax/templates/config/action_dispatch_http_upload_monkey_patch.rb +1 -0
  816. data/lib/generators/hyrax/templates/config/analytics.yml +5 -5
  817. data/lib/generators/hyrax/templates/config/arkivo_constraint.rb +1 -0
  818. data/lib/generators/hyrax/templates/config/clamav.rb +1 -0
  819. data/lib/generators/hyrax/templates/config/initializers/hyrax.rb +23 -3
  820. data/lib/generators/hyrax/templates/config/initializers/mini_magick.rb +1 -0
  821. data/lib/generators/hyrax/templates/config/initializers/redis_config.rb +1 -0
  822. data/lib/generators/hyrax/templates/config/initializers/riiif.rb +6 -5
  823. data/lib/generators/hyrax/templates/config/initializers/simple_form.rb +1 -0
  824. data/lib/generators/hyrax/templates/config/initializers/simple_form_bootstrap.rb +1 -0
  825. data/lib/generators/hyrax/templates/config/locales/hyrax.pt-BR.yml +10 -10
  826. data/lib/generators/hyrax/templates/config/mime_types.rb +1 -0
  827. data/lib/generators/hyrax/templates/config/redis.yml +6 -6
  828. data/lib/generators/hyrax/templates/config/solr_wrapper_valkyrie_test.yml +7 -0
  829. data/lib/generators/hyrax/templates/config/valkyrie_index.yml +12 -0
  830. data/lib/generators/hyrax/templates/db/migrate/20180612002029_update_single_use_links_column_names.rb.erb +6 -0
  831. data/lib/generators/hyrax/templates/db/migrate/20200617002029_change_sipity_entity_specific_responsibility.rb.erb +9 -0
  832. data/lib/generators/hyrax/templates/db/seeds.rb +1 -0
  833. data/lib/generators/hyrax/templates/hyrax.scss +1 -0
  834. data/lib/generators/hyrax/templates/hyrax_helper.rb +1 -0
  835. data/lib/generators/hyrax/templates/package.json +17 -0
  836. data/lib/generators/hyrax/templates/spec/models/collection_spec.rb +1 -0
  837. data/lib/generators/hyrax/templates/spec/models/file_set_spec.rb +1 -0
  838. data/lib/generators/hyrax/templates/uv-config.json +3 -0
  839. data/lib/generators/hyrax/templates/uv.html +87 -0
  840. data/lib/generators/hyrax/work/USAGE +10 -5
  841. data/lib/generators/hyrax/work/templates/feature_spec.rb.erb +1 -2
  842. data/lib/generators/hyrax/work/templates/locale.pt-BR.yml.erb +1 -1
  843. data/lib/generators/hyrax/work/work_generator.rb +15 -14
  844. data/lib/generators/hyrax/work_resource/USAGE +17 -0
  845. data/lib/generators/hyrax/work_resource/templates/controller.rb.erb +22 -0
  846. data/lib/generators/hyrax/work_resource/templates/form.rb.erb +20 -0
  847. data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +16 -0
  848. data/lib/generators/hyrax/work_resource/templates/indexer_spec.rb.erb +12 -0
  849. data/lib/generators/hyrax/work_resource/templates/metadata.yaml +22 -0
  850. data/lib/generators/hyrax/work_resource/templates/work.html.erb_spec.rb.erb +6 -0
  851. data/lib/generators/hyrax/work_resource/templates/work.rb.erb +8 -0
  852. data/lib/generators/hyrax/work_resource/templates/work_spec.rb.erb +12 -0
  853. data/lib/generators/hyrax/work_resource/work_resource_generator.rb +112 -0
  854. data/lib/hyrax.rb +60 -2
  855. data/lib/hyrax/arkivo.rb +1 -0
  856. data/lib/hyrax/arkivo/actor.rb +49 -48
  857. data/lib/hyrax/arkivo/config.rb +1 -0
  858. data/lib/hyrax/arkivo/create_subscription_job.rb +31 -30
  859. data/lib/hyrax/arkivo/metadata_munger.rb +20 -19
  860. data/lib/hyrax/arkivo/schema_validator.rb +1 -0
  861. data/lib/hyrax/callbacks.rb +1 -0
  862. data/lib/hyrax/callbacks/registry.rb +20 -3
  863. data/lib/hyrax/collection_name.rb +15 -0
  864. data/lib/hyrax/configuration.rb +124 -27
  865. data/lib/hyrax/controlled_vocabularies.rb +1 -0
  866. data/lib/hyrax/controlled_vocabularies/location.rb +1 -0
  867. data/lib/hyrax/controlled_vocabulary/importer/downloader.rb +1 -0
  868. data/lib/hyrax/controlled_vocabulary/importer/language.rb +2 -1
  869. data/lib/hyrax/controller_resource.rb +5 -4
  870. data/lib/hyrax/engine.rb +27 -15
  871. data/lib/hyrax/errors.rb +5 -0
  872. data/lib/hyrax/event_store.rb +81 -0
  873. data/lib/hyrax/form_fields.rb +55 -0
  874. data/lib/hyrax/health_checks.rb +4 -0
  875. data/lib/hyrax/health_checks/solr_check.rb +24 -0
  876. data/lib/hyrax/indexer.rb +27 -0
  877. data/lib/hyrax/inflections.rb +1 -0
  878. data/lib/hyrax/model_decorator.rb +31 -0
  879. data/lib/hyrax/move_all_works_to_admin_set.rb +1 -0
  880. data/lib/hyrax/name.rb +2 -1
  881. data/lib/hyrax/publisher.rb +64 -0
  882. data/lib/hyrax/rails/routes.rb +24 -28
  883. data/lib/hyrax/redis_event_store.rb +25 -12
  884. data/lib/hyrax/resource_name.rb +18 -0
  885. data/lib/hyrax/resource_sync.rb +1 -0
  886. data/lib/hyrax/resource_sync/capability_list_writer.rb +15 -14
  887. data/lib/hyrax/resource_sync/change_list_writer.rb +58 -58
  888. data/lib/hyrax/resource_sync/resource_list_writer.rb +46 -45
  889. data/lib/hyrax/resource_sync/source_description_writer.rb +11 -10
  890. data/lib/hyrax/role_registry.rb +7 -6
  891. data/lib/hyrax/schema.rb +92 -0
  892. data/lib/hyrax/search_state.rb +1 -0
  893. data/lib/hyrax/specs/shared_specs.rb +4 -0
  894. data/lib/hyrax/specs/shared_specs/factories/strategies/valkyrie_resource.rb +32 -0
  895. data/lib/hyrax/specs/shared_specs/hydra_works.rb +292 -0
  896. data/lib/hyrax/specs/shared_specs/identifiers.rb +27 -0
  897. data/lib/hyrax/specs/shared_specs/indexers.rb +175 -0
  898. data/lib/hyrax/specs/shared_specs/metadata.rb +30 -0
  899. data/lib/hyrax/specs/spy_listener.rb +39 -0
  900. data/lib/hyrax/transactions.rb +2 -7
  901. data/lib/hyrax/transactions/apply_change_set.rb +47 -0
  902. data/lib/hyrax/transactions/container.rb +75 -3
  903. data/lib/hyrax/transactions/create_work.rb +16 -1
  904. data/lib/hyrax/transactions/destroy_work.rb +25 -0
  905. data/lib/hyrax/transactions/steps/add_to_collections.rb +36 -0
  906. data/lib/hyrax/transactions/steps/apply_collection_permission_template.rb +32 -0
  907. data/lib/hyrax/transactions/steps/apply_permission_template.rb +2 -1
  908. data/lib/hyrax/transactions/steps/apply_visibility.rb +39 -0
  909. data/lib/hyrax/transactions/steps/destroy_work.rb +24 -0
  910. data/lib/hyrax/transactions/steps/ensure_admin_set.rb +5 -5
  911. data/lib/hyrax/transactions/steps/save.rb +45 -0
  912. data/lib/hyrax/transactions/steps/set_default_admin_set.rb +10 -9
  913. data/lib/hyrax/transactions/steps/set_modified_date.rb +16 -7
  914. data/lib/hyrax/transactions/steps/set_uploaded_date_unless_present.rb +58 -0
  915. data/lib/hyrax/transactions/steps/set_user_as_depositor.rb +41 -0
  916. data/lib/hyrax/transactions/steps/validate.rb +36 -0
  917. data/lib/hyrax/transactions/transaction.rb +161 -0
  918. data/lib/hyrax/transactions/update_work.rb +16 -0
  919. data/lib/hyrax/transactions/work_create.rb +24 -0
  920. data/lib/hyrax/valkyrie_can_can_adapter.rb +25 -0
  921. data/lib/hyrax/version.rb +2 -1
  922. data/lib/hyrax/zotero.rb +1 -0
  923. data/lib/hyrax/zotero/config.rb +1 -0
  924. data/lib/tasks/controlled_vocabularies.rake +1 -0
  925. data/lib/tasks/default_admin_set.rake +1 -0
  926. data/lib/tasks/default_collection_type.rake +1 -0
  927. data/lib/tasks/hyrax.rake +1 -0
  928. data/lib/tasks/hyrax_user.rake +1 -0
  929. data/lib/tasks/install.rake +1 -0
  930. data/lib/tasks/migrate.rake +7 -0
  931. data/lib/tasks/reindex.rake +1 -0
  932. data/lib/tasks/stats_tasks.rake +1 -0
  933. data/lib/tasks/universal_viewer.rake +16 -0
  934. data/lib/tasks/workflow.rake +1 -0
  935. data/lib/valkyrie/indexing/null_indexing_adapter.rb +31 -0
  936. data/lib/valkyrie/indexing/solr/indexing_adapter.rb +97 -0
  937. data/lib/valkyrie/indexing_adapter.rb +29 -0
  938. data/lib/wings.rb +134 -0
  939. data/lib/wings/active_fedora_classifier.rb +16 -0
  940. data/lib/wings/active_fedora_converter.rb +217 -0
  941. data/lib/wings/attribute_transformer.rb +30 -0
  942. data/lib/wings/converter_value_mapper.rb +197 -0
  943. data/lib/wings/hydra/pcdm/models/concerns/collection_valkyrie_behavior.rb +28 -0
  944. data/lib/wings/hydra/pcdm/models/concerns/object_valkyrie_behavior.rb +28 -0
  945. data/lib/wings/hydra/pcdm/models/concerns/pcdm_valkyrie_behavior.rb +171 -0
  946. data/lib/wings/hydra/works/models/concerns/collection_valkyrie_behavior.rb +31 -0
  947. data/lib/wings/hydra/works/models/concerns/file_set_valkyrie_behavior.rb +31 -0
  948. data/lib/wings/hydra/works/models/concerns/work_valkyrie_behavior.rb +60 -0
  949. data/lib/wings/hydra/works/services/add_file_to_file_set.rb +57 -0
  950. data/lib/wings/model_registry.rb +54 -0
  951. data/lib/wings/model_transformer.rb +169 -0
  952. data/lib/wings/models/concerns/collection_behavior.rb +39 -0
  953. data/lib/wings/models/multi_checksum.rb +18 -0
  954. data/lib/wings/orm_converter.rb +102 -0
  955. data/lib/wings/services/custom_queries/find_access_control.rb +42 -0
  956. data/lib/wings/services/custom_queries/find_collections_by_type.rb +27 -0
  957. data/lib/wings/services/custom_queries/find_file_metadata.rb +90 -0
  958. data/lib/wings/services/custom_queries/find_many_by_alternate_ids.rb +35 -0
  959. data/lib/wings/services/file_converter_service.rb +68 -0
  960. data/lib/wings/services/file_metadata_builder.rb +90 -0
  961. data/lib/wings/services/id_converter_service.rb +15 -0
  962. data/lib/wings/setup.rb +49 -0
  963. data/lib/wings/transformer_value_mapper.rb +78 -0
  964. data/lib/wings/valkyrie/metadata_adapter.rb +29 -0
  965. data/lib/wings/valkyrie/persister.rb +113 -0
  966. data/lib/wings/valkyrie/query_service.rb +176 -0
  967. data/lib/wings/valkyrie/resource_factory.rb +45 -0
  968. data/lib/wings/valkyrie/storage/active_fedora.rb +27 -0
  969. data/lib/wings/valkyrizable.rb +24 -0
  970. data/tasks/hyrax_dev.rake +4 -1
  971. data/template.rb +2 -1
  972. metadata +332 -114
  973. data/app/presenters/hyrax/collection_options_presenter.rb +0 -31
  974. data/app/services/hyrax/collection_size_service.rb +0 -52
  975. data/config/initializers/hyrax_callbacks.rb +0 -43
  976. data/lib/hyrax/transactions/steps/set_uploaded_date.rb +0 -28
@@ -18,9 +18,11 @@ fr:
18
18
  fields:
19
19
  facet:
20
20
  admin_set_sim: Collection
21
+ collection_type_gid_ssim: Type de collection
21
22
  member_of_collections_ssim: Collection
22
23
  resource_type_sim: Type de ressource
23
24
  suppressed_bsi: Statut
25
+ visibility_ssi: Visibilité
24
26
  show:
25
27
  admin_set: 'Dans l''ensemble administratif:'
26
28
  based_near_label: Emplacement
@@ -38,6 +40,7 @@ fr:
38
40
  extension_whitelist_error: 'Vous n''êtes pas autorisé à télécharger des fichiers %{extension}, types autorisés: %{allowed_types}'
39
41
  helpers:
40
42
  action:
43
+ accept: Acceptez
41
44
  add: Ajouter
42
45
  admin_set:
43
46
  new: Créer un nouvel ensemble administratif
@@ -265,6 +268,7 @@ fr:
265
268
  collections: Collections
266
269
  configuration: Configuration
267
270
  content_blocks: Blocs de contenu
271
+ delete_all: Supprimer tout
268
272
  notifications: Notifications
269
273
  pages: Pages
270
274
  profile: Profil
@@ -279,6 +283,7 @@ fr:
279
283
  workflow_review: Soumissions de révision
280
284
  workflow_roles: Rôles de workflow
281
285
  works: Travaux
286
+ works_listing: Liste des travaux
282
287
  stats:
283
288
  deposited_form:
284
289
  end_label: Fin [par défaut pour maintenant]
@@ -346,11 +351,33 @@ fr:
346
351
  default: La ressource que vous avez tenté de modifier ne peut pas être modifiée selon votre demande.
347
352
  background_attribution_html: ''
348
353
  base:
354
+ attributes:
355
+ table_attribute_name: Nom d'attribut
356
+ table_heading_attributes: Les attributs
357
+ table_values: Valeur
358
+ visibility: Visibilité
349
359
  citations:
360
+ citations: Citations
361
+ endnote: EndNote
350
362
  header: 'Citations:'
363
+ mendeley: Mendeley
364
+ zotero: Zotero
365
+ file_manager:
366
+ back_to: Revenir à
367
+ toolbar: Outils
368
+ file_manager_actions:
369
+ save: Enregistrer
370
+ sort_alphabetically: Trier par ordre alphabétique
371
+ file_manager_member_resource_options:
372
+ representative_media: Média représentatif
373
+ thumbnail: Miniature
374
+ form:
375
+ batch_link: Envoi par lot
376
+ batch_upload_hint: Pour créer un travail séparé pour chacun des fichiers, allez à
351
377
  form_child_work_relationships:
352
378
  actions:
353
379
  remove: Supprimer de ce travail
380
+ add: Ajouter
354
381
  attach_new_work: Déposer un nouveau travail en tant qu'enfant de ce travail
355
382
  caption: Ce travail contient actuellement ces travaux d'enfants
356
383
  confirm:
@@ -361,6 +388,9 @@ fr:
361
388
  actions: action
362
389
  title: Titre du travail
363
390
  form_files:
391
+ add_files: Ajouter des fichiers
392
+ add_folder: Ajouter un dossier
393
+ cancel_upload: Annuler le téléchargement
364
394
  dropzone: Déposez les fichiers ici.
365
395
  local_upload_browse_everything_html: |
366
396
  <p>Vous pouvez ajouter un ou plusieurs fichiers à associer à ce travail.</p>
@@ -373,6 +403,7 @@ fr:
373
403
  form_member_of_collections:
374
404
  actions:
375
405
  remove: Supprimer de la collection
406
+ add: Ajouter
376
407
  caption: Ce travail est actuellement dans ces collections
377
408
  confirm:
378
409
  cancel: Annuler
@@ -381,6 +412,8 @@ fr:
381
412
  header:
382
413
  actions: action
383
414
  title: Titre de la collection
415
+ form_permission:
416
+ visibility: Visibilité <small> Qui devrait être en mesure d’afficher ou de télécharger ce contenu? </ Small>
384
417
  form_permission_under_embargo:
385
418
  help_html: "<strong>Ce travail est sous embargo.</strong> Vous pouvez modifier les paramètres de l'embargo ici, ou vous pouvez visiter le %{edit_link} pour le désactiver."
386
419
  legend_html: Visibilité <small>Qui devrait pouvoir afficher ou télécharger ce contenu?</small>
@@ -394,6 +427,8 @@ fr:
394
427
  required_descriptions: Décrivez votre travail
395
428
  required_files: Ajouter des fichiers
396
429
  requirements: Exigences
430
+ saving_your_work: Sauvegarder votre travail. Ceci peut prendre un certain temps
431
+ yourself: Vous-même
397
432
  form_rendering:
398
433
  help_html: Sélectionnez le (s) fichier (s) à télécharger en téléchargement pour chaque image dans Universal Viewer, par exemple un PDF de l'ensemble de l'œuvre.
399
434
  legend_html: Le rendu
@@ -401,12 +436,36 @@ fr:
401
436
  help_html: Sélectionnez le fichier avec le média qui représente ce travail.
402
437
  legend_html: Médias représentatifs
403
438
  form_share:
439
+ access_type_to_grant: Type d'accès à accorder
440
+ account_label_without_suffix: "%{account_label} (sans la partie %{suffix})"
404
441
  add_sharing: Ajouter un partage
442
+ add_this_group_html: Ajouter <span class = "sr-only"> ce groupe </ span>
405
443
  currently_sharing: Actuellement partagé avec
444
+ depositor: Déposant
406
445
  directions: Indépendamment des paramètres de visibilité pour ce travail, vous pouvez également le partager avec d'autres utilisateurs et groupes.
446
+ group: Groupe
447
+ permissions_save_note_html: Les autorisations ne sont <strong> pas </ strong> enregistrées tant que le & quot; Enregistrer & quot; bouton est enfoncé en bas de la page.
448
+ use_add_button: Utilisez le bouton Ajouter pour donner accès à un %{account_label} à la fois (il sera ajouté à la liste ci-dessous). Sélectionnez l'utilisateur, par son nom ou par %{account_label} \. Ensuite, sélectionnez le niveau d'accès que vous souhaitez accorder et cliquez sur Ajouter ce %{account_label} pour terminer l'ajout de l'autorisation.
407
449
  form_thumbnail:
408
450
  help_html: Sélectionnez le fichier à utiliser comme vignette pour ce travail.
409
451
  legend_html: La vignette
452
+ form_visibility_component:
453
+ visibility: Visibilité
454
+ inspect_work:
455
+ back_to: Retour à
456
+ entity_id: ID d'entité
457
+ id: ID
458
+ name: prénom
459
+ object_name: Nom d'objet
460
+ persistence: Persistance
461
+ processing_entity_id: ID de l'entité de traitement
462
+ proxy_for: Procuration pour
463
+ roles: Rôles
464
+ state: Etat
465
+ state_name: Nom d'état
466
+ users: Utilisateurs
467
+ workflow: Flux de travail
468
+ workflow_comments: Commentaires sur le workflow
410
469
  items:
411
470
  actions: actes
412
471
  date_uploaded: Date de téléchargement
@@ -426,16 +485,62 @@ fr:
426
485
  definitions_html: "<strong>Afficher / Télécharger:</strong> ce fichier (contenu et métadonnées) est accessible depuis %{application_name}. <br /> <strong>Edit:</strong> ce fichier (contenu et métadonnées) peut être modifié. Vous ne pouvez accorder cette autorisation qu'aux utilisateurs et / ou groupes de %{institution_name}."
427
486
  share_with_html: Vous pouvez accorder l'accès aux fichiers "View / Download" ou "Edit" à des utilisateurs et / ou des groupes spécifiques. Entrez un %{account_name} valide, un par un, sélectionnez le niveau d'accès pour cet utilisateur, puis cliquez sur + Ajouter.
428
487
  show:
488
+ items: Contenu
429
489
  last_modified: Dernière modification
490
+ relationships: Relations
491
+ show_actions:
492
+ analytics: Statistiques
493
+ attach_child: Insérer un travail enfant
494
+ confirm_delete: Supprimer ce %{work_type} ?
495
+ delete: Supprimer
496
+ edit: Modifier
497
+ feature: Mettre à la une
498
+ unfeature: Ne plus mettre à la une
430
499
  social_media:
431
500
  facebook: Facebook
432
501
  google: Google+
433
502
  tumblr: Tumblr
434
503
  twitter: Gazouillement
504
+ unauthorized:
505
+ id: 'ID: %{id}'
506
+ is_private: Le %{type} auquel vous avez essayé d'accéder est privé
507
+ page_is_private: La page à laquelle vous avez essayé d'accéder est privée
508
+ unauthorized: Non autorisé
509
+ work_button_row:
510
+ analytics: Analytique
511
+ attach: Joindre %{type}
512
+ delete: Effacer
513
+ delete_type: Supprimer ce %{type}?
514
+ edit: modifier
515
+ feature: Fonctionnalité
516
+ unfeature: Manque de fonctionnalité
517
+ workflow_actions:
518
+ actions: actes
519
+ previous_comments: Commentaires précédents
520
+ review_comment: Commentaire d'examen
521
+ title: Révision et approbation
522
+ base/unauthorized:
523
+ is_private: Le %{type} auquel vous avez essayé d'accéder est privé
524
+ unauthorized: Non autorisé
435
525
  batch:
436
526
  help:
437
527
  resource_type: Vous pouvez sélectionner plusieurs types à appliquer à tous les fichiers
438
528
  title: Nom de fichier sera le titre par défaut. Veuillez fournir un titre plus significatif et les noms de fichiers seront conservés par le système.
529
+ batch_edits:
530
+ check_all:
531
+ select_to_access_selection_options: Sélectionner pour accéder à l'option de sélection
532
+ delete_selected:
533
+ button_label: Supprimer la sélection
534
+ deleting_file_from: La suppression d'un fichier de %{application_name} est permanente. Cliquez sur OK pour supprimer ce fichier de %{application_name} ou sur Annuler pour annuler cette opération.
535
+ edit:
536
+ apply_changes_to: 'Les modifications seront appliquées à: (%{x_number_of} fonctionne)'
537
+ batch_edit_descriptions: Modifier les descriptions par lots & nbsp; & nbsp; & nbsp; <small> Cliquez sur les étiquettes ci-dessous pour modifier les descriptions de travail. </ Small>
538
+ clear_batch: Lot clair
539
+ descriptions: Descriptions
540
+ descriptions_title: 'Descriptions:'
541
+ permissions: Les permissions
542
+ sharing: Partage
543
+ visibility: Visibilité
439
544
  batch_uploads:
440
545
  disabled: Fonction désactivée par l'administrateur
441
546
  files:
@@ -451,6 +556,9 @@ fr:
451
556
  header: Sauvegarder les travaux
452
557
  bread_crumb:
453
558
  search_results: Retour aux résultats de recherche
559
+ citations:
560
+ work:
561
+ citation_formats: Formats de citation
454
562
  collection:
455
563
  actions:
456
564
  add_existing_works:
@@ -481,6 +589,7 @@ fr:
481
589
  desc: Ajouter des collections existantes à cette collection
482
590
  modal_title: Ajouter cette collection dans une autre collection
483
591
  select_label: Sélectionner une collection
592
+ also_belongs_to: Ce travail appartient aussi à
484
593
  browse_view: Parcourir la vue
485
594
  document_list:
486
595
  edit: modifier
@@ -522,6 +631,10 @@ fr:
522
631
  show_more_parent_collections: montre plus...
523
632
  subcollection_count: Sous-collections
524
633
  works_in_collection: Fonctionne dans cette collection
634
+ sort_and_per_page:
635
+ number_of_results_to_display_per_page: Nombre de résultats à afficher par page
636
+ results_per_page: 'Résultats par page:'
637
+ sort_by_html: "<span>Trier par:</span>"
525
638
  contact_form:
526
639
  button_label: Envoyer
527
640
  email_label: Votre Email
@@ -584,15 +697,22 @@ fr:
584
697
  relationships: Des relations
585
698
  sharing: Partage
586
699
  form_branding:
700
+ alt_text: 'Texte alternatif:'
587
701
  banner:
588
702
  description: Une image à afficher en haut de la page de collection. Pour de meilleurs résultats, téléchargez une image (JPG, GIF ou PNG) d'une hauteur d'au moins 120 pixels et d'une largeur de 1200 pixels.
589
703
  label: Bannière
590
704
  branding:
591
705
  description: En option, vous pouvez télécharger une image de bannière et / ou des images de logo à associer à cette collection. Si elles sont téléchargées, ces images seront affichées en haut de la page de collection afin de fournir une image de marque unique pour la collection.
592
706
  label: l'image de marque
707
+ choose_file: Choisissez un fichier
708
+ link_url: URL du lien
593
709
  logo:
594
710
  description: Une ou plusieurs images à afficher en haut de la page de collection. Pour de meilleurs résultats, téléchargez une image (JPG, GIF ou PNG) de 40 pixels de hauteur. Les images plus grandes seront redimensionnées à 40 pixels de hauteur.
595
711
  label: Logo
712
+ previous: Précédente
713
+ remove: Supprimer
714
+ remove_current_banner: Supprimer la bannière actuelle
715
+ remove_logo: Supprimer le logo
596
716
  form_discovery:
597
717
  para1: Ces paramètres déterminent qui peut découvrir et afficher la page de destination de cette collection. ils n'affectent pas la visibilité des éléments de la collection.
598
718
  para2: Si vous choisissez de ne pas autoriser l'accès en accès libre à cette collection, vous pouvez toujours partager la collection avec des utilisateurs et des groupes spécifiques à l'aide de l'onglet Partage.
@@ -619,7 +739,13 @@ fr:
619
739
  add_sharing: Ajouter un partage
620
740
  add_user: Ajouter un utilisateur
621
741
  current_shared: Actuellement partagé avec
742
+ depositor: Déposer
743
+ manager: Gérer
622
744
  note: Indépendamment des paramètres de visibilité de cette collection, vous pouvez partager cette collection avec des groupes et des utilisateurs spécifiques.
745
+ search_for_a_group: Rechercher un groupe...
746
+ search_for_a_user: Recherchez un utilisateur...
747
+ select_a_role: Choisissez un rôle...
748
+ viewer: Consulter
623
749
  form_share_table:
624
750
  allow_all_registered: Autoriser tous les inscrits
625
751
  depositors:
@@ -660,6 +786,32 @@ fr:
660
786
  show_less_parent_collections: "...montre moins"
661
787
  show_more_parent_collections: montre plus...
662
788
  subcollection_count: Sous-collections
789
+ show_descriptions:
790
+ descriptions: Descriptions
791
+ show_document_list:
792
+ action: action
793
+ date_added: Date ajoutée
794
+ list_items_in_collection: Liste des articles de cette collection
795
+ owner: Propriétaire
796
+ title: Titre
797
+ visibility: Visibilité
798
+ show_document_list_menu:
799
+ select: Sélectionner
800
+ show_document_list_row:
801
+ creator: 'Créateur:'
802
+ depositor: 'Déposant:'
803
+ edit_access: 'Modifier l''accès:'
804
+ sort_and_per_page:
805
+ show_par_page_html: Afficher %{select} collections par page
806
+ sort_by: 'Trier par:'
807
+ work_action_menu:
808
+ delete_work: Supprimer le travail
809
+ deleting_from_work: Supprimer un travail de %{application_name} est permanent. Cliquez sur OK pour supprimer ce travail de %{application_name} ou sur Annuler pour annuler cette opération.
810
+ edit_work: Modifier le travail
811
+ press_to: Appuyez sur pour
812
+ remove_from_collection: Retirer de la collection
813
+ select_an_action: Sélectionnez une action
814
+ transfer_ownership_of_work: Transfert de la propriété du travail
663
815
  create_work: Créer un travail
664
816
  current_proxies: Proxies actuelles
665
817
  delete_notification: Supprimer la notification
@@ -683,6 +835,8 @@ fr:
683
835
  collection_update_success: La collection a été mise à jour avec succès.
684
836
  collections_confirmation_html: La suppression de <span class='pluralized'>cette collection</span> supprimera définitivement <span class='pluralized'>cette collection</span> du référentiel. Les éléments de <span class='pluralized'>cette collection</span> resteront dans le référentiel. Êtes-vous sûr de vouloir supprimer <span class='pluralized'>cette collection</span> ?
685
837
  collections_confirmation_no_items_html: Êtes-vous sûr de vouloir supprimer cette collection? Cette action ne peut pas être annulée.
838
+ collections_confirmation_plural: ces collections
839
+ collections_confirmation_singular: cette collection
686
840
  delete_admin_set: Supprimer la collection
687
841
  delete_admin_set_deny: Cette collection est définie en tant que jeu d'administration et n'est pas vide. Pour supprimer cet ensemble d'administration, vous devez d'abord supprimer (supprimer ou déplacer vers une autre collection d'ensembles d'administration) tous les éléments du jeu d'administration.
688
842
  delete_collection: Supprimer la collection
@@ -725,6 +879,7 @@ fr:
725
879
  heading:
726
880
  access: Accès
727
881
  action: Actes
882
+ caption: Liste des articles de cette collection
728
883
  collection_type: Type de collection
729
884
  date_modified: Dernière modification
730
885
  date_uploaded: Date Ajoutée
@@ -741,6 +896,7 @@ fr:
741
896
  check_all_label: Sélectionnez tous les fichiers à ajouter à une collection ou édités
742
897
  detail_label: Afficher les détails sommaires de
743
898
  listing: Liste des éléments que vous avez déposés dans
899
+ number_of_results_to_display_per_page: Nombre de résultats à afficher par page
744
900
  press_to: Appuyez sur pour
745
901
  results_per_page: Nombre de résultats à afficher par page
746
902
  show_label: Afficher tous les détails de
@@ -756,7 +912,19 @@ fr:
756
912
  no_proxies: Il n'y a pas de proxy attribués
757
913
  no_transfer_requests: Vous n'avez reçu aucune demande de transfert de travail
758
914
  no_transfers: Vous n'avez transféré aucun travail
915
+ profiles:
916
+ edit_primary:
917
+ change_picture: <i class = "glyphicon glyphicon-camera"> </ i> Changer photo
918
+ delete_picture: Supprimer la photo
919
+ delete_picture_data_content: Si vous souhaitez supprimer entièrement votre image, cochez la case et enregistrez votre profil.
920
+ delete_picture_data_original_title: Supprimer l'image
921
+ facebook_handle: <i class = "fa fa-facebook" aria-hidden = "true"> </ i> Poignée Facebook
922
+ google_handle: <i class = "fa fa-google-plus"> </ i> Poignée Google+
923
+ help_change_picture_type: JPG, GIF ou PNG (moins de 2 Mo)
924
+ save_profile: <i class = "glyphicon glyphicon-save"> </ i> Enregistrer le profil
925
+ twitter_handle: <i class = "fa fa-twitter" aria-hidden = "true"> </ i> Poignée Twitter
759
926
  proxy_activity: Activité de procuration
927
+ proxy_add_deny: Vous ne pouvez pas vous faire un proxy
760
928
  proxy_delete: Supprimer le proxy
761
929
  proxy_help: Sélectionnez un utilisateur qui peut déposer des œuvres en votre nom. Vous serez le propriétaire des œuvres que cet utilisateur dépose pour vous. Vous pouvez révoquer un proxy en cliquant sur le bouton Supprimer le proxy.
762
930
  proxy_user: Utilisateur proxy
@@ -771,7 +939,9 @@ fr:
771
939
  subtitle: Statut actuel
772
940
  title: Objets de référentiel
773
941
  show_admin:
942
+ current_registered_users: Actuellement
774
943
  new_visitors: Nouveaux visiteurs
944
+ past_30_days: Ces 30 derniers jours
775
945
  registered_users: Utilisateurs enregistrés
776
946
  returning_visitors: Retrouver les visiteurs
777
947
  total_visitors: Total des visiteurs
@@ -781,6 +951,7 @@ fr:
781
951
  file_views: Vue
782
952
  files: Fichiers déposés
783
953
  heading: Vos statistiques
954
+ joined_on: Créé le
784
955
  works: Travaux créés
785
956
  title: Mon tableau de bord
786
957
  transfer_of_ownership: Transfert de propriété
@@ -820,6 +991,7 @@ fr:
820
991
  deactivate: Désactiver Embargo
821
992
  deactivate_selected: Désactiver les embargos pour la sélection
822
993
  missing: Il n'y a pas d'embargos expirés en vigueur en ce moment.
994
+ select_all: Tout sélectionner
823
995
  table_headers:
824
996
  release_date: Date de sortie de l'embargo
825
997
  title: Titre
@@ -837,12 +1009,14 @@ fr:
837
1009
  download: Télécharger le fichier
838
1010
  downloadable_content:
839
1011
  audio_link: Télécharger l'audio
1012
+ audio_tag_not_supported: Votre navigateur ne supporte pas la balise audio.
840
1013
  default_link: Télécharger un fichier
841
1014
  heading: Contenu téléchargeable
842
1015
  image_link: Télécharger l'image
843
1016
  office_link: Télécharger un fichier
844
1017
  pdf_link: Télécharger le fichier PDF
845
1018
  video_link: Télécharger la video
1019
+ video_tag_not_supported: Votre navigateur ne supporte pas le tag vidéo.
846
1020
  file_sets:
847
1021
  actions:
848
1022
  delete: Effacer
@@ -853,13 +1027,28 @@ fr:
853
1027
  edit: modifier
854
1028
  edit_title: Modifier %{file_set}
855
1029
  header: Sélectionnez une action
1030
+ press_to: Appuyez sur pour
856
1031
  versions: Versions
857
1032
  versions_title: Afficher les versions précédentes
1033
+ asset_deleted_flash:
1034
+ message: Le fichier a été supprimé.
1035
+ asset_saved_flash:
1036
+ message:
1037
+ one: Le fichier %{saved_files} a été enregistré.
1038
+ other: Les fichiers %{saved_files} ont été enregistrés.
1039
+ asset_updated_flash:
1040
+ message: Le fichier %{link_to_file} a été mis à jour.
1041
+ descriptions:
1042
+ save: Sauvegarder les descriptions
1043
+ title: Descriptions
858
1044
  edit:
859
1045
  descriptions: Les descriptions
860
1046
  header: Modifier %{file_set}
861
1047
  permissions: Autorisations
862
1048
  versions: Des versions
1049
+ extra_fields_modal:
1050
+ additional: Additionnel
1051
+ label: "%{label} supplémentaire (s)"
863
1052
  form:
864
1053
  attach_to: Joindre à %{parent}
865
1054
  cancel: Annuler
@@ -870,10 +1059,19 @@ fr:
870
1059
  permission:
871
1060
  save: sauvegarder
872
1061
  permission_form:
1062
+ add_new_group_skel: Ajouter ce groupe
1063
+ add_new_user_skel: Ajouter cette %{account_label}
873
1064
  applied_to: "(appliqué à tous les fichiers que vous venez de télécharger)"
1065
+ bulk: Masse
874
1066
  depositor: Déposant
875
1067
  enter: Entrez %{account_label} (un à la fois)
876
1068
  header: Autorisations
1069
+ new_group_help_text: Utilisez le bouton Ajouter pour donner accès à un groupe à la fois (il sera ajouté à la liste ci-dessous).
1070
+ new_group_name_skel: Groupe
1071
+ new_group_permission_skel: Type d'accès à accorder
1072
+ new_user_help_text: Utilisez le bouton Ajouter pour donner accès à un %{account_label} à la fois (il sera ajouté à la liste ci-dessous). Sélectionnez l'utilisateur, par son nom ou par %{account_label}. Ensuite, sélectionnez le niveau d'accès que vous souhaitez accorder et cliquez sur Ajouter ce %{account_label} pour terminer l'ajout de l'autorisation.
1073
+ new_user_name_skel: "%{account_label} (sans la partie %{suffix})"
1074
+ new_user_permission_skel: Type d'accès à accorder
877
1075
  optional: "(optionnel)"
878
1076
  save_note_html: Les autorisations <strong>ne</strong> sont <strong>pas</strong> enregistrées tant que le bouton "Enregistrer" n'est pas enfoncé en bas de la page.
879
1077
  select_group: Sélectionnez un groupe
@@ -881,12 +1079,28 @@ fr:
881
1079
  table_title_access: Niveau d'accès
882
1080
  table_title_user: Personne / groupe
883
1081
  user_search: Rechercher un utilisateur
1082
+ proxy:
1083
+ message: "%{sending_user} a déposé le fichier %{title} en votre nom."
1084
+ show_actions:
1085
+ analytics: Statistiques
1086
+ confirm_delete_this: Supprimer ce %{type}?
1087
+ delete_this: Supprimer ce %{type}
1088
+ edit_this: Modifier ce %{type}
1089
+ show_details:
1090
+ characterization: Caractérisation
1091
+ date_modified: Modifié le
1092
+ date_uploaded: Déposé le
1093
+ depositor: Déposé par
1094
+ file_details: Description du fichier
1095
+ fixity_check: Vérification de la fixité
1096
+ not_yet_characterized: Pas encore caractérisé
884
1097
  versioning:
885
1098
  current: Version actuelle
886
1099
  header: Des versions
887
1100
  restore: Restaurer la version précédente
888
1101
  restore_from: Restauration à partir de
889
1102
  save: Enregistrer la révision
1103
+ save_your_note: Vous devez cliquer sur "Enregistrer la révision". pour revenir à une version précédente de ce fichier
890
1104
  upload: Télécharger une nouvelle version
891
1105
  help:
892
1106
  header: Support utilisateur
@@ -984,15 +1198,62 @@ fr:
984
1198
  my:
985
1199
  count:
986
1200
  collections:
1201
+ collections_listing: Liste des collections
987
1202
  in_repo: "<strong> Collections %{total_count} </ strong> dans le référentiel"
988
1203
  you_manage: "<strong> collections %{total_count} </ strong> que vous pouvez gérer dans le référentiel"
989
1204
  you_own: "<strong> collections %{total_count} </ strong> que vous possédez dans le référentiel"
990
1205
  works:
991
1206
  in_repo: "<strong> %{total_count} fonctionne </ strong> dans le référentiel"
1207
+ works_listing: Liste des travaux
992
1208
  you_manage: "<strong> %{total_count} fonctionne </ strong> vous pouvez gérer dans le référentiel"
993
1209
  you_own: "<strong> %{total_count} fonctionne </ strong> que vous possédez dans le référentiel"
1210
+ sort_and_per_page:
1211
+ number_of_results_to_display_per_page: Nombre de résultats à afficher par page
994
1212
  nav_safety:
995
1213
  change_tab_message: Êtes-vous sûr de vouloir quitter cet onglet? Toutes les données non enregistrées seront perdues.
1214
+ notifications:
1215
+ batch_create_failure:
1216
+ message: 'La création par lots pour %{user} a échoué: %{messages}'
1217
+ subject: Lot échouant créer
1218
+ batch_create_success:
1219
+ message: Le lot créé pour %{user} a été transmis.
1220
+ subject: Passing batch create
1221
+ fixity_check_failure:
1222
+ message: La vérification de la fixité exécutée sur %{log_date} pour %{file_title} (%{uri}) a échoué.
1223
+ subject: Échec de la fixité
1224
+ import_url_failure:
1225
+ subject: Erreur d'importation de fichier
1226
+ proxy_deposit_request:
1227
+ transfer_on_create:
1228
+ message: "%{user_link} souhaite vous transférer une œuvre. Voir toutes les %{transfer_link}"
1229
+ subject: Demande de changement de propriété
1230
+ transfer_link_label: les demandes de transfert
1231
+ transfer_on_update:
1232
+ comments: 'Commentaires: %{receiver_comment}'
1233
+ message: Votre demande de transfert était %{status}.
1234
+ subject: Changement de propriété %{status}
1235
+ proxy_depositor_added:
1236
+ grantee_message: "%{grantor} vous a assigné comme déposant par procuration"
1237
+ grantor_message: Vous avez affecté %{grantee} en tant que déposant par procuration.
1238
+ subject: Dépositaire de procuration ajouté
1239
+ workflow:
1240
+ changes_required:
1241
+ message: |-
1242
+ %{title} (%{link}) nécessite des modifications supplémentaires avant d'être approuvé.
1243
+  '%{comment}'
1244
+ subject: Votre dépôt nécessite des modifications
1245
+ deposited:
1246
+ message: "%{title} (%{link}) a été approuvé par %{user}. %{comment}"
1247
+ subject: Le dépôt a été approuvé
1248
+ pending_review:
1249
+ message: "%{title} (%{link}) a été déposé par %{user} et est en attente d'approbation. %{comment}"
1250
+ subject: Examen des besoins de dépôt
1251
+ operations:
1252
+ index:
1253
+ operations_type: Type d'opération
1254
+ status: Statut
1255
+ title: Opérations
1256
+ updated: Mis à jour
996
1257
  pages:
997
1258
  cancel: Annuler
998
1259
  tabs:
@@ -1048,7 +1309,21 @@ fr:
1048
1309
  link: Lien
1049
1310
  no_links: Aucun lien n'a été généré
1050
1311
  title: Liens à usage unique
1312
+ single_use_links_viewer:
1313
+ single_use_error:
1314
+ help: '%{application_name} n''a pas pu localiser le lien à usage unique. Ce lien a expiré ou a déjà été utilisé. Nous nous excusons pour le dérangement. Vous pouvez être intéressé par <a href="/help/"> la page d''aide </a> pour rechercher des solutions.'
1315
+ link_expired_not_found: Lien à usage unique expiré ou introuvable
1316
+ link_not_found: Lien à usage unique introuvable
1051
1317
  sort_label: Trier la liste des articles
1318
+ static:
1319
+ mendeley:
1320
+ contact_form: Formulaire de contact
1321
+ export_to_mendeley: Exporter vers Mendeley
1322
+ export_to_mendeley_details: L'exportation vers Mendeley est prise en charge via des métadonnées intégrées. Si Mendeley ne récupère pas automatiquement les métadonnées des fichiers déposés, veuillez signaler le problème via le
1323
+ zotero:
1324
+ contact_form: Formulaire de contact
1325
+ export_to_zotero: Exporter vers Zotero
1326
+ export_to_zotero_details: L'exportation vers Zotero est prise en charge via des métadonnées intégrées. Si Zotero ne récupère pas automatiquement les métadonnées des fichiers déposés, veuillez signaler le problème via le
1052
1327
  toolbar:
1053
1328
  dashboard:
1054
1329
  menu: Tableau de bord
@@ -1069,6 +1344,29 @@ fr:
1069
1344
  placeholder: Rechercher un utilisateur
1070
1345
  sr_only_description: Sélectionnez un utilisateur pour transférer "% {work_title}" à, ajoutez des commentaires facultatifs, puis appuyez sur transférer.
1071
1346
  title: Propriété de transfert de "%{work_title}"
1347
+ received:
1348
+ accept: Acceptez
1349
+ accept_the_file_and_allow_the_original_depositor_to_retain_access_and_authorize: Acceptez le fichier et permettez au déposant initial de conserver l'accès et autorisez le déposant original en tant que mandataire à déposer le fichier en votre nom.
1350
+ accept_the_file_and_allow_the_original_depositor_to_retain_access_to_edit_the_file_and_metadata: Acceptez le fichier et autorisez le déposant d'origine à conserver l'accès pour éditer le fichier et les métadonnées.
1351
+ accept_the_file_remove_access_from_the_original_depositor: Accepter le fichier supprimer l'accès du déposant d'origine.
1352
+ allow_depositor_to_retain_edit_access: Autoriser le déposant à conserver l'accès en édition
1353
+ are_you_sure_you_want_to_reject_this_request: Êtes-vous sûr de vouloir rejeter cette demande?
1354
+ authorize_depositor_as_proxy: Autoriser le déposant en tant que mandataire
1355
+ comments: commentaires
1356
+ date: Rendez-vous amoureux
1357
+ from: De
1358
+ reject: Rejeter
1359
+ remove_depositor_access: Supprimer l'accès des déposants
1360
+ status: Statut
1361
+ title: Titre
1362
+ sent:
1363
+ are_you_sure_you_want_to_cancel_this_request: Êtes-vous sûr de vouloir annuler cette demande?
1364
+ cancel: Annuler
1365
+ comments: commentaires
1366
+ date: Rendez-vous amoureux
1367
+ from: De
1368
+ status: Statut
1369
+ title: Titre
1072
1370
  upload:
1073
1371
  alert:
1074
1372
  contact_href_text: Formulaire de contact
@@ -1084,6 +1382,7 @@ fr:
1084
1382
  change_access_flash_message: Mise à jour des niveaux d'accès aux fichiers. Cela peut prendre quelques minutes. Vous voudrez peut-être rafraîchir votre navigateur ou revenir à cet enregistrement plus tard pour voir les niveaux d'accès aux fichiers mis à jour.
1085
1383
  change_access_message_html: "<p> Vous avez modifié le niveau d'accès au travail <i>%{curation_concern}</i> , ce qui le rend accessible à d'autres utilisateurs ou groupes pour afficher ou modifier. </p><p> Voulez-vous changer tous les fichiers dans le travail pour avoir le même accès utilisateurs, groupes et visibilité? </p>"
1086
1384
  change_access_no_message: Non. Je vais le mettre à jour manuellement.
1385
+ change_access_title_html: Appliquer les modifications au contenu ?
1087
1386
  change_access_yes_message: Oui s'il vous plaît.
1088
1387
  change_permissions_message_html: "<p> Vous avez modifié les autorisations sur ce %{curation_concern_human_readable_type}, <i>%{curation_concern}</i> , ce qui le rend visible pour <b>%{visibility_badge}</b> . </p><p> Voulez-vous changer tous les fichiers dans %{curation_concern_human_readable_type} à <b>%{visibility_badge}</b> aussi? </p>"
1089
1388
  local_ingest:
@@ -1094,6 +1393,20 @@ fr:
1094
1393
  tab_label: Mon ordinateur
1095
1394
  permissions_message: Mise à jour des autorisations de fichier. Cela peut prendre quelques minutes. Vous pouvez actualiser votre navigateur ou revenir à cet enregistrement plus tard pour voir les autorisations de fichier mises à jour.
1096
1395
  processing: Le fichier est en cours de traitement; Vous pouvez modifier lorsque le traitement est terminé
1396
+ uploads:
1397
+ js_templates:
1398
+ display_label: Étiquette d'affichage
1399
+ error: Erreur
1400
+ set_all_to_this_resource_type: Définir tout pour ce type de ressource
1401
+ start: Début
1402
+ js_templates_branding:
1403
+ alt_text: 'Texte alternatif:'
1404
+ error: Erreur
1405
+ link_url: 'URL du lien:'
1406
+ previous: précédent
1407
+ remove: Retirer
1408
+ remove_new_banner: Supprimer la nouvelle bannière
1409
+ remove_new_logo: Supprimer le nouveau logo
1097
1410
  user_profile:
1098
1411
  orcid:
1099
1412
  alt: Icône ORCID
@@ -1106,6 +1419,24 @@ fr:
1106
1419
  connected: Connecté!
1107
1420
  label: Profil de Zotero
1108
1421
  unlinked: Lien avec Zotero
1422
+ users:
1423
+ activity_log:
1424
+ date: Rendez-vous amoureux
1425
+ user_activity: Activité de l'utilisateur
1426
+ index:
1427
+ avatar: Avatar
1428
+ department: département
1429
+ user_id: Identifiant d'utilisateur
1430
+ user_name: Nom d'utilisateur
1431
+ users: Utilisateurs
1432
+ works_created: Œuvres créées
1433
+ left_sidebar:
1434
+ view_users: Afficher les utilisateurs
1435
+ proxies:
1436
+ proxies: Les procurations
1437
+ search_form:
1438
+ go: Aller
1439
+ search_users: Rechercher des utilisateurs
1109
1440
  visibility:
1110
1441
  authenticated:
1111
1442
  note_html: Limiter l'accès aux utilisateurs et / ou groupes exclus de %{institution}
@@ -1125,6 +1456,8 @@ fr:
1125
1456
  note_html: Seuls les utilisateurs et / ou les groupes ayant reçu un accès spécifique dans la section "Partager avec".
1126
1457
  text: Privé
1127
1458
  restricted_title_attr: Modifier la visibilité de cette ressource
1459
+ work_button_row:
1460
+ attach_child: Attacher l'enfant
1128
1461
  workflow:
1129
1462
  default:
1130
1463
  deposit: Dépôt
@@ -1188,6 +1521,8 @@ fr:
1188
1521
  share_applies_to_new_works: Lorsque de nouveaux travaux sont créés directement dans la collection, accordez aux utilisateurs et aux groupes des autorisations de partage pour le nouveau travail en fonction de leurs rôles de collection.
1189
1522
  title: ''
1190
1523
  defaults:
1524
+ abstract: Un bref résumé d'un article de recherche, d'une thèse, d'un compte rendu, d'une procédure de conférence ou de toute analyse approfondie d'un sujet particulier.
1525
+ access_right: Contient des informations sur les personnes pouvant accéder à la ressource ou une indication de son statut de sécurité.
1191
1526
  based_near: Un nom de lieu lié au travail, tel que son site de publication, ou la ville, l'état ou le pays sur lequel se trouvent les contenus du travail. Appelle le <a href='http://www.geonames.org'> service web GeoNames </a>.
1192
1527
  contributor: Une personne ou un groupe que vous souhaitez reconnaître pour avoir joué un rôle dans la création du travail, mais pas le rôle principal.
1193
1528
  creator: La personne ou le groupe responsable du travail. Habituellement, c'est l'auteur du contenu. Les noms personnels doivent être saisis d'abord avec le nom de famille, par ex. "Smith, John".
@@ -1200,6 +1535,7 @@ fr:
1200
1535
  publisher: La personne ou le groupe qui met l'ouvrage disponible. Généralement, c'est l'institution.
1201
1536
  related_url: Un lien vers un site Web ou un autre contenu spécifique (audio, vidéo, document PDF) lié au travail. Un exemple est l'URL d'un projet de recherche à partir duquel le travail a été dérivé.
1202
1537
  resource_type: Des catégories prédéfinies pour décrire le type de contenu en cours de chargement, tel que "quotite" Ou "ensemble de données". & Quot; Plus d'un type peut être sélectionné.
1538
+ rights_notes: Contient des informations sur les droits détenus dans et sur la ressource.
1203
1539
  subject: Rubriques ou termes d'index décrivant le travail de ce travail; Ceux-ci doivent être conformes à un vocabulaire existant.
1204
1540
  title: Un nom pour aider à identifier un travail.
1205
1541
  labels:
@@ -1220,6 +1556,8 @@ fr:
1220
1556
  share_applies_to_new_works: APPLIQUEZ AUX NOUVEAUX TRAVAUX
1221
1557
  title: Nom du type
1222
1558
  defaults:
1559
+ abstract: Abstrait
1560
+ access_right: Des droits d'accès
1223
1561
  admin_set_id: L'ensemble Administratif
1224
1562
  based_near: Emplacement
1225
1563
  creator: Créateur
@@ -1232,6 +1570,7 @@ fr:
1232
1570
  license: Licence
1233
1571
  member_of_collection_ids: Ajouter à la collection
1234
1572
  related_url: URL associée
1573
+ rights_notes: Notes de droits
1235
1574
  rights_statement: Déclaration de droits
1236
1575
  title: Titre
1237
1576
  visibility_after_embargo: Puis ouvrez-le jusqu'à