hydra-head 4.1.3 → 5.0.0.pre1
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.
- metadata +28 -617
- data/.gitignore +0 -73
- data/.gitmodules +0 -4
- data/Gemfile +0 -14
- data/HISTORY.textile +0 -99
- data/INSTALL_PREREQ.textile +0 -3
- data/LICENSE +0 -14
- data/README.textile +0 -129
- data/Rakefile +0 -5
- data/app/assets/images/hydra/powered_by_hydra.png +0 -0
- data/app/assets/images/hydra/search-button.png +0 -0
- data/app/assets/javascripts/date-picker/booking/index.html +0 -368
- data/app/assets/javascripts/date-picker/calendarHTML.txt +0 -84
- data/app/assets/javascripts/date-picker/css/datepicker.css +0 -511
- data/app/assets/javascripts/date-picker/css/demo.css +0 -229
- data/app/assets/javascripts/date-picker/index.html +0 -798
- data/app/assets/javascripts/date-picker/js/datepicker.js +0 -2898
- data/app/assets/javascripts/date-picker/js/datepicker.packed.js +0 -1
- data/app/assets/javascripts/date-picker/js/lang/ar.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/cs.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/da.js +0 -10
- data/app/assets/javascripts/date-picker/js/lang/de.js +0 -10
- data/app/assets/javascripts/date-picker/js/lang/en.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/eo.js +0 -13
- data/app/assets/javascripts/date-picker/js/lang/es.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/et.js +0 -23
- data/app/assets/javascripts/date-picker/js/lang/fi.js +0 -7
- data/app/assets/javascripts/date-picker/js/lang/fr.js +0 -69
- data/app/assets/javascripts/date-picker/js/lang/he.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/hu.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/id.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/it.js +0 -11
- data/app/assets/javascripts/date-picker/js/lang/kr.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/lt.js +0 -8
- data/app/assets/javascripts/date-picker/js/lang/lv.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/nl.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/no.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/pl.js +0 -10
- data/app/assets/javascripts/date-picker/js/lang/pt-br.js +0 -11
- data/app/assets/javascripts/date-picker/js/lang/pt.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/ru.js +0 -11
- data/app/assets/javascripts/date-picker/js/lang/se.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/si.js +0 -9
- data/app/assets/javascripts/date-picker/js/lang/tr.js +0 -9
- data/app/assets/javascripts/date-picker/language/index.html +0 -240
- data/app/assets/javascripts/date-picker/media/Thumbs.db +0 -0
- data/app/assets/javascripts/date-picker/media/backstripes.gif +0 -0
- data/app/assets/javascripts/date-picker/media/bg_header.jpg +0 -0
- data/app/assets/javascripts/date-picker/media/bullet1.gif +0 -0
- data/app/assets/javascripts/date-picker/media/bullet2.gif +0 -0
- data/app/assets/javascripts/date-picker/media/cal-grey.gif +0 -0
- data/app/assets/javascripts/date-picker/media/cal.gif +0 -0
- data/app/assets/javascripts/date-picker/media/gradient-e5e5e5-ffffff.gif +0 -0
- data/app/assets/javascripts/hydra/hydra-head.js +0 -195
- data/app/assets/javascripts/hydra/mediashelf.datepicker.js +0 -39
- data/app/assets/javascripts/hydra/mediashelf.placeholder.js +0 -67
- data/app/assets/javascripts/jquery.form.js +0 -1076
- data/app/assets/javascripts/jquery.ui.datepicker.js +0 -1793
- data/app/assets/javascripts/spin.min.js +0 -2
- data/app/assets/stylesheets/hydra/html_refactor.css +0 -79
- data/app/assets/stylesheets/hydra/hydrangea-split-button.css +0 -18
- data/app/assets/stylesheets/hydra/hydrangea.css +0 -288
- data/app/assets/stylesheets/hydra/ie-styles.css +0 -149
- data/app/assets/stylesheets/hydra/styles.css +0 -946
- data/app/assets/stylesheets/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_217bc0_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_469bdd_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
- data/app/assets/stylesheets/redmond/jquery-ui-1.8.5.custom.css +0 -572
- data/app/controllers/downloads_controller.rb +0 -20
- data/app/controllers/hydra/application_controller.rb +0 -5
- data/app/controllers/hydra/assets_controller.rb +0 -12
- data/app/controllers/hydra/contributors_controller.rb +0 -115
- data/app/controllers/hydra/file_assets_controller.rb +0 -3
- data/app/controllers/hydra/permissions_controller.rb +0 -117
- data/app/controllers/user_sessions_controller.rb +0 -13
- data/app/helpers/application_helper.rb +0 -3
- data/app/helpers/article_metadata_helper.rb +0 -4
- data/app/helpers/blacklight_helper.rb +0 -4
- data/app/helpers/downloads_helper.rb +0 -4
- data/app/helpers/facets_helper.rb +0 -4
- data/app/helpers/generic_content_objects_helper.rb +0 -4
- data/app/helpers/hydra/application_helper_behavior.rb +0 -8
- data/app/helpers/hydra/article_metadata_helper_behavior.rb +0 -95
- data/app/helpers/hydra/blacklight_helper_behavior.rb +0 -128
- data/app/helpers/hydra/downloads_helper_behavior.rb +0 -24
- data/app/helpers/hydra/facets_helper_behavior.rb +0 -34
- data/app/helpers/hydra/generic_content_objects_helper_behavior.rb +0 -17
- data/app/helpers/hydra/hydra_assets_helper_behavior.rb +0 -76
- data/app/helpers/hydra/hydra_fedora_metadata_helper_behavior.rb +0 -379
- data/app/helpers/hydra/hydra_helper_behavior.rb +0 -195
- data/app/helpers/hydra/hydra_uploader_helper_behavior.rb +0 -23
- data/app/helpers/hydra/inline_editable_metadata_helper_behavior.rb +0 -21
- data/app/helpers/hydra/javascript_includes_helper_behavior.rb +0 -94
- data/app/helpers/hydra/personalization_helper_behavior.rb +0 -49
- data/app/helpers/hydra/release_process_helper_behavior.rb +0 -37
- data/app/helpers/hydra_assets_helper.rb +0 -4
- data/app/helpers/hydra_fedora_metadata_helper.rb +0 -4
- data/app/helpers/hydra_helper.rb +0 -4
- data/app/helpers/hydra_uploader_helper.rb +0 -4
- data/app/helpers/inline_editable_metadata_helper.rb +0 -4
- data/app/helpers/javascript_includes_helper.rb +0 -4
- data/app/helpers/personalization_helper.rb +0 -4
- data/app/helpers/release_process_helper.rb +0 -4
- data/app/models/file_asset.rb +0 -5
- data/app/models/generic_content.rb +0 -26
- data/app/models/generic_image.rb +0 -67
- data/app/models/hydra/datastream/properties.rb +0 -24
- data/app/models/mods_asset.rb +0 -24
- data/app/models/superuser.rb +0 -14
- data/app/models/user_attribute.rb +0 -37
- data/app/models/uses_default_partials.rb +0 -23
- data/app/views/_add_assets_links.html.erb +0 -14
- data/app/views/_flash_msg.html.erb +0 -5
- data/app/views/_user_util_links.html.erb +0 -31
- data/app/views/catalog/_citation.html.erb +0 -11
- data/app/views/catalog/_constraints_element.html.erb +0 -34
- data/app/views/catalog/_delete_partials/_default.html.erb +0 -22
- data/app/views/catalog/_document_list.html.erb +0 -11
- data/app/views/catalog/_edit_partials/_default.html.erb +0 -57
- data/app/views/catalog/_edit_partials/_default_details.html.erb +0 -13
- data/app/views/catalog/_facets.html.erb +0 -37
- data/app/views/catalog/_home.html.erb +0 -6
- data/app/views/catalog/_home_text.html.erb +0 -4
- data/app/views/catalog/_index_partials/_default.html.erb +0 -20
- data/app/views/catalog/_index_partials/_default_details.html.erb +0 -14
- data/app/views/catalog/_index_partials/_default_group.html.erb +0 -15
- data/app/views/catalog/_opensearch_response_metadata.html.erb +0 -2
- data/app/views/catalog/_show_partials/_default.html.erb +0 -21
- data/app/views/catalog/_show_partials/_default_details.html.erb +0 -15
- data/app/views/catalog/_show_partials/_facets.html.erb +0 -52
- data/app/views/catalog/_sms_form.html.erb +0 -21
- data/app/views/catalog/_sort_and_per_page.html.erb +0 -23
- data/app/views/catalog/_uva_tabs.html.erb +0 -10
- data/app/views/catalog/about.html.erb +0 -0
- data/app/views/catalog/show.html.erb +0 -40
- data/app/views/contributors/_add_contributor_split_button.html.erb +0 -10
- data/app/views/contributors/_edit_conference.html.erb +0 -29
- data/app/views/contributors/_edit_organization.html.erb +0 -29
- data/app/views/contributors/_edit_person.html.erb +0 -39
- data/app/views/contributors/_index.html.erb +0 -11
- data/app/views/contributors/_new.html.erb +0 -10
- data/app/views/contributors/_show_conference.html.erb +0 -12
- data/app/views/contributors/_show_organization.html.erb +0 -21
- data/app/views/contributors/_show_person.html.erb +0 -17
- data/app/views/contributors/new.html.erb +0 -14
- data/app/views/downloads/index.html.erb +0 -1
- data/app/views/generic_content_objects/_contributor_form.html.erb +0 -11
- data/app/views/generic_content_objects/_description_form.html.erb +0 -7
- data/app/views/generic_content_objects/_edit_description.html.erb +0 -23
- data/app/views/generic_content_objects/_new.html.erb +0 -0
- data/app/views/generic_content_objects/_show_description.html.erb +0 -41
- data/app/views/generic_contents/_edit.html.erb +0 -10
- data/app/views/generic_contents/_index.html.erb +0 -21
- data/app/views/generic_contents/_show.html.erb +0 -6
- data/app/views/generic_contents/_show_content.html.erb +0 -7
- data/app/views/generic_images/_edit.html.erb +0 -36
- data/app/views/generic_images/_index.html.erb +0 -24
- data/app/views/generic_images/_show.html.erb +0 -13
- data/app/views/generic_images/_show_all.html.erb +0 -14
- data/app/views/generic_images/_show_content.html.erb +0 -7
- data/app/views/hydra/file_assets/_asset_saved_flash.html.erb +0 -2
- data/app/views/hydra/file_assets/_deletable_result.html.erb +0 -5
- data/app/views/hydra/file_assets/_file_assets_form.html.erb +0 -11
- data/app/views/hydra/file_assets/_index.html.erb +0 -29
- data/app/views/hydra/file_assets/_new.html.erb +0 -6
- data/app/views/hydra/file_assets/_result.html.erb +0 -11
- data/app/views/hydra/file_assets/index.html.erb +0 -5
- data/app/views/hydra/permissions/_edit_person_permissions.html.erb +0 -30
- data/app/views/hydra/permissions/_index.html.erb +0 -46
- data/app/views/hydra/permissions/_new.html.erb +0 -14
- data/app/views/hydra/permissions/_permissions_form.html.erb +0 -23
- data/app/views/hydra/permissions/index.html.erb +0 -1
- data/app/views/hydra/permissions/new.html.erb +0 -1
- data/app/views/layouts/hydra-head.html.erb +0 -47
- data/app/views/mods_assets/_additional_info_form.html.erb +0 -44
- data/app/views/mods_assets/_contributor_form.html.erb +0 -14
- data/app/views/mods_assets/_edit.html.erb +0 -10
- data/app/views/mods_assets/_edit_description.html.erb +0 -73
- data/app/views/mods_assets/_edit_journal.html.erb +0 -57
- data/app/views/mods_assets/_index.html.erb +0 -1
- data/app/views/mods_assets/_index_list.html.erb +0 -37
- data/app/views/mods_assets/_index_table.html.erb +0 -7
- data/app/views/mods_assets/_progress_box.html.erb +0 -82
- data/app/views/mods_assets/_publication_form.html.erb +0 -13
- data/app/views/mods_assets/_show.html.erb +0 -39
- data/app/views/mods_assets/_show_additional_info.html.erb +0 -17
- data/app/views/mods_assets/_show_contributors.html.erb +0 -7
- data/app/views/mods_assets/_show_description.html.erb +0 -35
- data/app/views/mods_assets/_show_file_assets.html.erb +0 -22
- data/app/views/mods_assets/_show_journal.html.erb +0 -42
- data/app/views/mods_assets/_show_permissions.html.erb +0 -15
- data/app/views/mods_assets/_show_publication.html.erb +0 -8
- data/app/views/shared/_delete_asset_confirmation.html.erb +0 -17
- data/app/views/user_sessions/_login_form.html.erb +0 -10
- data/app/views/user_sessions/logged_out.html.erb +0 -1
- data/config/fedora.yml +0 -15
- data/config/jetty.yml +0 -6
- data/config/locales/hydra.en.yml +0 -7
- data/config/role_map_cucumber.yml +0 -10
- data/config/role_map_development.yml +0 -12
- data/config/role_map_production.yml +0 -2
- data/config/role_map_test.yml +0 -14
- data/config/routes.rb +0 -12
- data/config/solr.yml +0 -9
- data/config/solr_mappings.yml +0 -22
- data/db/migrate/20101105214243_add_user_attributes_table.rb +0 -15
- data/db/migrate/20101108192527_create_superusers.rb +0 -12
- data/fedora_conf/conf/development/fedora.fcfg +0 -1021
- data/fedora_conf/conf/test/fedora.fcfg +0 -1021
- data/hydra-head.gemspec +0 -41
- data/init.rb +0 -4
- data/install.rb +0 -1
- data/lib/application_helper.rb +0 -3
- data/lib/generators/hydra/assets_generator.rb +0 -50
- data/lib/generators/hydra/cucumber_support_generator.rb +0 -29
- data/lib/generators/hydra/head_generator.rb +0 -165
- data/lib/generators/hydra/hyhead_fixtures_generator.rb +0 -27
- data/lib/generators/hydra/templates/catalog_controller.rb +0 -162
- data/lib/generators/hydra/templates/config/fedora.yml +0 -14
- data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
- data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +0 -44
- data/lib/generators/hydra/templates/config/role_map_cucumber.yml +0 -10
- data/lib/generators/hydra/templates/config/role_map_development.yml +0 -12
- data/lib/generators/hydra/templates/config/role_map_production.yml +0 -2
- data/lib/generators/hydra/templates/config/role_map_test.yml +0 -15
- data/lib/generators/hydra/templates/config/solr.yml +0 -10
- data/lib/generators/hydra/templates/config/solr_mappings.yml +0 -22
- data/lib/generators/hydra/templates/fedora_conf/conf/development/fedora.fcfg +0 -1021
- data/lib/generators/hydra/templates/fedora_conf/conf/test/fedora.fcfg +0 -1021
- data/lib/generators/hydra/templates/migrations/create_superusers.rb +0 -12
- data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +0 -124
- data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +0 -394
- data/lib/generators/hydra/templates/solr_conf/solr.xml +0 -35
- data/lib/hydra-head.rb +0 -29
- data/lib/hydra-head/controller.rb +0 -29
- data/lib/hydra-head/engine.rb +0 -29
- data/lib/hydra-head/routes.rb +0 -90
- data/lib/hydra-head/version.rb +0 -4
- data/lib/hydra.rb +0 -52
- data/lib/hydra/assets.rb +0 -7
- data/lib/hydra/assets_controller_helper.rb +0 -122
- data/lib/hydra/catalog.rb +0 -11
- data/lib/hydra/controller.rb +0 -26
- data/lib/hydra/controller/assets_controller_behavior.rb +0 -143
- data/lib/hydra/controller/catalog_controller_behavior.rb +0 -56
- data/lib/hydra/controller/controller_behavior.rb +0 -59
- data/lib/hydra/controller/file_assets_behavior.rb +0 -144
- data/lib/hydra/controller/repository_controller_behavior.rb +0 -119
- data/lib/hydra/controller/upload_behavior.rb +0 -139
- data/lib/hydra/file_assets.rb +0 -11
- data/lib/hydra/file_assets_helper.rb +0 -12
- data/lib/hydra/generic_content.rb +0 -130
- data/lib/hydra/generic_image.rb +0 -112
- data/lib/hydra/generic_user_attributes.rb +0 -41
- data/lib/hydra/global_configurable.rb +0 -46
- data/lib/hydra/model_methods.rb +0 -104
- data/lib/hydra/model_mixins.rb +0 -8
- data/lib/hydra/model_mixins/common_metadata.rb +0 -25
- data/lib/hydra/model_mixins/solr_document_extension.rb +0 -24
- data/lib/hydra/models/file_asset.rb +0 -78
- data/lib/hydra/repository_controller.rb +0 -28
- data/lib/hydra/rights_metadata.rb +0 -194
- data/lib/hydra/solr.rb +0 -9
- data/lib/hydra/submission_workflow.rb +0 -138
- data/lib/hydra/superuser_attributes.rb +0 -19
- data/lib/hydra/ui.rb +0 -6
- data/lib/hydra/ui/controller.rb +0 -46
- data/lib/hydra/workflow.rb +0 -5
- data/lib/hydra/workflow/controller.rb +0 -3
- data/lib/mediashelf/active_fedora_helper.rb +0 -73
- data/lib/prev_next_links.rb +0 -33
- data/lib/railties/active-fedora.rake +0 -1
- data/lib/railties/hydra-fixtures.rake +0 -50
- data/lib/railties/hydra_jetty.rake +0 -53
- data/lib/user_attributes_loader.rb +0 -26
- data/solr/conf/schema.xml +0 -116
- data/solr/conf/solrconfig.xml +0 -311
- data/solr/solr.xml +0 -35
- data/solr_conf/conf/schema.xml +0 -124
- data/solr_conf/conf/solrconfig.xml +0 -394
- data/solr_conf/solr.xml +0 -35
- data/tasks/active-fedora.rake +0 -1
- data/tasks/hydra-head-fixtures.rake +0 -58
- data/tasks/hydra-head.rake +0 -209
- data/tasks/hydra_jetty.rake +0 -53
- data/tasks/hyhead_rspec.rake +0 -57
- data/tasks/replicator.rake +0 -27
- data/tasks/solrizer-fedora.rake +0 -53
- data/tasks/solrizer.rake +0 -13
- data/test_support/etc/Gemfile +0 -46
- data/test_support/etc/common_metadata_asset.rb +0 -18
- data/test_support/features/absent_model_edit.feature +0 -27
- data/test_support/features/absent_model_search_result.feature +0 -18
- data/test_support/features/absent_model_show.feature +0 -27
- data/test_support/features/button_add_assets.feature +0 -22
- data/test_support/features/button_add_generic_content.feature +0 -11
- data/test_support/features/button_add_image.feature +0 -11
- data/test_support/features/button_add_mods_asset.feature +0 -11
- data/test_support/features/button_delete_asset.feature +0 -13
- data/test_support/features/contributor_add.feature +0 -44
- data/test_support/features/default_partials_edit.feature +0 -27
- data/test_support/features/default_partials_search_result.feature +0 -22
- data/test_support/features/default_partials_show.feature +0 -24
- data/test_support/features/file_upload.feature +0 -80
- data/test_support/features/generic_content_create.feature +0 -7
- data/test_support/features/generic_content_edit.feature +0 -21
- data/test_support/features/generic_content_search_result.feature +0 -22
- data/test_support/features/generic_content_show.feature +0 -20
- data/test_support/features/generic_image_create.feature +0 -7
- data/test_support/features/generic_image_edit.feature +0 -21
- data/test_support/features/generic_image_search_result.feature +0 -22
- data/test_support/features/generic_image_show.feature +0 -20
- data/test_support/features/home_page.feature +0 -9
- data/test_support/features/html_validity.feature +0 -43
- data/test_support/features/mods_asset_contributors_edit.feature +0 -88
- data/test_support/features/mods_asset_create.feature +0 -17
- data/test_support/features/mods_asset_edit.feature +0 -65
- data/test_support/features/mods_asset_edit_without_permission.feature +0 -15
- data/test_support/features/mods_asset_search_result.feature +0 -24
- data/test_support/features/mods_asset_show.feature +0 -90
- data/test_support/features/nonexistent_object_show.feature +0 -9
- data/test_support/features/permissions_add.feature +0 -16
- data/test_support/features/permissions_edit.feature +0 -65
- data/test_support/features/step_definitions/catalog_index_steps.rb +0 -14
- data/test_support/features/step_definitions/create_asset_steps.rb +0 -3
- data/test_support/features/step_definitions/edit_metadata_steps.rb +0 -72
- data/test_support/features/step_definitions/file_list_steps.rb +0 -36
- data/test_support/features/step_definitions/html_validity_steps.rb +0 -64
- data/test_support/features/step_definitions/hydra_metadata_steps.rb +0 -3
- data/test_support/features/step_definitions/hydra_steps.rb +0 -8
- data/test_support/features/step_definitions/inline_editable_edit_steps.rb +0 -77
- data/test_support/features/step_definitions/search_steps.rb +0 -88
- data/test_support/features/step_definitions/searching_steps.rb +0 -22
- data/test_support/features/step_definitions/show_document_steps.rb +0 -89
- data/test_support/features/step_definitions/user_steps.rb +0 -42
- data/test_support/features/step_definitions/web_steps.rb +0 -223
- data/test_support/features/support/env.rb +0 -57
- data/test_support/features/support/paths.rb +0 -85
- data/test_support/features/switch_users.feature +0 -14
- data/test_support/features/view_catalog_index.feature +0 -18
- data/test_support/fixtures/empty_file.txt +0 -0
- data/test_support/fixtures/hydra_test_default_partials.foxml.xml +0 -80
- data/test_support/fixtures/hydra_test_generic_content.foxml.xml +0 -138
- data/test_support/fixtures/hydra_test_generic_image.foxml.xml +0 -395
- data/test_support/fixtures/hydra_test_no_model.foxml.xml +0 -79
- data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +0 -1212
- data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +0 -4946
- data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +0 -234
- data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +0 -177
- data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +0 -170
- data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +0 -187
- data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +0 -676
- data/test_support/fixtures/hydrus_admin_class1.foxml.xml +0 -176
- data/test_support/fixtures/image.jp2 +0 -0
- data/test_support/fixtures/libra-oa_1.foxml.xml +0 -2324
- data/test_support/fixtures/libra-oa_2.foxml.xml +0 -2422
- data/test_support/fixtures/libra-oa_7.foxml.xml +0 -1735
- data/test_support/fixtures/small_file.txt +0 -1
- data/test_support/spec/controllers/catalog_controller_spec.rb +0 -138
- data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +0 -67
- data/test_support/spec/controllers/catalog_valid_html_spec.rb +0 -123
- data/test_support/spec/controllers/contributors_controller_spec.rb +0 -67
- data/test_support/spec/controllers/file_assets_controller_spec.rb +0 -194
- data/test_support/spec/controllers/hydra-assets_controller_spec.rb +0 -151
- data/test_support/spec/controllers/hydra_controller_spec.rb +0 -43
- data/test_support/spec/controllers/hydra_ui_controller_spec.rb +0 -21
- data/test_support/spec/controllers/permissions_controller_spec.rb +0 -39
- data/test_support/spec/controllers/user_sessions_controller_spec.rb +0 -35
- data/test_support/spec/factories.rb +0 -11
- data/test_support/spec/helpers/access_controls_enforcement_spec.rb +0 -119
- data/test_support/spec/helpers/access_controls_evaluation_spec.rb +0 -26
- data/test_support/spec/helpers/assets_controller_helper_spec.rb +0 -63
- data/test_support/spec/helpers/blacklight_helper_spec.rb +0 -60
- data/test_support/spec/helpers/file_assets_helper_spec.rb +0 -116
- data/test_support/spec/helpers/generic_content_objects_helper_spec.rb +0 -17
- data/test_support/spec/helpers/hydra-repository_controller_spec.rb +0 -54
- data/test_support/spec/helpers/hydra_assets_helper_spec.rb +0 -143
- data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +0 -255
- data/test_support/spec/helpers/hydra_helper_spec.rb +0 -105
- data/test_support/spec/helpers/hydra_model_methods_spec.rb +0 -88
- data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +0 -26
- data/test_support/spec/helpers/javascript_includes_helper_spec.rb +0 -51
- data/test_support/spec/integration/file_asset_spec.rb +0 -68
- data/test_support/spec/lib/catalog_spec.rb +0 -23
- data/test_support/spec/lib/global_configurable_spec.rb +0 -98
- data/test_support/spec/lib/hydra_submission_workflow_spec.rb +0 -141
- data/test_support/spec/lib/model_methods_spec.rb +0 -29
- data/test_support/spec/models/file_asset_spec.rb +0 -25
- data/test_support/spec/models/generic_content_spec.rb +0 -39
- data/test_support/spec/models/generic_image_spec.rb +0 -75
- data/test_support/spec/models/mods_asset_spec.rb +0 -20
- data/test_support/spec/models/solr_document_spec.rb +0 -17
- data/test_support/spec/models/user_spec.rb +0 -94
- data/test_support/spec/rcov.opts +0 -3
- data/test_support/spec/spec.opts +0 -4
- data/test_support/spec/spec_helper.rb +0 -63
- data/test_support/spec/support/matchers/helper_matcher.rb +0 -14
- data/test_support/spec/support/matchers/solr_matchers.rb +0 -60
- data/test_support/spec/unit/hydra-head-engine_spec.rb +0 -8
- data/test_support/spec/unit/hydra-head_spec.rb +0 -8
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# @deprecated Create Model-specific Controllers instead ie. ArticlesController, ETDController, etc.
|
|
2
|
-
# Also see Hydra::Controller::AssetsControllerBehavior for more info.
|
|
3
|
-
# will move to lib/hydra/controller / assets_controller_behavior.rb in release 5.x
|
|
4
|
-
require 'om'
|
|
5
|
-
|
|
6
|
-
module Hydra::Controller::AssetsControllerBehavior
|
|
7
|
-
extend ActiveSupport::Concern
|
|
8
|
-
|
|
9
|
-
include Blacklight::SolrHelper
|
|
10
|
-
include Hydra::Controller::RepositoryControllerBehavior
|
|
11
|
-
include Hydra::AssetsControllerHelper
|
|
12
|
-
include ReleaseProcessHelper
|
|
13
|
-
include Blacklight::Catalog
|
|
14
|
-
|
|
15
|
-
included do
|
|
16
|
-
helper :hydra
|
|
17
|
-
include Hydra::UI::Controller
|
|
18
|
-
before_filter :search_session, :history_session
|
|
19
|
-
before_filter :load_document, :only => :update # allows other filters to operate on the document before the update method is called
|
|
20
|
-
|
|
21
|
-
include Hydra::SubmissionWorkflow
|
|
22
|
-
include Hydra::AccessControlsEnforcement
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
prepend_before_filter :sanitize_update_params, :only=>:update
|
|
26
|
-
before_filter :check_embargo_date_format, :only=>:update
|
|
27
|
-
before_filter :enforce_access_controls
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def show
|
|
31
|
-
if params.has_key?("field")
|
|
32
|
-
|
|
33
|
-
@response, @document = get_solr_response_for_doc_id
|
|
34
|
-
result = @document["#{params["field"]}_t"]
|
|
35
|
-
unless result.nil?
|
|
36
|
-
if params.has_key?("field_index")
|
|
37
|
-
result = result[params["field_index"].to_i-1]
|
|
38
|
-
elsif result.kind_of?(Array)
|
|
39
|
-
result = result.first
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
respond_to do |format|
|
|
43
|
-
format.html { render :text=>result }
|
|
44
|
-
format.textile { render :text=> RedCloth.new(result, [:sanitize_html]).to_html }
|
|
45
|
-
end
|
|
46
|
-
else
|
|
47
|
-
redirect_to catalog_path(params[:id])
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
# Uses the update_indexed_attributes method provided by ActiveFedora::Base
|
|
52
|
-
# This should behave pretty much like the ActiveRecord update_indexed_attributes method
|
|
53
|
-
# For more information, see the ActiveFedora docs.
|
|
54
|
-
#
|
|
55
|
-
# @example Appends a new "subject" value of "My Topic" to on the descMetadata datastream in in the _PID_ document.
|
|
56
|
-
# put :update, :id=>"_PID_", "asset"=>{"descMetadata"=>{"subject"=>{"-1"=>"My Topic"}}
|
|
57
|
-
# @example Sets the 1st and 2nd "medium" values on the descMetadata datastream in the _PID_ document, overwriting any existing values.
|
|
58
|
-
# put :update, :id=>"_PID_", "asset"=>{"descMetadata"=>{"medium"=>{"0"=>"Paper Document", "1"=>"Image"}}
|
|
59
|
-
def update
|
|
60
|
-
logger.debug("attributes submitted: #{@sanitized_params.inspect}")
|
|
61
|
-
|
|
62
|
-
@response = update_document(@document, @sanitized_params)
|
|
63
|
-
|
|
64
|
-
@document.save
|
|
65
|
-
flash[:notice] = "Your changes have been saved."
|
|
66
|
-
|
|
67
|
-
#logger.debug("returning #{@response.inspect}")
|
|
68
|
-
|
|
69
|
-
respond_to do |want|
|
|
70
|
-
want.html {
|
|
71
|
-
redirect_to next_step(params[:id])
|
|
72
|
-
}
|
|
73
|
-
want.js {
|
|
74
|
-
render :json=> tidy_response_from_update(@response)
|
|
75
|
-
}
|
|
76
|
-
want.textile {
|
|
77
|
-
if @response.kind_of?(Hash)
|
|
78
|
-
textile_response = tidy_response_from_update(@response).values.first
|
|
79
|
-
end
|
|
80
|
-
render :text=> RedCloth.new(textile_response, [:sanitize_html]).to_html
|
|
81
|
-
}
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
def new
|
|
86
|
-
af_model = retrieve_af_model(params[:content_type])
|
|
87
|
-
raise "Can't find a model for #{params[:content_type]}" unless af_model
|
|
88
|
-
@asset = af_model.new
|
|
89
|
-
apply_depositor_metadata(@asset)
|
|
90
|
-
set_collection_type(@asset, params[:content_type])
|
|
91
|
-
@asset.save
|
|
92
|
-
model_display_name = af_model.to_s.camelize.scan(/[A-Z][^A-Z]*/).join(" ")
|
|
93
|
-
msg = "Created a #{model_display_name} with pid #{@asset.pid}. Now it's ready to be edited."
|
|
94
|
-
flash[:notice]= msg
|
|
95
|
-
session[:scripts] = params[:combined] == "true"
|
|
96
|
-
|
|
97
|
-
redirect_to edit_catalog_path(@asset.pid, :new_asset=>true)
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def destroy
|
|
101
|
-
af = ActiveFedora::Base.find(params[:id], :cast=>true)
|
|
102
|
-
authorize! :destroy, af
|
|
103
|
-
assets = af.destroy_child_assets
|
|
104
|
-
af.delete
|
|
105
|
-
msg = "Deleted #{params[:id]}"
|
|
106
|
-
msg.concat(" and associated file_asset(s): #{assets.join(", ")}") unless assets.empty?
|
|
107
|
-
flash[:notice]= msg
|
|
108
|
-
redirect_to catalog_index_path()
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
# This is a method to simply remove the item from SOLR but keep the object in fedora.
|
|
113
|
-
alias_method :withdraw, :destroy
|
|
114
|
-
|
|
115
|
-
protected
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
def mods_assets_update_validation
|
|
120
|
-
desc_metadata = params[:asset][:descMetadata]
|
|
121
|
-
rights_metadata = params[:asset][:rightsMetadata]
|
|
122
|
-
if !rights_metadata.nil? and rights_metadata.has_key?(:embargo_embargo_release_date)
|
|
123
|
-
unless rights_metadata[:embargo_embargo_release_date]["0"].blank?
|
|
124
|
-
begin
|
|
125
|
-
parsed_date = Date.parse(rights_metadata[:embargo_embargo_release_date]["0"]).to_s
|
|
126
|
-
params[:asset][:rightsMetadata][:embargo_embargo_release_date]["0"] = parsed_date
|
|
127
|
-
rescue
|
|
128
|
-
flash[:error] = "You must enter a valid release date."
|
|
129
|
-
return false
|
|
130
|
-
end
|
|
131
|
-
end
|
|
132
|
-
end
|
|
133
|
-
|
|
134
|
-
if !desc_metadata.nil? and desc_metadata.has_key?(:title_info_main_title) and desc_metadata.has_key?(:journal_0_title_info_main_title)
|
|
135
|
-
if desc_metadata[:title_info_main_title]["0"].blank? or desc_metadata[:journal_0_title_info_main_title]["0"].blank?
|
|
136
|
-
flash[:error] = "The title fields are required."
|
|
137
|
-
return false
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
return true
|
|
142
|
-
end
|
|
143
|
-
end
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
# *Using this Module is not necessary if you're writing Controllers in Rails3.*
|
|
2
|
-
# In a Rails3 app, simply define regular Rails Controllers to expose the Resources & Actions you need and use Hydra::Controller to add Hydra support.
|
|
3
|
-
# For search & discovery in those apps, use Blacklight and customize the "index" partials for each type of content to include links to the show/edit actions of the corresponding Controllers.
|
|
4
|
-
#
|
|
5
|
-
# This Module extends Blacklight Catalog behaviors to give you a "Hydra" Catalog with edit and show behaviors on top of the Blacklight search behaviors.
|
|
6
|
-
# Include this module into any of your Blacklight Catalog classes (ie. CatalogController) to add Hydra functionality.
|
|
7
|
-
#
|
|
8
|
-
# will move to lib/hydra/controller/catalog_controller_behavior in release 5.x
|
|
9
|
-
require 'deprecation'
|
|
10
|
-
module Hydra::Controller::CatalogControllerBehavior
|
|
11
|
-
extend ActiveSupport::Concern
|
|
12
|
-
extend Deprecation
|
|
13
|
-
|
|
14
|
-
self.deprecation_horizon = 'hydra-head 5.x'
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
included do
|
|
18
|
-
Deprecation.warn(Hydra::Controller::CatalogControllerBehavior, "CatalogControllerBehavior is deprecated. You should make your own controllers using the Hydra::Controller::ControllerBehavior")
|
|
19
|
-
# Other modules to auto-include
|
|
20
|
-
include Hydra::UI::Controller
|
|
21
|
-
|
|
22
|
-
# Controller filters
|
|
23
|
-
# Also see the generator (or generated CatalogController) to see more before_filters in action
|
|
24
|
-
before_filter :load_fedora_document, :only=>[:show,:edit]
|
|
25
|
-
|
|
26
|
-
# View Helpers
|
|
27
|
-
helper :hydra_uploader
|
|
28
|
-
helper :article_metadata
|
|
29
|
-
rescue_from ActiveFedora::ObjectNotFoundError, :with => :nonexistent_document
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def edit
|
|
33
|
-
show
|
|
34
|
-
render "show"
|
|
35
|
-
end
|
|
36
|
-
#deprecation_deprecate :edit
|
|
37
|
-
|
|
38
|
-
# This will render the "delete" confirmation page and a form to submit a destroy request to the assets controller
|
|
39
|
-
def delete
|
|
40
|
-
show
|
|
41
|
-
render "show"
|
|
42
|
-
end
|
|
43
|
-
#deprecation_deprecate :delete
|
|
44
|
-
|
|
45
|
-
def nonexistent_document *args
|
|
46
|
-
if Rails.env == "development"
|
|
47
|
-
render "nonexistent_document"
|
|
48
|
-
else
|
|
49
|
-
flash[:notice] = "Sorry, you have requested a record that doesn't exist."
|
|
50
|
-
params.delete(:id)
|
|
51
|
-
index
|
|
52
|
-
render "index", :status => 404
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
#deprecation_deprecate :nonexistent_document
|
|
56
|
-
end
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Include this module into any of your Controller classes to add Hydra functionality
|
|
2
|
-
#
|
|
3
|
-
# The primary function of this module is to mix in a number of other Hydra Modules, including
|
|
4
|
-
# Hydra::AccessControlsEnforcement
|
|
5
|
-
#
|
|
6
|
-
# @example
|
|
7
|
-
# class CustomHydraController < ApplicationController
|
|
8
|
-
# include Hydra::Controller
|
|
9
|
-
# end
|
|
10
|
-
#
|
|
11
|
-
# will move to lib/hydra/controller/controller_behavior in release 5.x
|
|
12
|
-
require 'deprecation'
|
|
13
|
-
module Hydra::Controller::ControllerBehavior
|
|
14
|
-
extend ActiveSupport::Concern
|
|
15
|
-
extend Deprecation
|
|
16
|
-
self.deprecation_horizon = 'hydra-head 5.x'
|
|
17
|
-
|
|
18
|
-
included do
|
|
19
|
-
# Other modules to auto-include
|
|
20
|
-
include Hydra::AccessControlsEnforcement
|
|
21
|
-
include Hydra::Controller::RepositoryControllerBehavior
|
|
22
|
-
|
|
23
|
-
helper :hydra
|
|
24
|
-
helper :hydra_assets
|
|
25
|
-
|
|
26
|
-
# Catch permission errors
|
|
27
|
-
rescue_from Hydra::AccessDenied do |exception|
|
|
28
|
-
if (exception.action == :edit)
|
|
29
|
-
redirect_to({:action=>'show'}, :alert => exception.message)
|
|
30
|
-
elsif current_user and current_user.persisted?
|
|
31
|
-
redirect_to root_url, :alert => exception.message
|
|
32
|
-
else
|
|
33
|
-
session["user_return_to"] = request.url
|
|
34
|
-
redirect_to new_user_session_url, :alert => exception.message
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
# Use params[:id] to load an object from Fedora. Inspects the object for known models and mixes in any of those models' behaviors.
|
|
40
|
-
# Sets @document_fedora with the loaded object
|
|
41
|
-
# Sets @file_assets with file objects that are children of the loaded object
|
|
42
|
-
def load_fedora_document
|
|
43
|
-
@document_fedora = ActiveFedora::Base.find(params[:id], :cast=>true)
|
|
44
|
-
unless @document_fedora.class.include?(Hydra::ModelMethods)
|
|
45
|
-
@document_fedora.class.send :include, Hydra::ModelMethods
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
@file_assets = @document_fedora.parts(:response_format=>:solr)
|
|
49
|
-
end
|
|
50
|
-
deprecation_deprecate :load_fedora_document
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
# get the currently configured user identifier. Can be overridden to return whatever (ie. login, email, etc)
|
|
54
|
-
# defaults to using whatever you have set as the Devise authentication_key
|
|
55
|
-
def user_key
|
|
56
|
-
current_user.user_key if current_user
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
end
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
# will move to lib/hydra/controller / file_assets_controller_behavior.rb in release 5.x
|
|
2
|
-
module Hydra::Controller::FileAssetsBehavior
|
|
3
|
-
extend ActiveSupport::Concern
|
|
4
|
-
|
|
5
|
-
included do
|
|
6
|
-
include Hydra::AccessControlsEnforcement
|
|
7
|
-
include Hydra::AssetsControllerHelper
|
|
8
|
-
include Hydra::Controller::UploadBehavior
|
|
9
|
-
include Hydra::Controller::RepositoryControllerBehavior
|
|
10
|
-
include Hydra::UI::Controller
|
|
11
|
-
include Blacklight::SolrHelper
|
|
12
|
-
include Hydra::SubmissionWorkflow
|
|
13
|
-
include Blacklight::Configurable
|
|
14
|
-
copy_blacklight_config_from(CatalogController)
|
|
15
|
-
prepend_before_filter :sanitize_update_params
|
|
16
|
-
helper :hydra_uploader
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def index
|
|
20
|
-
if params[:layout] == "false"
|
|
21
|
-
layout = false
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
if params[:asset_id].nil?
|
|
25
|
-
@solr_result = FileAsset.find_by_solr(:all)
|
|
26
|
-
else
|
|
27
|
-
container_uri = "info:fedora/#{params[:asset_id]}"
|
|
28
|
-
escaped_uri = container_uri.gsub(/(:)/, '\\:')
|
|
29
|
-
extra_controller_params = {:q=>"is_part_of_s:#{escaped_uri}", :qt=>'standard'}
|
|
30
|
-
@response, @document_list = get_search_results( extra_controller_params )
|
|
31
|
-
|
|
32
|
-
# Including this line so permissions tests can be run against the container
|
|
33
|
-
@container_response, @document = get_solr_response_for_doc_id(params[:asset_id])
|
|
34
|
-
|
|
35
|
-
# Including these lines for backwards compatibility (until we can use Rails3 callbacks)
|
|
36
|
-
@container = ActiveFedora::Base.find(params[:asset_id], :cast=>true)
|
|
37
|
-
@solr_result = @container.parts(:response_format=>:solr)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
# Load permissions_solr_doc based on params[:asset_id]
|
|
41
|
-
load_permissions_from_solr(params[:asset_id])
|
|
42
|
-
|
|
43
|
-
render :action=>params[:action], :layout=>layout
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def new
|
|
47
|
-
render :partial=>"new", :layout=>false
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# Creates and Saves a File Asset to contain the the Uploaded file
|
|
51
|
-
# If container_id is provided:
|
|
52
|
-
# * the File Asset will use RELS-EXT to assert that it's a part of the specified container
|
|
53
|
-
# * the method will redirect to the container object's edit view after saving
|
|
54
|
-
def create
|
|
55
|
-
if params.has_key?(:number_of_files) and params[:number_of_files] != "0"
|
|
56
|
-
return redirect_to edit_catalog_path(params[:id], :wf_step => :files, :number_of_files => params[:number_of_files])
|
|
57
|
-
elsif params.has_key?(:number_of_files) and params[:number_of_files] == "0"
|
|
58
|
-
return redirect_to next_step(params[:id])
|
|
59
|
-
end
|
|
60
|
-
authorize! :edit, (params[:container_id] || params[:id])
|
|
61
|
-
|
|
62
|
-
if params.has_key?(:Filedata)
|
|
63
|
-
notice = process_files
|
|
64
|
-
flash[:notice] = notice.join("<br/>".html_safe) unless notice.blank?
|
|
65
|
-
else
|
|
66
|
-
flash[:notice] = "You must specify a file to upload."
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
if params[:container_id]
|
|
70
|
-
redirect_to next_step(params[:container_id])
|
|
71
|
-
else
|
|
72
|
-
redirect_to catalog_index_path
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
def process_files
|
|
78
|
-
@file_assets = create_and_save_file_assets_from_params
|
|
79
|
-
notice = []
|
|
80
|
-
@file_assets.each do |file_asset|
|
|
81
|
-
apply_depositor_metadata(file_asset)
|
|
82
|
-
|
|
83
|
-
notice << render_to_string(:partial=>'hydra/file_assets/asset_saved_flash', :locals => { :file_asset => file_asset })
|
|
84
|
-
|
|
85
|
-
if !params[:container_id].nil?
|
|
86
|
-
associate_file_asset_with_container(file_asset,'info:fedora/' + params[:container_id])
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
## Apply any posted file metadata
|
|
90
|
-
unless params[:asset].nil?
|
|
91
|
-
logger.debug("applying submitted file metadata: #{@sanitized_params.inspect}")
|
|
92
|
-
apply_file_metadata
|
|
93
|
-
end
|
|
94
|
-
# If redirect_params has not been set, use {:action=>:index}
|
|
95
|
-
logger.debug "Created #{file_asset.pid}."
|
|
96
|
-
end
|
|
97
|
-
notice
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# Common destroy method for all AssetsControllers
|
|
101
|
-
def destroy
|
|
102
|
-
authorize! :destroy, params[:id]
|
|
103
|
-
ActiveFedora::Base.find(params[:id], :cast=>true).delete
|
|
104
|
-
|
|
105
|
-
flash[:notice] = "Deleted #{params[:id]} from #{params[:container_id]}."
|
|
106
|
-
|
|
107
|
-
if !params[:container_id].nil?
|
|
108
|
-
redirect_params = edit_catalog_path(params[:container_id], :anchor => "file_assets")
|
|
109
|
-
end
|
|
110
|
-
redirect_params ||= {:action => 'index', :q => nil , :f => nil}
|
|
111
|
-
|
|
112
|
-
redirect_to redirect_params
|
|
113
|
-
|
|
114
|
-
end
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
def show
|
|
118
|
-
begin
|
|
119
|
-
@file_asset = FileAsset.find(params[:id])
|
|
120
|
-
rescue ActiveFedora::ObjectNotFoundError
|
|
121
|
-
logger.warn("No such file asset: " + params[:id])
|
|
122
|
-
flash[:notice]= "No such file asset."
|
|
123
|
-
redirect_to(:action => 'index', :q => nil , :f => nil)
|
|
124
|
-
return
|
|
125
|
-
end
|
|
126
|
-
# get containing object for this FileAsset
|
|
127
|
-
pid = @file_asset.container_id
|
|
128
|
-
parent = ActiveFedora::Base.find(pid, :cast=>true)
|
|
129
|
-
@downloadable = false
|
|
130
|
-
# A FileAsset is downloadable iff the user has read or higher access to a parent
|
|
131
|
-
|
|
132
|
-
if can? :read, parent
|
|
133
|
-
# First try to use datastream_id value (set in FileAssetsHelper)
|
|
134
|
-
if @file_asset.datastreams.include?(datastream_id)
|
|
135
|
-
send_datastream @file_asset.datastreams[datastream_id]
|
|
136
|
-
elsif @file_asset.datastreams.include?("DS1")
|
|
137
|
-
send_datastream @file_asset.datastreams["DS1"]
|
|
138
|
-
end
|
|
139
|
-
else
|
|
140
|
-
raise Hydra::AccessDenied.new("You do not have sufficient access privileges to download this file.")
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
|
-
end
|
|
144
|
-
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
# Hydra-repository Contoller is a controller layer mixin. It is in the controller scope: request params, session etc.
|
|
2
|
-
#
|
|
3
|
-
# will move to lib/hydra/controller/repository_controller_behavior in release 5.x
|
|
4
|
-
#
|
|
5
|
-
# NOTE: Be careful when creating variables here as they may be overriding something that already exists.
|
|
6
|
-
# The ActionController docs: http://api.rubyonrails.org/classes/ActionController/Base.html
|
|
7
|
-
#
|
|
8
|
-
# Override these methods in your own controller for customizations:
|
|
9
|
-
#
|
|
10
|
-
# class HomeController < ActionController::Base
|
|
11
|
-
#
|
|
12
|
-
# include Stanford::SolrHelper
|
|
13
|
-
#
|
|
14
|
-
# def solr_search_params
|
|
15
|
-
# super.merge :per_page=>10
|
|
16
|
-
# end
|
|
17
|
-
#
|
|
18
|
-
# end
|
|
19
|
-
#
|
|
20
|
-
module Hydra::Controller::RepositoryControllerBehavior
|
|
21
|
-
|
|
22
|
-
def self.included(c)
|
|
23
|
-
if c.respond_to?(:helper_method)
|
|
24
|
-
c.helper_method :solr_name
|
|
25
|
-
c.helper_method :format_pid
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
#
|
|
31
|
-
# This method converts pid strings into xhtml safe IDs, since xhmlt expects namespaces to be defined.
|
|
32
|
-
# I.E. hydrus:123 = hydrus_123
|
|
33
|
-
def format_pid(pid)
|
|
34
|
-
pid.gsub(":", "_")
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
def solr_name(field_name, field_type = :text)
|
|
40
|
-
::ActiveFedora::SolrService.solr_name(field_name, field_type)
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
# Returns a list of datastreams for download.
|
|
45
|
-
# Uses user's roles and "mime_type" value in submitted params to decide what to return.
|
|
46
|
-
# if you pass the optional argument of :canonical=>true, it will return the canonical datastream for this object (a single object not a hash of datastreams)
|
|
47
|
-
def downloadables(fedora_object=@fedora_object, opts={})
|
|
48
|
-
if opts[:canonical]
|
|
49
|
-
mime_type = opts[:mime_type] ? opts[:mime_type] : "application/pdf"
|
|
50
|
-
result = filter_datastreams_for_mime_type(fedora_object.datastreams, mime_type).sort.first[1]
|
|
51
|
-
elsif can? :edit, fedora_object
|
|
52
|
-
if params["mime_type"] == "all"
|
|
53
|
-
result = fedora_object.datastreams
|
|
54
|
-
else
|
|
55
|
-
result = Hash[]
|
|
56
|
-
fedora_object.datastreams.each_pair do |dsid,ds|
|
|
57
|
-
if !ds.new_object?
|
|
58
|
-
mime_type = ds.mimeType ? ds.mimeType : ""
|
|
59
|
-
if mime_type.include?("pdf") || ds.label.include?("_TEXT.xml") || ds.label.include?("_METS.xml")
|
|
60
|
-
result[dsid] = ds
|
|
61
|
-
end
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
else
|
|
66
|
-
result = Hash[]
|
|
67
|
-
fedora_object.datastreams.each_pair do |dsid,ds|
|
|
68
|
-
if ds.mimeType.include?("pdf")
|
|
69
|
-
result[dsid] = ds
|
|
70
|
-
end
|
|
71
|
-
end
|
|
72
|
-
end
|
|
73
|
-
# puts "downloadables result: #{result}"
|
|
74
|
-
return result
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
protected
|
|
78
|
-
def load_document
|
|
79
|
-
@document = load_document_from_params
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
# Uses submitted params Hash to figure out what Model to load
|
|
83
|
-
# params should contain :content_type and :id
|
|
84
|
-
def load_document_from_params
|
|
85
|
-
af_model = retrieve_af_model(params[:content_type])
|
|
86
|
-
unless af_model
|
|
87
|
-
af_model = ModsAsset
|
|
88
|
-
end
|
|
89
|
-
return af_model.find(params[:id])
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
def retrieve_af_model(class_name, opts={})
|
|
93
|
-
if !class_name.nil?
|
|
94
|
-
klass = Module.const_get(class_name.camelcase)
|
|
95
|
-
else
|
|
96
|
-
klass = nil
|
|
97
|
-
end
|
|
98
|
-
if klass.is_a?(Class) && klass.superclass == ActiveFedora::Base
|
|
99
|
-
return klass
|
|
100
|
-
else
|
|
101
|
-
return opts.fetch(:default, false)
|
|
102
|
-
end
|
|
103
|
-
rescue NameError
|
|
104
|
-
return false
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
private
|
|
108
|
-
|
|
109
|
-
def filter_datastreams_for_mime_type(datastreams_hash, mime_type)
|
|
110
|
-
result = Hash[]
|
|
111
|
-
datastreams_hash.each_pair do |dsid,ds|
|
|
112
|
-
ds_mime_type = ds.mimeType ? ds.mimeType : ""
|
|
113
|
-
if ds_mime_type == mime_type
|
|
114
|
-
result[dsid] = ds
|
|
115
|
-
end
|
|
116
|
-
end
|
|
117
|
-
return result
|
|
118
|
-
end
|
|
119
|
-
end
|