hyrax 5.2.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.dassie/.env +5 -1
- data/.dassie/Gemfile +4 -2
- data/.dassie/app/assets/images/bulkrax/removed.png +0 -0
- data/.dassie/app/assets/javascripts/application.js +2 -0
- data/.dassie/app/assets/stylesheets/application.css +1 -0
- data/.dassie/app/controllers/catalog_controller.rb +1 -0
- data/.dassie/app/forms/admin_set_resource_form.rb +6 -0
- data/.dassie/app/forms/collection_resource_form.rb +5 -2
- data/.dassie/app/forms/generic_work_resource_form.rb +5 -2
- data/.dassie/app/forms/monograph_form.rb +5 -3
- data/.dassie/app/indexers/admin_set_resource_indexer.rb +5 -0
- data/.dassie/app/indexers/collection_resource_indexer.rb +3 -3
- data/.dassie/app/indexers/generic_work_resource_indexer.rb +6 -3
- data/.dassie/app/indexers/monograph_indexer.rb +6 -2
- data/.dassie/app/models/ability.rb +8 -0
- data/.dassie/app/models/collection_resource.rb +4 -2
- data/.dassie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
- data/.dassie/app/models/generic_work_resource.rb +5 -2
- data/.dassie/app/models/monograph.rb +5 -2
- data/.dassie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
- data/.dassie/bin/importer +142 -0
- data/.dassie/bin/web +4 -0
- data/.dassie/config/browse_everything_providers.yml +1 -1
- data/.dassie/config/bulkrax_api.yml +86 -0
- data/.dassie/config/initializers/bulkrax.rb +92 -0
- data/.dassie/config/initializers/clamav.rb +2 -0
- data/.dassie/config/initializers/hyrax.rb +7 -1
- data/.dassie/config/initializers/riiif.rb +4 -80
- data/.dassie/config/initializers/wings.rb +1 -1
- data/.dassie/config/metadata_profiles/m3_profile.yaml +929 -0
- data/.dassie/config/puma.rb +4 -2
- data/.dassie/config/routes.rb +7 -0
- data/.dassie/config/sidekiq.yml +17 -0
- data/.dassie/config/uv/uv.html +63 -81
- data/.dassie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
- data/.dassie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
- data/.dassie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
- data/.dassie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
- data/.dassie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
- data/.dassie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
- data/.dassie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
- data/.dassie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
- data/.dassie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
- data/.dassie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
- data/.dassie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
- data/.dassie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
- data/.dassie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
- data/.dassie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
- data/.dassie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
- data/.dassie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
- data/.dassie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.dassie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
- data/.dassie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
- data/.dassie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
- data/.dassie/db/schema.rb +154 -1
- data/.dassie/package.json +1 -1
- data/.dassie/rspec_split_configuration.json +835 -0
- data/.dassie/solr/conf/solrconfig.xml +21 -5
- data/.github/{ISSUE_TEMPLATE.md → ISSUE_TEMPLATE/issue_template.md} +5 -0
- data/.github/workflows/lint-build-test.yml +5 -1
- data/.github/workflows/release-charts.yml +48 -0
- data/.gitignore +6 -0
- data/.koppie/.env +5 -1
- data/.koppie/Gemfile +3 -1
- data/.koppie/app/assets/images/bulkrax/removed.png +0 -0
- data/.koppie/app/assets/javascripts/application.js +2 -0
- data/.koppie/app/assets/stylesheets/application.css +1 -0
- data/.koppie/app/controllers/catalog_controller.rb +1 -1
- data/.koppie/app/forms/collection_resource_form.rb +5 -2
- data/.koppie/app/forms/file_set_form.rb +5 -0
- data/.koppie/app/forms/generic_work_form.rb +5 -3
- data/.koppie/app/forms/monograph_form.rb +5 -3
- data/.koppie/app/indexers/collection_resource_indexer.rb +5 -2
- data/.koppie/app/indexers/file_set_indexer.rb +7 -0
- data/.koppie/app/indexers/generic_work_indexer.rb +6 -3
- data/.koppie/app/indexers/monograph_indexer.rb +6 -2
- data/.koppie/app/models/ability.rb +8 -0
- data/.koppie/app/models/collection_resource.rb +4 -2
- data/.koppie/app/models/concerns/bulkrax/has_local_processing.rb +8 -0
- data/.koppie/app/models/generic_work.rb +5 -2
- data/.koppie/app/models/monograph.rb +5 -2
- data/.koppie/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
- data/.koppie/bin/importer +142 -0
- data/.koppie/bin/web +4 -0
- data/.koppie/config/browse_everything_providers.yml +2 -0
- data/.koppie/config/bulkrax_api.yml +86 -0
- data/.koppie/config/initializers/bulkrax.rb +92 -0
- data/.koppie/config/initializers/clamav.rb +2 -0
- data/.koppie/config/initializers/hyrax.rb +11 -3
- data/.koppie/config/initializers/riiif.rb +4 -82
- data/.koppie/config/metadata_profiles/m3_profile.yaml +930 -0
- data/.koppie/config/routes.rb +7 -0
- data/.koppie/config/sidekiq.yml +2 -0
- data/.koppie/config/uv/uv.html +63 -81
- data/.koppie/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb +9 -0
- data/.koppie/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb +5 -0
- data/.koppie/db/migrate/20250826142438_create_bulkrax_importers.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142439_create_bulkrax_importer_runs.bulkrax.rb +17 -0
- data/.koppie/db/migrate/20250826142440_create_bulkrax_entries.bulkrax.rb +17 -0
- data/.koppie/db/migrate/20250826142441_add_status_to_entry.bulkrax.rb +10 -0
- data/.koppie/db/migrate/20250826142442_add_collections_to_importer_runs.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142443_change_collection_ids_on_entries.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142444_create_bulkrax_exporters.bulkrax.rb +20 -0
- data/.koppie/db/migrate/20250826142445_create_bulkrax_exporter_runs.bulkrax.rb +15 -0
- data/.koppie/db/migrate/20250826142446_change_importer_and_exporter_to_polymorphic.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142447_add_total_collection_records_to_importer_runs.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142448_add_children_to_importer_runs.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142449_change_total_records_to_total_work_entries.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142450_change_entry_last_error.bulkrax.rb +20 -0
- data/.koppie/db/migrate/20250826142451_add_validate_only_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142452_add_status_to_importers.bulkrax.rb +10 -0
- data/.koppie/db/migrate/20250826142453_remove_foreign_key_from_bulkrax_entries.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142454_add_status_to_exporters.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142455_add_invalid_record_to_importer_run.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142456_create_bulkrax_statuses.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142457_move_to_statuses.bulkrax.rb +31 -0
- data/.koppie/db/migrate/20250826142458_add_date_filter_and_status_to_bulkrax_exporters.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142459_add_workflow_status_to_bulkrax_exporter.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142460_remove_unused_last_error.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142461_increase_text_sizes.bulkrax.rb +13 -0
- data/.koppie/db/migrate/20250826142462_change_bulkrax_statuses_error_message_column_type_to_text.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142463_rename_children_counters_to_relationships.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142464_add_file_set_counters_to_importer_runs.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142465_add_import_attempts_to_entries.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142466_add_work_counters_to_importer_runs.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142467_create_bulkrax_pending_relationships.bulkrax.rb +14 -0
- data/.koppie/db/migrate/20250826142468_add_order_to_bulkrax_pending_relationships.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142469_add_include_thumbnails_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142470_add_generated_metadata_to_bulkrax_exporters.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142471_rename_bulkrax_importer_run_to_importer_run.bulkrax.rb +18 -0
- data/.koppie/db/migrate/20250826142472_add_indices_to_bulkrax.bulkrax.rb +26 -0
- data/.koppie/db/migrate/20250826142473_denormalize_status_message.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142474_update_identifier_index.bulkrax.rb +7 -0
- data/.koppie/db/migrate/20250826142475_add_index_to_metadata_bulkrax_identifier.bulkrax.rb +19 -0
- data/.koppie/db/migrate/20250826142476_add_file_name_to_uploaded_files.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142477_add_error_tracking_to_pending_relationships.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142478_add_last_imported_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142479_add_next_import_at_to_bulkrax_importers.bulkrax.rb +6 -0
- data/.koppie/db/migrate/20250826142480_entry_error_denormalization.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20250826142481_faster_first_entry.bulkrax.rb +8 -0
- data/.koppie/db/migrate/20260430000001_create_hyrax_redirect_paths.hyrax.rb +13 -0
- data/.koppie/db/migrate/20260521003627_add_additional_redirect_info.hyrax.rb +32 -0
- data/.koppie/db/schema.rb +154 -1
- data/.koppie/package.json +1 -1
- data/.koppie/rspec_split_configuration.json +835 -0
- data/.koppie/solr/conf/solrconfig.xml +0 -5
- data/.koppie/yarn.lock +5587 -752
- data/.rubocop.yml +1 -0
- data/CONTAINERS.md +2 -0
- data/Dockerfile +9 -22
- data/Gemfile +0 -1
- data/Gemfile.allinson +2 -0
- data/README.md +1 -2
- data/app/actors/hyrax/actors/file_actor.rb +2 -0
- data/app/actors/hyrax/actors/file_set_actor.rb +1 -1
- data/app/assets/javascripts/hyrax/app.js.erb +143 -10
- data/app/assets/javascripts/hyrax/collection_select.js +68 -0
- data/app/assets/javascripts/hyrax/copy_permalink_button.js +28 -0
- data/app/assets/javascripts/hyrax/redirects.js +45 -0
- data/app/assets/javascripts/hyrax/relationships/control.es6 +21 -1
- data/app/assets/javascripts/hyrax/select_work_type.es6 +7 -2
- data/app/assets/javascripts/hyrax.js +3 -1
- data/app/assets/stylesheets/hyrax/_file-show.scss +1 -0
- data/app/assets/stylesheets/hyrax/_viewer.scss +8 -0
- data/app/assets/stylesheets/hyrax/dashboard.scss +22 -1
- data/app/assets/stylesheets/hyrax/sidebar.scss +98 -3
- data/app/authorities/qa/authorities/collections.rb +9 -9
- data/app/controllers/concerns/hyrax/analytics_error_handling.rb +97 -0
- data/app/controllers/concerns/hyrax/collections_controller_behavior.rb +3 -1
- data/app/controllers/concerns/hyrax/ensure_migrated_behavior.rb +50 -0
- data/app/controllers/concerns/hyrax/flexible_catalog_behavior.rb +206 -0
- data/app/controllers/concerns/hyrax/flexible_schema_behavior.rb +17 -0
- data/app/controllers/concerns/hyrax/redirect_to_display_url.rb +54 -0
- data/app/controllers/concerns/hyrax/works_controller_behavior.rb +52 -10
- data/app/controllers/hyrax/admin/admin_sets_controller.rb +21 -13
- data/app/controllers/hyrax/admin/analytics/collection_reports_controller.rb +2 -0
- data/app/controllers/hyrax/admin/analytics/work_reports_controller.rb +1 -0
- data/app/controllers/hyrax/admin/metadata_profiles_controller.rb +66 -0
- data/app/controllers/hyrax/batch_uploads_controller.rb +2 -0
- data/app/controllers/hyrax/dashboard/collections_controller.rb +27 -6
- data/app/controllers/hyrax/dashboard/nest_collections_controller.rb +2 -1
- data/app/controllers/hyrax/dashboard_controller.rb +2 -1
- data/app/controllers/hyrax/file_sets_controller.rb +19 -1
- data/app/controllers/hyrax/homepage_controller.rb +7 -0
- data/app/controllers/hyrax/my/works_controller.rb +2 -21
- data/app/controllers/hyrax/permissions_controller.rb +4 -2
- data/app/controllers/hyrax/redirects_controller.rb +56 -0
- data/app/controllers/hyrax/single_use_links_viewer_controller.rb +2 -1
- data/app/controllers/hyrax/transcripts_controller.rb +31 -0
- data/app/controllers/hyrax/uploads_controller.rb +18 -9
- data/app/forms/concerns/hyrax/based_near_field_behavior.rb +77 -0
- data/app/forms/concerns/hyrax/flexible_form_behavior.rb +37 -0
- data/app/forms/concerns/hyrax/redirects_field_behavior.rb +95 -0
- data/app/forms/concerns/hyrax/transcripts_behavior.rb +40 -0
- data/app/forms/hyrax/forms/admin_set_form.rb +1 -1
- data/app/forms/hyrax/forms/administrative_set_form.rb +3 -0
- data/app/forms/hyrax/forms/batch_edit_form.rb +1 -3
- data/app/forms/hyrax/forms/batch_upload_form.rb +14 -0
- data/app/forms/hyrax/forms/file_set_edit_form.rb +1 -1
- data/app/forms/hyrax/forms/file_set_form.rb +6 -7
- data/app/forms/hyrax/forms/pcdm_collection_form.rb +17 -5
- data/app/forms/hyrax/forms/pcdm_object_form.rb +11 -3
- data/app/forms/hyrax/forms/resource_batch_edit_form.rb +8 -22
- data/app/forms/hyrax/forms/resource_form.rb +110 -10
- data/app/forms/hyrax/forms.rb +1 -0
- data/app/helpers/hyrax/attributes_helper.rb +109 -0
- data/app/helpers/hyrax/blacklight_override.rb +26 -0
- data/app/helpers/hyrax/collections_helper.rb +2 -0
- data/app/helpers/hyrax/file_set_form_helper.rb +24 -0
- data/app/helpers/hyrax/hyrax_helper_behavior.rb +51 -2
- data/app/helpers/hyrax/iiif_helper.rb +11 -1
- data/app/helpers/hyrax/permalink_helper.rb +37 -0
- data/app/helpers/hyrax/redirects_tab_helper.rb +29 -0
- data/app/helpers/hyrax/work_form_helper.rb +9 -5
- data/app/helpers/hyrax/works_helper.rb +14 -0
- data/app/indexers/concerns/hyrax/workflow_indexer.rb +30 -0
- data/app/indexers/hyrax/file_set_indexer.rb +1 -0
- data/app/indexers/hyrax/indexers/administrative_set_indexer.rb +2 -1
- data/app/indexers/hyrax/indexers/file_set_indexer.rb +6 -2
- data/app/indexers/hyrax/indexers/pcdm_collection_indexer.rb +11 -1
- data/app/indexers/hyrax/indexers/pcdm_object_indexer.rb +25 -4
- data/app/indexers/hyrax/indexers/redirects_indexer.rb +29 -0
- data/app/indexers/hyrax/indexers/resource_indexer.rb +4 -0
- data/app/indexers/hyrax/indexers.rb +2 -0
- data/app/inputs/controlled_vocabulary_input.rb +7 -1
- data/app/jobs/content_deposit_error_event_job.rb +14 -0
- data/app/jobs/create_work_job.rb +2 -0
- data/app/jobs/migrate_files_to_valkyrie_job.rb +7 -1
- data/app/models/batch_upload_item.rb +4 -0
- data/app/models/concerns/hyrax/ability/flexible_metadata_ability.rb +10 -0
- data/app/models/concerns/hyrax/ability.rb +3 -1
- data/app/models/concerns/hyrax/collection_behavior.rb +4 -0
- data/app/models/concerns/hyrax/file_set/transcripts.rb +16 -0
- data/app/models/concerns/hyrax/file_set_behavior.rb +9 -0
- data/app/models/concerns/hyrax/flexibility.rb +107 -0
- data/app/models/concerns/hyrax/redirects_normalization.rb +38 -0
- data/app/models/concerns/hyrax/solr_document/characterization.rb +1 -1
- data/app/models/concerns/hyrax/solr_document/metadata.rb +9 -0
- data/app/models/concerns/hyrax/solr_document/ordered_members.rb +4 -0
- data/app/models/concerns/hyrax/solr_document_behavior.rb +28 -6
- data/app/models/concerns/hyrax/suppressible.rb +1 -1
- data/app/models/concerns/hyrax/valkyrie_lazy_migration.rb +1 -1
- data/app/models/concerns/hyrax/with_embargoes_and_leases.rb +30 -0
- data/app/models/concerns/hyrax/work_behavior.rb +8 -0
- data/app/models/hyrax/administrative_set.rb +1 -1
- data/app/models/hyrax/change_set.rb +3 -1
- data/app/models/hyrax/embargo.rb +3 -1
- data/app/models/hyrax/file_set.rb +4 -2
- data/app/models/hyrax/flexible_schema.rb +219 -0
- data/app/models/hyrax/lease.rb +3 -1
- data/app/models/hyrax/pcdm_collection.rb +4 -1
- data/app/models/hyrax/redirect.rb +64 -0
- data/app/models/hyrax/redirect_path.rb +14 -0
- data/app/models/hyrax/resource.rb +22 -25
- data/app/models/hyrax/riiif/file.rb +43 -0
- data/app/models/hyrax/riiif/file_resolver.rb +65 -0
- data/app/models/hyrax/uploaded_file.rb +9 -0
- data/app/models/hyrax/virus_scanner.rb +16 -3
- data/app/models/hyrax/work.rb +4 -1
- data/app/models/job_io_wrapper.rb +12 -3
- data/app/models/user_mailbox.rb +3 -1
- data/app/presenters/hyrax/admin_set_presenter.rb +11 -0
- data/app/presenters/hyrax/annotates_content.rb +35 -0
- data/app/presenters/hyrax/collection_presenter.rb +5 -1
- data/app/presenters/hyrax/displays_content.rb +133 -0
- data/app/presenters/hyrax/displays_image.rb +11 -4
- data/app/presenters/hyrax/displays_transcripts.rb +59 -0
- data/app/presenters/hyrax/file_set_presenter.rb +8 -18
- data/app/presenters/hyrax/google_scholar_presenter.rb +39 -0
- data/app/presenters/hyrax/iiif_manifest_presenter.rb +22 -4
- data/app/presenters/hyrax/missing_method_behavior.rb +15 -0
- data/app/presenters/hyrax/pcdm_member_presenter_factory.rb +2 -4
- data/app/presenters/hyrax/work_show_presenter.rb +56 -14
- data/app/renderers/hyrax/renderers/attribute_renderer.rb +6 -2
- data/app/renderers/hyrax/renderers/license_attribute_renderer.rb +10 -10
- data/app/renderers/hyrax/renderers/redirects_label_attribute_renderer.rb +25 -0
- data/app/renderers/hyrax/renderers/rights_statement_attribute_renderer.rb +10 -11
- data/app/search_builders/hyrax/dashboard/nested_collections_search_builder.rb +1 -5
- data/app/search_builders/hyrax/filter_by_type.rb +1 -1
- data/app/services/hyrax/action/create_valkyrie_work.rb +3 -2
- data/app/services/hyrax/authority_rendering_helper.rb +28 -0
- data/app/services/hyrax/authority_service.rb +107 -0
- data/app/services/hyrax/callbacks.rb +2 -2
- data/app/services/hyrax/collections/nested_collection_query_service.rb +9 -3
- data/app/services/hyrax/collections_service.rb +17 -0
- data/app/services/hyrax/custom_queries/find_by_property_value.rb +89 -0
- data/app/services/hyrax/edit_permissions_service.rb +4 -4
- data/app/services/hyrax/file_set_type_service.rb +12 -4
- data/app/services/hyrax/flexible_schema_validator_service.rb +153 -0
- data/app/services/hyrax/flexible_schema_validators/class_validator.rb +123 -0
- data/app/services/hyrax/flexible_schema_validators/core_metadata_validator.rb +211 -0
- data/app/services/hyrax/flexible_schema_validators/existing_records_validator.rb +83 -0
- data/app/services/hyrax/flexible_schema_validators/redirects_validator.rb +116 -0
- data/app/services/hyrax/flexible_schema_validators/schema_validator.rb +34 -0
- data/app/services/hyrax/flexible_schema_validators/sort_properties_validator.rb +54 -0
- data/app/services/hyrax/license_service.rb +1 -1
- data/app/services/hyrax/listeners/metadata_index_listener.rb +11 -0
- data/app/services/hyrax/m3_profile_editor.rb +32 -0
- data/app/services/hyrax/m3_schema_loader.rb +119 -0
- data/app/services/hyrax/manifest_builder_service.rb +18 -24
- data/app/services/hyrax/permalink_path.rb +25 -0
- data/app/services/hyrax/qa_select_service.rb +9 -5
- data/app/services/hyrax/redirect_path_normalizer.rb +58 -0
- data/app/services/hyrax/redirects_lookup.rb +59 -0
- data/app/services/hyrax/resource_permissions_visibility_propagator.rb +54 -0
- data/app/services/hyrax/resource_types_service.rb +3 -20
- data/app/services/hyrax/rights_statement_service.rb +1 -1
- data/app/services/hyrax/schema_loader.rb +205 -0
- data/app/services/hyrax/search_service.rb +1 -1
- data/app/services/hyrax/simple_schema_loader.rb +28 -127
- data/app/services/hyrax/solr_service.rb +39 -2
- data/app/services/hyrax/tolerant_select_service.rb +5 -3
- data/app/services/hyrax/valkyrie_upload.rb +2 -2
- data/app/services/hyrax/visibility_propagator.rb +4 -1
- data/app/services/hyrax/work_uploads_handler.rb +17 -9
- data/app/services/hyrax/workflow/workflow_factory.rb +5 -4
- data/app/services/migrate_resource_service.rb +7 -1
- data/app/uploaders/hyrax/uploaded_file_uploader.rb +2 -2
- data/app/utils/hyrax/data_destroyers/collection_branding_destroyer.rb +1 -1
- data/app/utils/hyrax/required_data_seeder.rb +1 -0
- data/app/utils/hyrax/required_data_seeders/collection_type_seeder.rb +1 -1
- data/app/utils/hyrax/required_data_seeders/flexible_profile_seeder.rb +28 -0
- data/app/validators/hyrax/controlled_vocabulary_validator.rb +64 -0
- data/app/validators/hyrax/redirect_validator.rb +128 -0
- data/app/views/catalog/_thumbnail_list_default.html.erb +2 -2
- data/app/views/collections/edit_fields/_schema_version.html.erb +1 -0
- data/app/views/hyrax/admin/admin_sets/_form_metadata.html.erb +24 -2
- data/app/views/hyrax/admin/admin_sets/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/admin/admin_sets/show.html.erb +1 -1
- data/app/views/hyrax/admin/analytics/_analytics_error.html.erb +42 -0
- data/app/views/hyrax/admin/analytics/collection_reports/index.html.erb +11 -9
- data/app/views/hyrax/admin/analytics/work_reports/index.html.erb +60 -57
- data/app/views/hyrax/admin/features/index.html.erb +1 -1
- data/app/views/hyrax/admin/metadata_profiles/_import_modal.html.erb +20 -0
- data/app/views/hyrax/admin/metadata_profiles/index.html.erb +54 -0
- data/app/views/hyrax/base/_attribute_rows.html.erb +4 -21
- data/app/views/hyrax/base/_citations.html.erb +1 -0
- data/app/views/hyrax/base/_currently_shared.html.erb +2 -1
- data/app/views/hyrax/base/_file_manager_thumbnail.html.erb +1 -1
- data/app/views/hyrax/base/_form_member_of_collections.html.erb +6 -6
- data/app/views/hyrax/base/_form_redirects.html.erb +125 -0
- data/app/views/hyrax/base/_form_share.html.erb +7 -2
- data/app/views/hyrax/base/_member.html.erb +1 -1
- data/app/views/hyrax/base/_social_media.html.erb +1 -1
- data/app/views/hyrax/base/iiif_viewers/_universal_viewer.html.erb +1 -1
- data/app/views/hyrax/base/show.html.erb +3 -0
- data/app/views/hyrax/collections/_default_group.html.erb +3 -0
- data/app/views/hyrax/collections/_list_collections.html.erb +3 -0
- data/app/views/hyrax/collections/_list_works.html.erb +1 -1
- data/app/views/hyrax/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/collections/show.html.erb +4 -0
- data/app/views/hyrax/dashboard/_sidebar.html.erb +4 -2
- data/app/views/hyrax/dashboard/collections/_button_for_update_collection.html.erb +2 -1
- data/app/views/hyrax/dashboard/collections/_default_group.html.erb +3 -0
- data/app/views/hyrax/dashboard/collections/_form.html.erb +17 -0
- data/app/views/hyrax/dashboard/collections/_form_for_select_collection.html.erb +7 -10
- data/app/views/hyrax/dashboard/collections/_list_collections.html.erb +3 -0
- data/app/views/hyrax/dashboard/collections/_list_works.html.erb +1 -1
- data/app/views/hyrax/dashboard/collections/_show_document_list_row.html.erb +1 -1
- data/app/views/hyrax/dashboard/profiles/_edit_primary.html.erb +1 -8
- data/app/views/hyrax/dashboard/profiles/_trophy_edit.html.erb +1 -1
- data/app/views/hyrax/dashboard/profiles/show.html.erb +5 -5
- data/app/views/hyrax/dashboard/sidebar/_metadata.html.erb +11 -0
- data/app/views/hyrax/dashboard/sidebar/_repository_content.html.erb +1 -0
- data/app/views/hyrax/dashboard/works/_default_group.html.erb +3 -0
- data/app/views/hyrax/dashboard/works/_list_works.html.erb +4 -2
- data/app/views/hyrax/file_sets/_form.html.erb +16 -3
- data/app/views/hyrax/file_sets/_metadata.html.erb +35 -0
- data/app/views/hyrax/file_sets/_valkyrie_form.html.erb +37 -0
- data/app/views/hyrax/file_sets/edit.html.erb +14 -8
- data/app/views/hyrax/file_sets/media_display/_audio.html.erb +4 -0
- data/app/views/hyrax/file_sets/media_display/_image.html.erb +2 -2
- data/app/views/hyrax/file_sets/media_display/_video.html.erb +4 -0
- data/app/views/hyrax/homepage/_explore_collections.html.erb +1 -1
- data/app/views/hyrax/homepage/_featured_fields.html.erb +1 -1
- data/app/views/hyrax/homepage/_recent_document.html.erb +1 -1
- data/app/views/hyrax/homepage/robots.text.erb +17 -0
- data/app/views/hyrax/my/collections/_default_group.html.erb +3 -0
- data/app/views/hyrax/my/collections/_list_collections.html.erb +3 -0
- data/app/views/hyrax/my/collections/_modal_add_subcollection.html.erb +2 -2
- data/app/views/hyrax/my/collections/_modal_add_to_collection.html.erb +2 -2
- data/app/views/hyrax/my/works/_default_group.html.erb +3 -0
- data/app/views/hyrax/my/works/_list_works.html.erb +5 -2
- data/app/views/hyrax/shared/_copy_permalink.html.erb +10 -0
- data/app/views/hyrax/users/_user_info.html.erb +1 -6
- data/app/views/layouts/_head_tag_content.html.erb +2 -0
- data/app/views/layouts/hyrax/dashboard.html.erb +2 -1
- data/app/views/records/edit_fields/_contexts.html.erb +1 -0
- data/app/views/records/edit_fields/_license.html.erb +17 -5
- data/app/views/records/edit_fields/_resource_type.html.erb +16 -2
- data/app/views/records/edit_fields/_rights_statement.html.erb +17 -5
- data/app/views/records/edit_fields/_schema_version.html.erb +1 -0
- data/app/views/records/edit_fields/_transcript_ids.html.erb +18 -0
- data/app/views/records/show_fields/_rights.html.erb +1 -1
- data/app/views/shared/_citations.html.erb +46 -31
- data/app/views/shared/_schema_version.html.erb +38 -0
- data/bin/dev-entrypoint.sh +14 -4
- data/chart/hyrax/Chart.yaml +4 -4
- data/chart/hyrax/templates/ingress.yaml +3 -0
- data/chart/hyrax/values.yaml +10 -8
- data/config/features.rb +27 -0
- data/config/initializers/blacklight_dynamic_sitemap.rb +43 -0
- data/config/initializers/deprecation_patch.rb +27 -0
- data/config/initializers/hydra_works.rb +3 -0
- data/config/initializers/i18n_extensions.rb +197 -0
- data/config/initializers/storage_adapter_initializer.rb +15 -9
- data/config/locales/hyrax.de.yml +172 -54
- data/config/locales/hyrax.en.yml +183 -66
- data/config/locales/hyrax.es.yml +174 -49
- data/config/locales/hyrax.fr.yml +169 -45
- data/config/locales/hyrax.it.yml +172 -48
- data/config/locales/hyrax.pt-BR.yml +172 -54
- data/config/locales/hyrax.zh.yml +145 -21
- data/config/metadata/basic_metadata.yaml +66 -0
- data/config/metadata/batch_edit_metadata.yaml +119 -0
- data/config/metadata/file_set_metadata.yaml +19 -0
- data/config/metadata/redirects.yaml +15 -0
- data/config/metadata_profiles/m3_json_schema.json +487 -0
- data/config/metadata_profiles/m3_profile.yaml +954 -0
- data/config/routes.rb +9 -0
- data/docker-compose-allinson.yml +176 -0
- data/docker-compose-dassie.yml +14 -6
- data/docker-compose-koppie.yml +18 -10
- data/docker-compose-sirenia.yml +20 -10
- data/documentation/copy_permalink.md +29 -0
- data/documentation/developing-your-hyrax-based-app.md +2 -2
- data/documentation/file-ingest-characterization.md +763 -0
- data/documentation/flexible_metadata.md +113 -0
- data/documentation/forms/field_behaviors.md +297 -0
- data/documentation/redirects.md +428 -0
- data/hyrax.gemspec +7 -2
- data/lib/freyja/metadata_adapter.rb +1 -1
- data/lib/freyja/persister.rb +25 -1
- data/lib/generators/hyrax/collection_resource/collection_resource_generator.rb +2 -2
- data/lib/generators/hyrax/collection_resource/templates/collection.rb.erb +5 -1
- data/lib/generators/hyrax/collection_resource/templates/collection_form.rb.erb +5 -1
- data/lib/generators/hyrax/collection_resource/templates/collection_indexer.rb.erb +6 -1
- data/lib/generators/hyrax/iiif_viewer/USAGE +22 -0
- data/lib/generators/hyrax/iiif_viewer/iiif_viewer_generator.rb +49 -0
- data/lib/generators/hyrax/iiif_viewer/templates/_clover.html.erb +7 -0
- data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.css +3328 -0
- data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.html +16 -0
- data/lib/generators/hyrax/iiif_viewer/templates/clover/clover.js +237 -0
- data/lib/generators/hyrax/install_generator.rb +25 -1
- data/lib/generators/hyrax/riiif_generator.rb +1 -1
- data/lib/generators/hyrax/templates/app/views/blacklight_dynamic_sitemap/sitemap/show.xml.builder +22 -0
- data/lib/generators/hyrax/templates/config/clamav.rb +2 -0
- data/lib/generators/hyrax/templates/config/initializers/riiif.rb +4 -80
- data/lib/generators/hyrax/templates/db/migrate/20240606205215_create_hyrax_flexible_schemas.rb.erb +9 -0
- data/lib/generators/hyrax/templates/db/migrate/20240606205216_add_contexts_to_hyrax_flexible_schemas.rb.erb +5 -0
- data/lib/generators/hyrax/templates/db/migrate/20260430000001_create_hyrax_redirect_paths.rb.erb +22 -0
- data/lib/generators/hyrax/templates/db/migrate/20260521003627_add_additional_redirect_info.rb.erb +39 -0
- data/lib/generators/hyrax/templates/package.json +1 -1
- data/lib/generators/hyrax/templates/uv.html +60 -82
- data/lib/generators/hyrax/work/templates/indexer.rb.erb +1 -1
- data/lib/generators/hyrax/work/templates/model.rb.erb +5 -1
- data/lib/generators/hyrax/work_resource/templates/form.rb.erb +5 -2
- data/lib/generators/hyrax/work_resource/templates/indexer.rb.erb +6 -2
- data/lib/generators/hyrax/work_resource/templates/work.rb.erb +5 -2
- data/lib/generators/hyrax/work_resource/work_resource_generator.rb +1 -0
- data/lib/hyrax/active_fedora_dummy_model.rb +6 -0
- data/lib/hyrax/configuration.rb +197 -3
- data/lib/hyrax/deprecation.rb +31 -0
- data/lib/hyrax/engine.rb +2 -0
- data/lib/hyrax/form_fields.rb +17 -5
- data/lib/hyrax/indexer.rb +31 -2
- data/lib/hyrax/resource_sync/resource_list_writer.rb +3 -0
- data/lib/hyrax/schema.rb +15 -4
- data/lib/hyrax/specs/shared_specs/factories/administrative_sets.rb +12 -0
- data/lib/hyrax/specs/shared_specs/factories/hyrax_embargo.rb +1 -1
- data/lib/hyrax/specs/shared_specs/factories/hyrax_file_set.rb +13 -0
- data/lib/hyrax/specs/shared_specs/factories/hyrax_lease.rb +5 -1
- data/lib/hyrax/specs/shared_specs/factories/hyrax_work.rb +14 -0
- data/lib/hyrax/specs/shared_specs/simple_work.rb +41 -0
- data/lib/hyrax/specs/shared_specs.rb +1 -0
- data/lib/hyrax/transactions/collection_create.rb +2 -1
- data/lib/hyrax/transactions/collection_destroy.rb +1 -0
- data/lib/hyrax/transactions/collection_update.rb +2 -1
- data/lib/hyrax/transactions/container.rb +28 -0
- data/lib/hyrax/transactions/steps/apply_permission_template_on_update.rb +65 -0
- data/lib/hyrax/transactions/steps/apply_workflow_on_admin_set_change.rb +97 -0
- data/lib/hyrax/transactions/steps/ensure_admin_set.rb +1 -1
- data/lib/hyrax/transactions/steps/remove_redirect_paths.rb +35 -0
- data/lib/hyrax/transactions/steps/save.rb +10 -0
- data/lib/hyrax/transactions/steps/set_default_admin_set.rb +1 -1
- data/lib/hyrax/transactions/steps/sync_redirect_paths.rb +141 -0
- data/lib/hyrax/transactions/work_create.rb +2 -1
- data/lib/hyrax/transactions/work_destroy.rb +1 -0
- data/lib/hyrax/transactions/work_update.rb +4 -1
- data/lib/hyrax/version.rb +1 -1
- data/lib/hyrax.rb +61 -0
- data/lib/tasks/m3_profile_cleanup.rake +35 -0
- data/template.rb +4 -1
- metadata +313 -19
- data/.dassie/public/robots.txt +0 -1
- data/.koppie/public/robots.txt +0 -1
- data/app/forms/concerns/hyrax/basic_metadata_form_fields_behavior.rb +0 -39
- data/app/views/catalog/_thumbnail_list_collection.html.erb +0 -4
|
@@ -15,12 +15,12 @@ HTML Properties:
|
|
|
15
15
|
|
|
16
16
|
<div class="form-inline mb-3">
|
|
17
17
|
<%= f.label :member_of_collection_ids %>
|
|
18
|
-
<%=
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
<select name="member_of_collection_ids" class="ml-2 form-control collection-select2" style="width: 12rem;" data-placeholder="<%= t('hyrax.dashboard.my.action.select') %>">
|
|
19
|
+
<option value=""></option>
|
|
20
|
+
<% available_collections(work: @curation_concern).each do |coll| %>
|
|
21
|
+
<option value="<%= coll.id %>"><%= coll.title.first %></option>
|
|
22
|
+
<% end %>
|
|
23
|
+
</select>
|
|
24
24
|
<a href="#" onclick="return false;" class="btn btn-secondary ml-2" data-behavior="add-relationship"><%= t('.add') %></a>
|
|
25
25
|
</div>
|
|
26
26
|
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<%# Aliases tab — see documentation/redirects.md %>
|
|
2
|
+
<% return unless redirects_tab?(f.object) %>
|
|
3
|
+
<h2 class="h3 mt-4"><%= t('hyrax.works.form.redirects.heading') %></h2>
|
|
4
|
+
|
|
5
|
+
<p><%= sanitize t('hyrax.works.form.redirects.help_html'), tags: %w[code] %></p>
|
|
6
|
+
|
|
7
|
+
<p><%= sanitize t('hyrax.works.form.redirects.display_url.help_html'), tags: %w[em] %></p>
|
|
8
|
+
|
|
9
|
+
<% rows = Array(f.object.redirects).map { |e| Hyrax::Redirect.wrap(e) } %>
|
|
10
|
+
<% selected_idx = rows.index(&:is_display_url) %>
|
|
11
|
+
<%# All radios share one name so HTML treats them as one group; value is
|
|
12
|
+
the row's index. The populator folds the selected index onto per-row
|
|
13
|
+
is_display_url flags. %>
|
|
14
|
+
<% radio_name = "#{f.object_name}[redirects_display_url_index]" %>
|
|
15
|
+
|
|
16
|
+
<%# Always-submitted hidden marker so the populator runs even when the
|
|
17
|
+
user has removed every row from the DOM. The populator drops rows
|
|
18
|
+
with blank paths, so the marker contributes nothing to the saved
|
|
19
|
+
set. %>
|
|
20
|
+
<%= hidden_field_tag "#{f.object_name}[redirects_attributes][_marker][path]", '' %>
|
|
21
|
+
|
|
22
|
+
<table class="table table-striped" data-redirects-table data-next-index="<%= rows.length %>">
|
|
23
|
+
<caption class="sr-only"><%= t('hyrax.works.form.redirects.caption') %></caption>
|
|
24
|
+
<thead>
|
|
25
|
+
<tr>
|
|
26
|
+
<th scope="col"><%= t('hyrax.works.form.redirects.header.path') %></th>
|
|
27
|
+
<th scope="col"><%= t('hyrax.works.form.redirects.header.display_url') %></th>
|
|
28
|
+
<th scope="col" class="sr-only"><%= t('hyrax.works.form.redirects.header.actions') %></th>
|
|
29
|
+
</tr>
|
|
30
|
+
</thead>
|
|
31
|
+
<tbody>
|
|
32
|
+
<tr>
|
|
33
|
+
<td colspan="2">
|
|
34
|
+
<label>
|
|
35
|
+
<%= radio_button_tag radio_name, '', selected_idx.nil? %>
|
|
36
|
+
<%= t('hyrax.works.form.redirects.display_url.none_label') %>
|
|
37
|
+
</label>
|
|
38
|
+
</td>
|
|
39
|
+
<td></td>
|
|
40
|
+
</tr>
|
|
41
|
+
<% rows.each_with_index do |entry, index| %>
|
|
42
|
+
<% input_id = "#{f.object_name}_redirects_attributes_#{index}_path" %>
|
|
43
|
+
<% label_text = entry.path.present? ? t('hyrax.works.form.redirects.path_label') : t('hyrax.works.form.redirects.new_path_label') %>
|
|
44
|
+
<% radio_id = "#{f.object_name}_redirects_display_url_index_#{index}" %>
|
|
45
|
+
<tr data-redirects-row>
|
|
46
|
+
<td>
|
|
47
|
+
<%= label_tag input_id, label_text, class: 'sr-only' %>
|
|
48
|
+
<div class="input-group">
|
|
49
|
+
<div class="input-group-prepend">
|
|
50
|
+
<span class="input-group-text"><%= request.base_url %></span>
|
|
51
|
+
</div>
|
|
52
|
+
<%= text_field_tag "#{f.object_name}[redirects_attributes][#{index}][path]",
|
|
53
|
+
entry.path,
|
|
54
|
+
id: input_id,
|
|
55
|
+
class: 'form-control',
|
|
56
|
+
placeholder: t('hyrax.works.form.redirects.placeholder.path'),
|
|
57
|
+
data: { 'redirects-path-input': true, 'redirects-display-radio': radio_id } %>
|
|
58
|
+
</div>
|
|
59
|
+
</td>
|
|
60
|
+
<td>
|
|
61
|
+
<%= radio_button_tag radio_name,
|
|
62
|
+
index.to_s,
|
|
63
|
+
index == selected_idx,
|
|
64
|
+
id: radio_id,
|
|
65
|
+
disabled: entry.path.blank?,
|
|
66
|
+
'aria-label': t('hyrax.works.form.redirects.display_url.row_label', path: entry.path.presence || (index + 1)) %>
|
|
67
|
+
</td>
|
|
68
|
+
<td class="text-right" style="width: 1%;">
|
|
69
|
+
<% if entry.path.present? %>
|
|
70
|
+
<button type="button"
|
|
71
|
+
class="btn close"
|
|
72
|
+
aria-label="<%= t('hyrax.works.form.redirects.remove_with_path_label', path: entry.path) %>"
|
|
73
|
+
data-redirects-remove-row="true">
|
|
74
|
+
<span aria-hidden="true">×</span>
|
|
75
|
+
</button>
|
|
76
|
+
<% end %>
|
|
77
|
+
</td>
|
|
78
|
+
</tr>
|
|
79
|
+
<% end %>
|
|
80
|
+
</tbody>
|
|
81
|
+
</table>
|
|
82
|
+
|
|
83
|
+
<p>
|
|
84
|
+
<button type="button" class="btn btn-secondary" data-redirects-add-row>
|
|
85
|
+
<%= t('hyrax.works.form.redirects.add_label') %>
|
|
86
|
+
</button>
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
<%# Template used by the Add button. JS clones this. %>
|
|
90
|
+
<template data-redirects-row-template>
|
|
91
|
+
<% template_input_id = "#{f.object_name}_redirects_attributes___INDEX___path" %>
|
|
92
|
+
<% template_radio_id = "#{f.object_name}_redirects_display_url_index___INDEX__" %>
|
|
93
|
+
<tr data-redirects-row>
|
|
94
|
+
<td>
|
|
95
|
+
<%= label_tag template_input_id, t('hyrax.works.form.redirects.new_path_label'), class: 'sr-only' %>
|
|
96
|
+
<div class="input-group">
|
|
97
|
+
<div class="input-group-prepend">
|
|
98
|
+
<span class="input-group-text"><%= request.base_url %></span>
|
|
99
|
+
</div>
|
|
100
|
+
<%= text_field_tag "#{f.object_name}[redirects_attributes][__INDEX__][path]",
|
|
101
|
+
nil,
|
|
102
|
+
id: template_input_id,
|
|
103
|
+
class: 'form-control',
|
|
104
|
+
placeholder: t('hyrax.works.form.redirects.placeholder.path'),
|
|
105
|
+
data: { 'redirects-path-input': true, 'redirects-display-radio': template_radio_id } %>
|
|
106
|
+
</div>
|
|
107
|
+
</td>
|
|
108
|
+
<td>
|
|
109
|
+
<%= radio_button_tag radio_name,
|
|
110
|
+
'__INDEX__',
|
|
111
|
+
false,
|
|
112
|
+
id: template_radio_id,
|
|
113
|
+
disabled: true,
|
|
114
|
+
'aria-label': t('hyrax.works.form.redirects.display_url.row_label', path: t('hyrax.works.form.redirects.new_path_label')) %>
|
|
115
|
+
</td>
|
|
116
|
+
<td class="text-right" style="width: 1%;">
|
|
117
|
+
<button type="button"
|
|
118
|
+
class="btn close"
|
|
119
|
+
aria-label="<%= t('hyrax.works.form.redirects.remove_label') %>"
|
|
120
|
+
data-redirects-remove-row="true">
|
|
121
|
+
<span aria-hidden="true">×</span>
|
|
122
|
+
</button>
|
|
123
|
+
</td>
|
|
124
|
+
</tr>
|
|
125
|
+
</template>
|
|
@@ -49,7 +49,12 @@
|
|
|
49
49
|
|
|
50
50
|
<script type="text/x-tmpl" id="tmpl-work-grant">
|
|
51
51
|
<tr>
|
|
52
|
-
<td><label class="col-form-label">{%= o.name %}</label></td>
|
|
53
|
-
<td
|
|
52
|
+
<td class="user-group"><label class="col-form-label">{%= o.name %}</label></td>
|
|
53
|
+
<td>{%= o.accessLabel %}</td>
|
|
54
|
+
<td class="action">
|
|
55
|
+
<button class="btn btn-danger remove" aria-label="<%= t('helpers.action.remove') %>">
|
|
56
|
+
<%= t('helpers.action.remove') %>
|
|
57
|
+
</button>
|
|
58
|
+
</td>
|
|
54
59
|
</tr>
|
|
55
60
|
</script>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<tr class="<%= dom_class(member) %> attributes">
|
|
2
2
|
<td class="thumbnail">
|
|
3
|
-
<%= document_presenter(member).thumbnail.thumbnail_tag(alt:
|
|
3
|
+
<%= document_presenter(member).thumbnail.thumbnail_tag(alt: member.alt_text_for_view) %>
|
|
4
4
|
</td>
|
|
5
5
|
<td class="attribute attribute-filename ensure-wrapped"><%= link_to(member.link_name, contextual_path(member, @presenter)) %></td>
|
|
6
6
|
<td class="attribute attribute-date_uploaded"><%= member.try(:date_uploaded) %></td>
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
<% end %>
|
|
18
18
|
|
|
19
19
|
<!-- Sharingbutton Twitter -->
|
|
20
|
-
<%= link_to "https://
|
|
20
|
+
<%= link_to "https://x.com/intent/tweet/?#{{text: page_title, url: share_url}.to_param}", 'aria-label': t(:'hyrax.base.social_media.twitter_share'), class: 'resp-sharing-button__link', target: '_blank', rel: 'noopener noreferrer', title: t('hyrax.base.social_media.twitter') do %>
|
|
21
21
|
<div class="resp-sharing-button resp-sharing-button--twitter resp-sharing-button--small"><div aria-hidden="true" class="resp-sharing-button__icon resp-sharing-button__icon--solid">
|
|
22
22
|
<svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
23
23
|
<title><%= t(:'hyrax.base.social_media.twitter_share') %></title>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="viewer-wrapper">
|
|
2
2
|
<iframe title="image view"
|
|
3
|
-
src="<%=
|
|
3
|
+
src="<%= iiif_viewer_base_url(presenter.iiif_viewer) %>#?manifest=<%= main_app.polymorphic_url [main_app, :manifest, presenter], { locale: nil } %>&config=<%= universal_viewer_config_url %>"
|
|
4
4
|
allowfullscreen="true"
|
|
5
5
|
frameborder="0"
|
|
6
6
|
></iframe>
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
<tr>
|
|
6
6
|
<th class="check-all"><label for="check_all" class="sr-only"><%= t("hyrax.dashboard.my.sr.check_all_label") %></label><%= render_check_all %></th>
|
|
7
7
|
<th><%= t("hyrax.dashboard.my.heading.title") %></th>
|
|
8
|
+
<% if Hyrax.config.collection_flexible? %>
|
|
9
|
+
<th><%= t("hyrax.dashboard.my.heading.profile_version") %></th>
|
|
10
|
+
<% end %>
|
|
8
11
|
<th class="sorts-dash"><i id="<%= CatalogController.uploaded_field %>" class="<%= params[:sort] == "#{CatalogController.uploaded_field} desc" ? 'caret' : params[:sort] == "#{CatalogController.uploaded_field} asc" ? 'caret up' : '' %>"></i><%= t("hyrax.dashboard.my.heading.date_uploaded") %></th>
|
|
9
12
|
<th><%= t("hyrax.dashboard.my.heading.visibility") %></th>
|
|
10
13
|
<th><%= t("hyrax.dashboard.my.heading.action") %></th>
|
|
@@ -18,6 +18,9 @@
|
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
</td>
|
|
21
|
+
<% if Hyrax.config.collection_flexible? %>
|
|
22
|
+
<td class='text-center'><%= collection_presenter.schema_version.to_f if collection_presenter.schema_version %></td>
|
|
23
|
+
<% end %>
|
|
21
24
|
<td class="collection_type">
|
|
22
25
|
<%= collection_presenter.collection_type_badge %>
|
|
23
26
|
</td>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div class='media'>
|
|
10
10
|
<%= link_to [main_app, document], class: 'media-left', 'aria-hidden' => true do %>
|
|
11
11
|
<%= document_presenter(document)&.thumbnail&.thumbnail_tag(
|
|
12
|
-
{ class: 'd-none d-md-block file_listing_thumbnail' }, { suppress_link: true }
|
|
12
|
+
{ class: 'd-none d-md-block file_listing_thumbnail', alt: thumbnail_alt_text_for(document) }, { suppress_link: true }
|
|
13
13
|
) %>
|
|
14
14
|
<% end %>
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div class="media">
|
|
10
10
|
<%= link_to [main_app, document], "class" => "media-left mr-3", "aria-hidden" => "true" do %>
|
|
11
11
|
<%= document_presenter(document)&.thumbnail&.thumbnail_tag(
|
|
12
|
-
{ class: "d-none d-md-block file_listing_thumbnail", alt:
|
|
12
|
+
{ class: "d-none d-md-block file_listing_thumbnail", alt: thumbnail_alt_text_for(document) },
|
|
13
13
|
{ suppress_link: true }
|
|
14
14
|
) %>
|
|
15
15
|
<% end %>
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
<% provide :page_title, construct_page_title(@presenter.title) %>
|
|
2
|
+
<% content_for :canonical_url do %>
|
|
3
|
+
<link rel="canonical" href="<%= canonical_url_for(@presenter) %>" />
|
|
4
|
+
<% end %>
|
|
2
5
|
<div class="hyc-container" itemscope itemtype="http://schema.org/CollectionPage">
|
|
3
6
|
<div class="row hyc-header">
|
|
4
7
|
<div class="col-md-12">
|
|
@@ -13,6 +16,7 @@
|
|
|
13
16
|
<h1><%= @presenter.title.first %></h1>
|
|
14
17
|
<%= @presenter.collection_type_badge %>
|
|
15
18
|
<%= @presenter.permission_badge %>
|
|
19
|
+
<%= render 'hyrax/shared/copy_permalink', presenter: @presenter %>
|
|
16
20
|
</div>
|
|
17
21
|
|
|
18
22
|
<% unless @presenter.logo_record.blank? %>
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<% menu = Hyrax::MenuPresenter.new(self) %>
|
|
2
|
-
<
|
|
3
|
-
<
|
|
2
|
+
<button type="button" class="sidebar-toggle" aria-label="Toggle sidebar navigation" aria-expanded="true" aria-controls="sidebar-nav">
|
|
3
|
+
<span class="fa fa-chevron-circle-right" aria-hidden="true"></span>
|
|
4
|
+
</button>
|
|
5
|
+
<nav id="sidebar-nav" aria-label="sidebar navigation">
|
|
4
6
|
<ul class="nav nav-pills flex-column">
|
|
5
7
|
<li class="nav-item">
|
|
6
8
|
<div class="profile">
|
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
<%# label -- button label %>
|
|
4
4
|
<%= button_to label, hyrax.dashboard_collection_path(collection_id),
|
|
5
5
|
method: :post,
|
|
6
|
-
class: "btn btn-primary submits-batches",
|
|
6
|
+
class: "btn btn-primary submits-batches modal-submit-button",
|
|
7
|
+
disabled: @add_works_to_collection.blank?,
|
|
7
8
|
data: { behavior: 'updates-collection' } %>
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
</label>
|
|
13
13
|
</th>
|
|
14
14
|
<th><%= t("hyrax.dashboard.my.heading.title") %></th>
|
|
15
|
+
<% if Hyrax.config.collection_flexible? %>
|
|
16
|
+
<th><%= t("hyrax.dashboard.my.heading.profile_version") %></th>
|
|
17
|
+
<% end %>
|
|
15
18
|
<% if !current_ability.admin? %>
|
|
16
19
|
<th><%= t("hyrax.dashboard.my.heading.access") %></th>
|
|
17
20
|
<% end %>
|
|
@@ -28,6 +28,13 @@
|
|
|
28
28
|
</a>
|
|
29
29
|
</li>
|
|
30
30
|
<% end %>
|
|
31
|
+
<% if redirects_tab?(@form) %>
|
|
32
|
+
<li class="nav-item" role="presentation">
|
|
33
|
+
<a href="#redirects" role="tab" data-toggle="tab" class="nav-link nav-safety-confirm">
|
|
34
|
+
<%= t('.tabs.redirects') %>
|
|
35
|
+
</a>
|
|
36
|
+
</li>
|
|
37
|
+
<% end %>
|
|
31
38
|
<% end %>
|
|
32
39
|
</ul>
|
|
33
40
|
|
|
@@ -109,6 +116,16 @@
|
|
|
109
116
|
</div>
|
|
110
117
|
</div>
|
|
111
118
|
<% end %>
|
|
119
|
+
|
|
120
|
+
<% if redirects_tab?(f.object) %>
|
|
121
|
+
<div id="redirects" class="tab-pane">
|
|
122
|
+
<div class="card labels">
|
|
123
|
+
<div class="card-body">
|
|
124
|
+
<%= render 'hyrax/base/form_redirects', f: f %>
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
<% end %>
|
|
112
129
|
<% end %>
|
|
113
130
|
|
|
114
131
|
<div class="card-footer">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<div role="dialog" class="modal collection-list-modal fade" id="collection-list-container" tabindex="-1" aria-labelledby="col_add_title">
|
|
1
|
+
<div role="dialog" class="modal collection-list-modal fade disable-unless-selected" id="collection-list-container" tabindex="-1" aria-labelledby="col_add_title">
|
|
2
2
|
<div class="modal-dialog text-left">
|
|
3
3
|
<div class="modal-content">
|
|
4
4
|
<div class="modal-header">
|
|
@@ -12,20 +12,17 @@
|
|
|
12
12
|
<div class="collection-list">
|
|
13
13
|
<div class="form-group">
|
|
14
14
|
<p><%= t("hyrax.collection.select_form.select_heading") %></p>
|
|
15
|
-
|
|
16
15
|
<% if @add_works_to_collection.present? %>
|
|
17
16
|
<%= text_field_tag 'member_of_collection_label', @add_works_to_collection_label, disabled: true %>
|
|
18
17
|
<%= hidden_field_tag 'member_of_collection_ids', @add_works_to_collection %>
|
|
19
18
|
<% else %>
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} %>
|
|
19
|
+
<select name="member_of_collection_ids" id="member_of_collection_ids" class="form-control collection-select2" data-placeholder="<%= t('hyrax.dashboard.my.action.select') %>">
|
|
20
|
+
<option value=""></option>
|
|
21
|
+
<% available_collections(work: @presenter&.solr_document).each do |coll| %>
|
|
22
|
+
<option value="<%= coll.id %>"><%= coll.title.first %></option>
|
|
23
|
+
<% end %>
|
|
24
|
+
</select>
|
|
27
25
|
<% end %>
|
|
28
|
-
|
|
29
26
|
</div>
|
|
30
27
|
</div><!-- collection-list -->
|
|
31
28
|
<% end %> <!-- else -->
|
|
@@ -55,6 +55,9 @@
|
|
|
55
55
|
</div>
|
|
56
56
|
</div>
|
|
57
57
|
</td>
|
|
58
|
+
<% if Hyrax.config.collection_flexible? %>
|
|
59
|
+
<td class='text-center'><%= collection_presenter.schema_version.to_f if collection_presenter.schema_version %></td>
|
|
60
|
+
<% end %>
|
|
58
61
|
<% if !current_ability.admin? %>
|
|
59
62
|
<td><%= collection_presenter.managed_access %></td>
|
|
60
63
|
<% end %>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div class='media'>
|
|
10
10
|
<%= link_to [main_app, document], class: 'media-left', 'aria-hidden': true do %>
|
|
11
11
|
<%= document_presenter(document)&.thumbnail&.thumbnail_tag(
|
|
12
|
-
{ class: 'd-none d-md-block file_listing_thumbnail' }, { suppress_link: true }
|
|
12
|
+
{ class: 'd-none d-md-block file_listing_thumbnail', alt: thumbnail_alt_text_for(document) }, { suppress_link: true }
|
|
13
13
|
) %>
|
|
14
14
|
<% end %>
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<div class="media">
|
|
10
10
|
<%= link_to [main_app, document], "class" => "media-left mr-3" do %>
|
|
11
11
|
<%= document_presenter(document)&.thumbnail&.thumbnail_tag(
|
|
12
|
-
{ class: "d-none d-md-block file_listing_thumbnail", alt: document
|
|
12
|
+
{ class: "d-none d-md-block file_listing_thumbnail", alt: thumbnail_alt_text_for(document) }, { suppress_link: true }
|
|
13
13
|
) %>
|
|
14
14
|
<% end %>
|
|
15
15
|
<div class="media-body">
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<%= f.label :remove_avatar, class: 'form-check-label' do %>
|
|
14
14
|
<%= f.check_box :remove_avatar, class: 'form-check-input' %>
|
|
15
15
|
<%= t(".delete_picture") %>
|
|
16
|
-
<a href="#" id="delete_picture_help" data-toggle="popover" data-content="<%= t('.delete_picture_data_content') %>" data-original-title="<%= t('.delete_picture_data_original_title') %>"><i class="fa fa-
|
|
16
|
+
<a href="#" id="delete_picture_help" data-toggle="popover" data-content="<%= t('.delete_picture_data_content') %>" data-original-title="<%= t('.delete_picture_data_original_title') %>"><i class="fa fa-info-circle"></i></a>
|
|
17
17
|
<% end %>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
@@ -46,13 +46,6 @@
|
|
|
46
46
|
</div>
|
|
47
47
|
</div><!-- .form-group -->
|
|
48
48
|
|
|
49
|
-
<div class="form-group row">
|
|
50
|
-
<%= f.label :googleplus_handle, t(".google_handle").html_safe, class: 'col-4 col-form-label' %>
|
|
51
|
-
<div class="col-8">
|
|
52
|
-
<%= f.text_field :googleplus_handle, class: "form-control" %>
|
|
53
|
-
</div>
|
|
54
|
-
</div><!-- .form-group -->
|
|
55
|
-
|
|
56
49
|
<%= render 'trophy_edit', trophies: @trophies %>
|
|
57
50
|
|
|
58
51
|
<%= f.button t(".save_profile").html_safe, type: 'submit', class: "btn btn-primary" %>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="form-group">
|
|
3
3
|
<span>
|
|
4
4
|
<i class="fa fa-star trophy-on"></i> Remove Highlight Designation
|
|
5
|
-
<a href="#" id="remove_trophy_help" data-toggle="popover" data-content="If you would like to remove a highlight designation, check the box and save your profile." data-original-title="Remove Highlight Designation"><i class="fa fa-
|
|
5
|
+
<a href="#" id="remove_trophy_help" data-toggle="popover" data-content="If you would like to remove a highlight designation, check the box and save your profile." data-original-title="Remove Highlight Designation"><i class="fa fa-info-circle"></i></a>
|
|
6
6
|
</span>
|
|
7
7
|
<% trophies.each do |t| %>
|
|
8
8
|
<div class="form-check">
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<% provide :page_header do %>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<div class="d-flex flex-column flex-md-row justify-content-between align-items-start align-items-md-center">
|
|
3
|
+
<h1 class="mb-2 mb-md-0"><span class="fa fa-id-card" aria-hidden="true"></span> <%= t("hyrax.admin.sidebar.profile") %></h1>
|
|
4
|
+
<% if can? :edit, current_user %>
|
|
5
5
|
<%= link_to hyrax.edit_dashboard_profile_path(@user), class: "btn btn-primary" do %>
|
|
6
6
|
<%= t("hyrax.edit_profile") %>
|
|
7
7
|
<% end %>
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
<% end %>
|
|
9
|
+
</div>
|
|
10
10
|
<% end %>
|
|
11
11
|
|
|
12
12
|
<div class="card">
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<%# menu item to be inserted when using flexible metadata %>
|
|
2
|
+
<% if Hyrax.config.flexible? && current_ability.can?(:manage, Hyrax::FlexibleSchema) %>
|
|
3
|
+
<li class="nav-item">
|
|
4
|
+
<%= menu.nav_link(hyrax.admin_metadata_profiles_path,
|
|
5
|
+
class: "nav-link",
|
|
6
|
+
onclick: "dontChangeAccordion(event);",
|
|
7
|
+
title: t('hyrax.admin.sidebar.metadata_profiles')) do %>
|
|
8
|
+
<span class="fa fa-table" aria-hidden="true"></span> <span class="sidebar-action-text"><%= t('hyrax.admin.sidebar.metadata_profiles') %></span>
|
|
9
|
+
<% end %>
|
|
10
|
+
</li>
|
|
11
|
+
<% end %>
|
|
@@ -14,4 +14,5 @@
|
|
|
14
14
|
<span class="fa fa-file" aria-hidden="true"></span> <span class="sidebar-action-text"><%= t('hyrax.admin.sidebar.works') %></span>
|
|
15
15
|
<% end %>
|
|
16
16
|
|
|
17
|
+
<%= render 'hyrax/dashboard/sidebar/metadata', menu: menu %>
|
|
17
18
|
<%= render 'hyrax/dashboard/sidebar/menu_partials', menu: menu, section: :repository_content %>
|
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
<tr>
|
|
6
6
|
<th class="check-all"><label for="check_all" class="sr-only"><%= t("hyrax.dashboard.my.sr.check_all_label") %></label><%= render_check_all %></th>
|
|
7
7
|
<th><%= t("hyrax.dashboard.my.heading.title") %></th>
|
|
8
|
+
<% if Hyrax.config.flexible? %>
|
|
9
|
+
<th class='text-center'><%= t("hyrax.dashboard.my.heading.profile_version") %></th>
|
|
10
|
+
<% end %>
|
|
8
11
|
<th class="date text-center"><%= t("hyrax.dashboard.my.heading.date_modified") %></th>
|
|
9
12
|
<th class="text-center"><%= t("blacklight.search.fields.facet.suppressed_bsi") %></th>
|
|
10
13
|
<th class="text-center"><%= t("hyrax.dashboard.my.heading.work.visibility") %></th>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div class='media'>
|
|
8
8
|
<%= link_to [main_app, document], class: 'media-left' do %>
|
|
9
9
|
<%= document_presenter(document)&.thumbnail&.thumbnail_tag(
|
|
10
|
-
{ class: 'd-none d-md-block file_listing_thumbnail', alt:
|
|
10
|
+
{ class: 'd-none d-md-block file_listing_thumbnail', alt: thumbnail_alt_text_for(document) },
|
|
11
11
|
{ suppress_link: true }
|
|
12
12
|
) %>
|
|
13
13
|
<% end %>
|
|
@@ -29,7 +29,9 @@
|
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
31
31
|
</td>
|
|
32
|
-
|
|
32
|
+
<% if Hyrax.config.flexible? %>
|
|
33
|
+
<td class='text-center'><%= document.schema_version.to_f if document.schema_version %></td>
|
|
34
|
+
<% end %>
|
|
33
35
|
<td class="date text-center"><%= document.date_modified %></td>
|
|
34
36
|
<td class='workflow-state text-center'><%= presenter.workflow.state_label %></td>
|
|
35
37
|
<td class='text-center'><%= render_visibility_link document %></td>
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
<%= simple_form_for [main_app, curation_concern], html: { multipart: true, class: 'nav-safety' } do |f| %>
|
|
2
2
|
<fieldset class="required">
|
|
3
|
-
<
|
|
4
|
-
<%=
|
|
5
|
-
</
|
|
3
|
+
<legend>
|
|
4
|
+
<%= t('.title') %>
|
|
5
|
+
</legend>
|
|
6
6
|
<%= text_field_tag 'file_set[title][]', curation_concern.title.first, class: 'form-control', required: true %>
|
|
7
7
|
</fieldset>
|
|
8
8
|
|
|
9
|
+
<fieldset class="mt-2">
|
|
10
|
+
<legend>
|
|
11
|
+
<%= t("simple_form.labels.file_set.language") %>
|
|
12
|
+
</legend>
|
|
13
|
+
<div class="form-group">
|
|
14
|
+
<span class="form-text"><%= sanitize(t("simple_form.hints.file_set.language")) %></span>
|
|
15
|
+
<%= text_field_tag 'file_set[language][]', curation_concern.language.first, class: 'form-control' %>
|
|
16
|
+
</div>
|
|
17
|
+
</fieldset>
|
|
18
|
+
<% if Hyrax.config.file_set_include_metadata? %>
|
|
19
|
+
<%= render 'records/edit_fields/transcript_ids', f: f, curation_concern: curation_concern %>
|
|
20
|
+
<% end %>
|
|
21
|
+
|
|
9
22
|
<div class="row">
|
|
10
23
|
<div class="col-md-12 form-actions">
|
|
11
24
|
<%= f.submit(
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<h2><%= t('.metadata') %></h2>
|
|
2
|
+
<dl class="file-show-term file-show-details">
|
|
3
|
+
<% if @presenter.try(:flexible?) %>
|
|
4
|
+
<% view_options_for(@presenter).each do |field, options| %>
|
|
5
|
+
<% view_options = conform_options(field, options) %>
|
|
6
|
+
<% next unless field_visible?(view_options, @presenter) %>
|
|
7
|
+
<% values = Array(@presenter.try(field)).reject(&:blank?) %>
|
|
8
|
+
<% next if values.empty? %>
|
|
9
|
+
<% label = view_options["label"] %>
|
|
10
|
+
<div class="row">
|
|
11
|
+
<dt class="col-5"><%= label %></dt>
|
|
12
|
+
<dd class="col-7"><%= auto_link(values.join(', '), html: { target: '_blank' }) %></dd>
|
|
13
|
+
</div>
|
|
14
|
+
<% end %>
|
|
15
|
+
<% else %>
|
|
16
|
+
<% { description: nil, creator: nil, license: nil, subject: nil, keyword: nil,
|
|
17
|
+
date_created: nil, related_url: nil, resource_type: nil, alt_text: nil }.each_key do |field| %>
|
|
18
|
+
<% values = Array(@presenter.try(field)).reject(&:blank?) %>
|
|
19
|
+
<% next if values.empty? %>
|
|
20
|
+
<div class="row">
|
|
21
|
+
<dt class="col-5"><%= t("blacklight.search.fields.show.#{field}_tesim", default: field.to_s.humanize) %></dt>
|
|
22
|
+
<dd class="col-7"><%= auto_link(values.join(', '), html: { target: '_blank' }) %></dd>
|
|
23
|
+
</div>
|
|
24
|
+
<% end %>
|
|
25
|
+
<% end %>
|
|
26
|
+
|
|
27
|
+
<% [:embargo_release_date, :lease_expiration_date].each do |field| %>
|
|
28
|
+
<% value = @presenter.try(field) %>
|
|
29
|
+
<% next unless value.present? %>
|
|
30
|
+
<div class="row">
|
|
31
|
+
<dt class="col-5"><%= t("blacklight.search.fields.show.#{field}_dtsi", default: field.to_s.humanize) %></dt>
|
|
32
|
+
<dd class="col-7"><%= value %></dd>
|
|
33
|
+
</div>
|
|
34
|
+
<% end %>
|
|
35
|
+
</dl>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<%= simple_form_for [main_app, form_object], url: main_app.hyrax_file_set_path(form_object), html: { multipart: true, class: 'nav-safety', data: { behavior: 'file-set-form', 'param-key' => form_object.model_name.param_key } } do |f| %>
|
|
2
|
+
<% if curation_concern.flexible? %>
|
|
3
|
+
<div class="col-md-3 pull-right">
|
|
4
|
+
<%= render('shared/schema_version', f: f) %>
|
|
5
|
+
</div>
|
|
6
|
+
<% end %>
|
|
7
|
+
<div id="base-terms" class="<%= curation_concern.flexible? ? 'col-md-9' : 'col-md-12' %>">
|
|
8
|
+
<% f.object.primary_terms.each do |term| %>
|
|
9
|
+
<% next if [:contexts, :schema_version].include?(term) %>
|
|
10
|
+
<%= render_edit_field_partial(term, f: f, curation_concern: curation_concern) %>
|
|
11
|
+
<% end %>
|
|
12
|
+
</div>
|
|
13
|
+
<% if f.object.display_additional_fields? %>
|
|
14
|
+
<%= link_to t('hyrax.collection.form.additional_fields'),
|
|
15
|
+
'#extended-terms',
|
|
16
|
+
class: 'btn btn-secondary additional-fields',
|
|
17
|
+
data: { toggle: 'collapse' },
|
|
18
|
+
role: "button",
|
|
19
|
+
'aria-expanded'=> "false",
|
|
20
|
+
'aria-controls'=> "extended-terms" %>
|
|
21
|
+
<div id="extended-terms" class="collapse">
|
|
22
|
+
<% f.object.secondary_terms.each do |term| %>
|
|
23
|
+
<%= render_edit_field_partial(term, f: f, curation_concern: curation_concern) %>
|
|
24
|
+
<% end %>
|
|
25
|
+
</div>
|
|
26
|
+
<% end %>
|
|
27
|
+
|
|
28
|
+
<div class="row">
|
|
29
|
+
<div class="col-md-12 form-actions">
|
|
30
|
+
<%= f.submit(
|
|
31
|
+
(curation_concern.persisted? ? t('.save') : t('.attach_to', parent: @parent.human_readable_type)),
|
|
32
|
+
class: 'btn btn-primary'
|
|
33
|
+
) %>
|
|
34
|
+
<%= link_to t('.cancel'), main_app.hyrax_file_set_path(form_object), class: 'btn btn-link' %>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<% end %>
|