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.
Files changed (412) hide show
  1. metadata +28 -617
  2. data/.gitignore +0 -73
  3. data/.gitmodules +0 -4
  4. data/Gemfile +0 -14
  5. data/HISTORY.textile +0 -99
  6. data/INSTALL_PREREQ.textile +0 -3
  7. data/LICENSE +0 -14
  8. data/README.textile +0 -129
  9. data/Rakefile +0 -5
  10. data/app/assets/images/hydra/powered_by_hydra.png +0 -0
  11. data/app/assets/images/hydra/search-button.png +0 -0
  12. data/app/assets/javascripts/date-picker/booking/index.html +0 -368
  13. data/app/assets/javascripts/date-picker/calendarHTML.txt +0 -84
  14. data/app/assets/javascripts/date-picker/css/datepicker.css +0 -511
  15. data/app/assets/javascripts/date-picker/css/demo.css +0 -229
  16. data/app/assets/javascripts/date-picker/index.html +0 -798
  17. data/app/assets/javascripts/date-picker/js/datepicker.js +0 -2898
  18. data/app/assets/javascripts/date-picker/js/datepicker.packed.js +0 -1
  19. data/app/assets/javascripts/date-picker/js/lang/ar.js +0 -9
  20. data/app/assets/javascripts/date-picker/js/lang/cs.js +0 -9
  21. data/app/assets/javascripts/date-picker/js/lang/da.js +0 -10
  22. data/app/assets/javascripts/date-picker/js/lang/de.js +0 -10
  23. data/app/assets/javascripts/date-picker/js/lang/en.js +0 -9
  24. data/app/assets/javascripts/date-picker/js/lang/eo.js +0 -13
  25. data/app/assets/javascripts/date-picker/js/lang/es.js +0 -9
  26. data/app/assets/javascripts/date-picker/js/lang/et.js +0 -23
  27. data/app/assets/javascripts/date-picker/js/lang/fi.js +0 -7
  28. data/app/assets/javascripts/date-picker/js/lang/fr.js +0 -69
  29. data/app/assets/javascripts/date-picker/js/lang/he.js +0 -9
  30. data/app/assets/javascripts/date-picker/js/lang/hu.js +0 -9
  31. data/app/assets/javascripts/date-picker/js/lang/id.js +0 -9
  32. data/app/assets/javascripts/date-picker/js/lang/it.js +0 -11
  33. data/app/assets/javascripts/date-picker/js/lang/kr.js +0 -9
  34. data/app/assets/javascripts/date-picker/js/lang/lt.js +0 -8
  35. data/app/assets/javascripts/date-picker/js/lang/lv.js +0 -9
  36. data/app/assets/javascripts/date-picker/js/lang/nl.js +0 -9
  37. data/app/assets/javascripts/date-picker/js/lang/no.js +0 -9
  38. data/app/assets/javascripts/date-picker/js/lang/pl.js +0 -10
  39. data/app/assets/javascripts/date-picker/js/lang/pt-br.js +0 -11
  40. data/app/assets/javascripts/date-picker/js/lang/pt.js +0 -9
  41. data/app/assets/javascripts/date-picker/js/lang/ru.js +0 -11
  42. data/app/assets/javascripts/date-picker/js/lang/se.js +0 -9
  43. data/app/assets/javascripts/date-picker/js/lang/si.js +0 -9
  44. data/app/assets/javascripts/date-picker/js/lang/tr.js +0 -9
  45. data/app/assets/javascripts/date-picker/language/index.html +0 -240
  46. data/app/assets/javascripts/date-picker/media/Thumbs.db +0 -0
  47. data/app/assets/javascripts/date-picker/media/backstripes.gif +0 -0
  48. data/app/assets/javascripts/date-picker/media/bg_header.jpg +0 -0
  49. data/app/assets/javascripts/date-picker/media/bullet1.gif +0 -0
  50. data/app/assets/javascripts/date-picker/media/bullet2.gif +0 -0
  51. data/app/assets/javascripts/date-picker/media/cal-grey.gif +0 -0
  52. data/app/assets/javascripts/date-picker/media/cal.gif +0 -0
  53. data/app/assets/javascripts/date-picker/media/gradient-e5e5e5-ffffff.gif +0 -0
  54. data/app/assets/javascripts/hydra/hydra-head.js +0 -195
  55. data/app/assets/javascripts/hydra/mediashelf.datepicker.js +0 -39
  56. data/app/assets/javascripts/hydra/mediashelf.placeholder.js +0 -67
  57. data/app/assets/javascripts/jquery.form.js +0 -1076
  58. data/app/assets/javascripts/jquery.ui.datepicker.js +0 -1793
  59. data/app/assets/javascripts/spin.min.js +0 -2
  60. data/app/assets/stylesheets/hydra/html_refactor.css +0 -79
  61. data/app/assets/stylesheets/hydra/hydrangea-split-button.css +0 -18
  62. data/app/assets/stylesheets/hydra/hydrangea.css +0 -288
  63. data/app/assets/stylesheets/hydra/ie-styles.css +0 -149
  64. data/app/assets/stylesheets/hydra/styles.css +0 -946
  65. data/app/assets/stylesheets/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  66. data/app/assets/stylesheets/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  67. data/app/assets/stylesheets/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  68. data/app/assets/stylesheets/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  69. data/app/assets/stylesheets/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  70. data/app/assets/stylesheets/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  71. data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  72. data/app/assets/stylesheets/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  73. data/app/assets/stylesheets/redmond/images/ui-icons_217bc0_256x240.png +0 -0
  74. data/app/assets/stylesheets/redmond/images/ui-icons_2e83ff_256x240.png +0 -0
  75. data/app/assets/stylesheets/redmond/images/ui-icons_469bdd_256x240.png +0 -0
  76. data/app/assets/stylesheets/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  77. data/app/assets/stylesheets/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  78. data/app/assets/stylesheets/redmond/images/ui-icons_d8e7f3_256x240.png +0 -0
  79. data/app/assets/stylesheets/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  80. data/app/assets/stylesheets/redmond/jquery-ui-1.8.5.custom.css +0 -572
  81. data/app/controllers/downloads_controller.rb +0 -20
  82. data/app/controllers/hydra/application_controller.rb +0 -5
  83. data/app/controllers/hydra/assets_controller.rb +0 -12
  84. data/app/controllers/hydra/contributors_controller.rb +0 -115
  85. data/app/controllers/hydra/file_assets_controller.rb +0 -3
  86. data/app/controllers/hydra/permissions_controller.rb +0 -117
  87. data/app/controllers/user_sessions_controller.rb +0 -13
  88. data/app/helpers/application_helper.rb +0 -3
  89. data/app/helpers/article_metadata_helper.rb +0 -4
  90. data/app/helpers/blacklight_helper.rb +0 -4
  91. data/app/helpers/downloads_helper.rb +0 -4
  92. data/app/helpers/facets_helper.rb +0 -4
  93. data/app/helpers/generic_content_objects_helper.rb +0 -4
  94. data/app/helpers/hydra/application_helper_behavior.rb +0 -8
  95. data/app/helpers/hydra/article_metadata_helper_behavior.rb +0 -95
  96. data/app/helpers/hydra/blacklight_helper_behavior.rb +0 -128
  97. data/app/helpers/hydra/downloads_helper_behavior.rb +0 -24
  98. data/app/helpers/hydra/facets_helper_behavior.rb +0 -34
  99. data/app/helpers/hydra/generic_content_objects_helper_behavior.rb +0 -17
  100. data/app/helpers/hydra/hydra_assets_helper_behavior.rb +0 -76
  101. data/app/helpers/hydra/hydra_fedora_metadata_helper_behavior.rb +0 -379
  102. data/app/helpers/hydra/hydra_helper_behavior.rb +0 -195
  103. data/app/helpers/hydra/hydra_uploader_helper_behavior.rb +0 -23
  104. data/app/helpers/hydra/inline_editable_metadata_helper_behavior.rb +0 -21
  105. data/app/helpers/hydra/javascript_includes_helper_behavior.rb +0 -94
  106. data/app/helpers/hydra/personalization_helper_behavior.rb +0 -49
  107. data/app/helpers/hydra/release_process_helper_behavior.rb +0 -37
  108. data/app/helpers/hydra_assets_helper.rb +0 -4
  109. data/app/helpers/hydra_fedora_metadata_helper.rb +0 -4
  110. data/app/helpers/hydra_helper.rb +0 -4
  111. data/app/helpers/hydra_uploader_helper.rb +0 -4
  112. data/app/helpers/inline_editable_metadata_helper.rb +0 -4
  113. data/app/helpers/javascript_includes_helper.rb +0 -4
  114. data/app/helpers/personalization_helper.rb +0 -4
  115. data/app/helpers/release_process_helper.rb +0 -4
  116. data/app/models/file_asset.rb +0 -5
  117. data/app/models/generic_content.rb +0 -26
  118. data/app/models/generic_image.rb +0 -67
  119. data/app/models/hydra/datastream/properties.rb +0 -24
  120. data/app/models/mods_asset.rb +0 -24
  121. data/app/models/superuser.rb +0 -14
  122. data/app/models/user_attribute.rb +0 -37
  123. data/app/models/uses_default_partials.rb +0 -23
  124. data/app/views/_add_assets_links.html.erb +0 -14
  125. data/app/views/_flash_msg.html.erb +0 -5
  126. data/app/views/_user_util_links.html.erb +0 -31
  127. data/app/views/catalog/_citation.html.erb +0 -11
  128. data/app/views/catalog/_constraints_element.html.erb +0 -34
  129. data/app/views/catalog/_delete_partials/_default.html.erb +0 -22
  130. data/app/views/catalog/_document_list.html.erb +0 -11
  131. data/app/views/catalog/_edit_partials/_default.html.erb +0 -57
  132. data/app/views/catalog/_edit_partials/_default_details.html.erb +0 -13
  133. data/app/views/catalog/_facets.html.erb +0 -37
  134. data/app/views/catalog/_home.html.erb +0 -6
  135. data/app/views/catalog/_home_text.html.erb +0 -4
  136. data/app/views/catalog/_index_partials/_default.html.erb +0 -20
  137. data/app/views/catalog/_index_partials/_default_details.html.erb +0 -14
  138. data/app/views/catalog/_index_partials/_default_group.html.erb +0 -15
  139. data/app/views/catalog/_opensearch_response_metadata.html.erb +0 -2
  140. data/app/views/catalog/_show_partials/_default.html.erb +0 -21
  141. data/app/views/catalog/_show_partials/_default_details.html.erb +0 -15
  142. data/app/views/catalog/_show_partials/_facets.html.erb +0 -52
  143. data/app/views/catalog/_sms_form.html.erb +0 -21
  144. data/app/views/catalog/_sort_and_per_page.html.erb +0 -23
  145. data/app/views/catalog/_uva_tabs.html.erb +0 -10
  146. data/app/views/catalog/about.html.erb +0 -0
  147. data/app/views/catalog/show.html.erb +0 -40
  148. data/app/views/contributors/_add_contributor_split_button.html.erb +0 -10
  149. data/app/views/contributors/_edit_conference.html.erb +0 -29
  150. data/app/views/contributors/_edit_organization.html.erb +0 -29
  151. data/app/views/contributors/_edit_person.html.erb +0 -39
  152. data/app/views/contributors/_index.html.erb +0 -11
  153. data/app/views/contributors/_new.html.erb +0 -10
  154. data/app/views/contributors/_show_conference.html.erb +0 -12
  155. data/app/views/contributors/_show_organization.html.erb +0 -21
  156. data/app/views/contributors/_show_person.html.erb +0 -17
  157. data/app/views/contributors/new.html.erb +0 -14
  158. data/app/views/downloads/index.html.erb +0 -1
  159. data/app/views/generic_content_objects/_contributor_form.html.erb +0 -11
  160. data/app/views/generic_content_objects/_description_form.html.erb +0 -7
  161. data/app/views/generic_content_objects/_edit_description.html.erb +0 -23
  162. data/app/views/generic_content_objects/_new.html.erb +0 -0
  163. data/app/views/generic_content_objects/_show_description.html.erb +0 -41
  164. data/app/views/generic_contents/_edit.html.erb +0 -10
  165. data/app/views/generic_contents/_index.html.erb +0 -21
  166. data/app/views/generic_contents/_show.html.erb +0 -6
  167. data/app/views/generic_contents/_show_content.html.erb +0 -7
  168. data/app/views/generic_images/_edit.html.erb +0 -36
  169. data/app/views/generic_images/_index.html.erb +0 -24
  170. data/app/views/generic_images/_show.html.erb +0 -13
  171. data/app/views/generic_images/_show_all.html.erb +0 -14
  172. data/app/views/generic_images/_show_content.html.erb +0 -7
  173. data/app/views/hydra/file_assets/_asset_saved_flash.html.erb +0 -2
  174. data/app/views/hydra/file_assets/_deletable_result.html.erb +0 -5
  175. data/app/views/hydra/file_assets/_file_assets_form.html.erb +0 -11
  176. data/app/views/hydra/file_assets/_index.html.erb +0 -29
  177. data/app/views/hydra/file_assets/_new.html.erb +0 -6
  178. data/app/views/hydra/file_assets/_result.html.erb +0 -11
  179. data/app/views/hydra/file_assets/index.html.erb +0 -5
  180. data/app/views/hydra/permissions/_edit_person_permissions.html.erb +0 -30
  181. data/app/views/hydra/permissions/_index.html.erb +0 -46
  182. data/app/views/hydra/permissions/_new.html.erb +0 -14
  183. data/app/views/hydra/permissions/_permissions_form.html.erb +0 -23
  184. data/app/views/hydra/permissions/index.html.erb +0 -1
  185. data/app/views/hydra/permissions/new.html.erb +0 -1
  186. data/app/views/layouts/hydra-head.html.erb +0 -47
  187. data/app/views/mods_assets/_additional_info_form.html.erb +0 -44
  188. data/app/views/mods_assets/_contributor_form.html.erb +0 -14
  189. data/app/views/mods_assets/_edit.html.erb +0 -10
  190. data/app/views/mods_assets/_edit_description.html.erb +0 -73
  191. data/app/views/mods_assets/_edit_journal.html.erb +0 -57
  192. data/app/views/mods_assets/_index.html.erb +0 -1
  193. data/app/views/mods_assets/_index_list.html.erb +0 -37
  194. data/app/views/mods_assets/_index_table.html.erb +0 -7
  195. data/app/views/mods_assets/_progress_box.html.erb +0 -82
  196. data/app/views/mods_assets/_publication_form.html.erb +0 -13
  197. data/app/views/mods_assets/_show.html.erb +0 -39
  198. data/app/views/mods_assets/_show_additional_info.html.erb +0 -17
  199. data/app/views/mods_assets/_show_contributors.html.erb +0 -7
  200. data/app/views/mods_assets/_show_description.html.erb +0 -35
  201. data/app/views/mods_assets/_show_file_assets.html.erb +0 -22
  202. data/app/views/mods_assets/_show_journal.html.erb +0 -42
  203. data/app/views/mods_assets/_show_permissions.html.erb +0 -15
  204. data/app/views/mods_assets/_show_publication.html.erb +0 -8
  205. data/app/views/shared/_delete_asset_confirmation.html.erb +0 -17
  206. data/app/views/user_sessions/_login_form.html.erb +0 -10
  207. data/app/views/user_sessions/logged_out.html.erb +0 -1
  208. data/config/fedora.yml +0 -15
  209. data/config/jetty.yml +0 -6
  210. data/config/locales/hydra.en.yml +0 -7
  211. data/config/role_map_cucumber.yml +0 -10
  212. data/config/role_map_development.yml +0 -12
  213. data/config/role_map_production.yml +0 -2
  214. data/config/role_map_test.yml +0 -14
  215. data/config/routes.rb +0 -12
  216. data/config/solr.yml +0 -9
  217. data/config/solr_mappings.yml +0 -22
  218. data/db/migrate/20101105214243_add_user_attributes_table.rb +0 -15
  219. data/db/migrate/20101108192527_create_superusers.rb +0 -12
  220. data/fedora_conf/conf/development/fedora.fcfg +0 -1021
  221. data/fedora_conf/conf/test/fedora.fcfg +0 -1021
  222. data/hydra-head.gemspec +0 -41
  223. data/init.rb +0 -4
  224. data/install.rb +0 -1
  225. data/lib/application_helper.rb +0 -3
  226. data/lib/generators/hydra/assets_generator.rb +0 -50
  227. data/lib/generators/hydra/cucumber_support_generator.rb +0 -29
  228. data/lib/generators/hydra/head_generator.rb +0 -165
  229. data/lib/generators/hydra/hyhead_fixtures_generator.rb +0 -27
  230. data/lib/generators/hydra/templates/catalog_controller.rb +0 -162
  231. data/lib/generators/hydra/templates/config/fedora.yml +0 -14
  232. data/lib/generators/hydra/templates/config/initializers/action_dispatch_http_upload_monkey_patch.rb +0 -12
  233. data/lib/generators/hydra/templates/config/initializers/hydra_config.rb +0 -44
  234. data/lib/generators/hydra/templates/config/role_map_cucumber.yml +0 -10
  235. data/lib/generators/hydra/templates/config/role_map_development.yml +0 -12
  236. data/lib/generators/hydra/templates/config/role_map_production.yml +0 -2
  237. data/lib/generators/hydra/templates/config/role_map_test.yml +0 -15
  238. data/lib/generators/hydra/templates/config/solr.yml +0 -10
  239. data/lib/generators/hydra/templates/config/solr_mappings.yml +0 -22
  240. data/lib/generators/hydra/templates/fedora_conf/conf/development/fedora.fcfg +0 -1021
  241. data/lib/generators/hydra/templates/fedora_conf/conf/test/fedora.fcfg +0 -1021
  242. data/lib/generators/hydra/templates/migrations/create_superusers.rb +0 -12
  243. data/lib/generators/hydra/templates/solr_conf/conf/schema.xml +0 -124
  244. data/lib/generators/hydra/templates/solr_conf/conf/solrconfig.xml +0 -394
  245. data/lib/generators/hydra/templates/solr_conf/solr.xml +0 -35
  246. data/lib/hydra-head.rb +0 -29
  247. data/lib/hydra-head/controller.rb +0 -29
  248. data/lib/hydra-head/engine.rb +0 -29
  249. data/lib/hydra-head/routes.rb +0 -90
  250. data/lib/hydra-head/version.rb +0 -4
  251. data/lib/hydra.rb +0 -52
  252. data/lib/hydra/assets.rb +0 -7
  253. data/lib/hydra/assets_controller_helper.rb +0 -122
  254. data/lib/hydra/catalog.rb +0 -11
  255. data/lib/hydra/controller.rb +0 -26
  256. data/lib/hydra/controller/assets_controller_behavior.rb +0 -143
  257. data/lib/hydra/controller/catalog_controller_behavior.rb +0 -56
  258. data/lib/hydra/controller/controller_behavior.rb +0 -59
  259. data/lib/hydra/controller/file_assets_behavior.rb +0 -144
  260. data/lib/hydra/controller/repository_controller_behavior.rb +0 -119
  261. data/lib/hydra/controller/upload_behavior.rb +0 -139
  262. data/lib/hydra/file_assets.rb +0 -11
  263. data/lib/hydra/file_assets_helper.rb +0 -12
  264. data/lib/hydra/generic_content.rb +0 -130
  265. data/lib/hydra/generic_image.rb +0 -112
  266. data/lib/hydra/generic_user_attributes.rb +0 -41
  267. data/lib/hydra/global_configurable.rb +0 -46
  268. data/lib/hydra/model_methods.rb +0 -104
  269. data/lib/hydra/model_mixins.rb +0 -8
  270. data/lib/hydra/model_mixins/common_metadata.rb +0 -25
  271. data/lib/hydra/model_mixins/solr_document_extension.rb +0 -24
  272. data/lib/hydra/models/file_asset.rb +0 -78
  273. data/lib/hydra/repository_controller.rb +0 -28
  274. data/lib/hydra/rights_metadata.rb +0 -194
  275. data/lib/hydra/solr.rb +0 -9
  276. data/lib/hydra/submission_workflow.rb +0 -138
  277. data/lib/hydra/superuser_attributes.rb +0 -19
  278. data/lib/hydra/ui.rb +0 -6
  279. data/lib/hydra/ui/controller.rb +0 -46
  280. data/lib/hydra/workflow.rb +0 -5
  281. data/lib/hydra/workflow/controller.rb +0 -3
  282. data/lib/mediashelf/active_fedora_helper.rb +0 -73
  283. data/lib/prev_next_links.rb +0 -33
  284. data/lib/railties/active-fedora.rake +0 -1
  285. data/lib/railties/hydra-fixtures.rake +0 -50
  286. data/lib/railties/hydra_jetty.rake +0 -53
  287. data/lib/user_attributes_loader.rb +0 -26
  288. data/solr/conf/schema.xml +0 -116
  289. data/solr/conf/solrconfig.xml +0 -311
  290. data/solr/solr.xml +0 -35
  291. data/solr_conf/conf/schema.xml +0 -124
  292. data/solr_conf/conf/solrconfig.xml +0 -394
  293. data/solr_conf/solr.xml +0 -35
  294. data/tasks/active-fedora.rake +0 -1
  295. data/tasks/hydra-head-fixtures.rake +0 -58
  296. data/tasks/hydra-head.rake +0 -209
  297. data/tasks/hydra_jetty.rake +0 -53
  298. data/tasks/hyhead_rspec.rake +0 -57
  299. data/tasks/replicator.rake +0 -27
  300. data/tasks/solrizer-fedora.rake +0 -53
  301. data/tasks/solrizer.rake +0 -13
  302. data/test_support/etc/Gemfile +0 -46
  303. data/test_support/etc/common_metadata_asset.rb +0 -18
  304. data/test_support/features/absent_model_edit.feature +0 -27
  305. data/test_support/features/absent_model_search_result.feature +0 -18
  306. data/test_support/features/absent_model_show.feature +0 -27
  307. data/test_support/features/button_add_assets.feature +0 -22
  308. data/test_support/features/button_add_generic_content.feature +0 -11
  309. data/test_support/features/button_add_image.feature +0 -11
  310. data/test_support/features/button_add_mods_asset.feature +0 -11
  311. data/test_support/features/button_delete_asset.feature +0 -13
  312. data/test_support/features/contributor_add.feature +0 -44
  313. data/test_support/features/default_partials_edit.feature +0 -27
  314. data/test_support/features/default_partials_search_result.feature +0 -22
  315. data/test_support/features/default_partials_show.feature +0 -24
  316. data/test_support/features/file_upload.feature +0 -80
  317. data/test_support/features/generic_content_create.feature +0 -7
  318. data/test_support/features/generic_content_edit.feature +0 -21
  319. data/test_support/features/generic_content_search_result.feature +0 -22
  320. data/test_support/features/generic_content_show.feature +0 -20
  321. data/test_support/features/generic_image_create.feature +0 -7
  322. data/test_support/features/generic_image_edit.feature +0 -21
  323. data/test_support/features/generic_image_search_result.feature +0 -22
  324. data/test_support/features/generic_image_show.feature +0 -20
  325. data/test_support/features/home_page.feature +0 -9
  326. data/test_support/features/html_validity.feature +0 -43
  327. data/test_support/features/mods_asset_contributors_edit.feature +0 -88
  328. data/test_support/features/mods_asset_create.feature +0 -17
  329. data/test_support/features/mods_asset_edit.feature +0 -65
  330. data/test_support/features/mods_asset_edit_without_permission.feature +0 -15
  331. data/test_support/features/mods_asset_search_result.feature +0 -24
  332. data/test_support/features/mods_asset_show.feature +0 -90
  333. data/test_support/features/nonexistent_object_show.feature +0 -9
  334. data/test_support/features/permissions_add.feature +0 -16
  335. data/test_support/features/permissions_edit.feature +0 -65
  336. data/test_support/features/step_definitions/catalog_index_steps.rb +0 -14
  337. data/test_support/features/step_definitions/create_asset_steps.rb +0 -3
  338. data/test_support/features/step_definitions/edit_metadata_steps.rb +0 -72
  339. data/test_support/features/step_definitions/file_list_steps.rb +0 -36
  340. data/test_support/features/step_definitions/html_validity_steps.rb +0 -64
  341. data/test_support/features/step_definitions/hydra_metadata_steps.rb +0 -3
  342. data/test_support/features/step_definitions/hydra_steps.rb +0 -8
  343. data/test_support/features/step_definitions/inline_editable_edit_steps.rb +0 -77
  344. data/test_support/features/step_definitions/search_steps.rb +0 -88
  345. data/test_support/features/step_definitions/searching_steps.rb +0 -22
  346. data/test_support/features/step_definitions/show_document_steps.rb +0 -89
  347. data/test_support/features/step_definitions/user_steps.rb +0 -42
  348. data/test_support/features/step_definitions/web_steps.rb +0 -223
  349. data/test_support/features/support/env.rb +0 -57
  350. data/test_support/features/support/paths.rb +0 -85
  351. data/test_support/features/switch_users.feature +0 -14
  352. data/test_support/features/view_catalog_index.feature +0 -18
  353. data/test_support/fixtures/empty_file.txt +0 -0
  354. data/test_support/fixtures/hydra_test_default_partials.foxml.xml +0 -80
  355. data/test_support/fixtures/hydra_test_generic_content.foxml.xml +0 -138
  356. data/test_support/fixtures/hydra_test_generic_image.foxml.xml +0 -395
  357. data/test_support/fixtures/hydra_test_no_model.foxml.xml +0 -79
  358. data/test_support/fixtures/hydrangea_fixture_archivist_only_mods_article.foxml.xml +0 -1212
  359. data/test_support/fixtures/hydrangea_fixture_file_asset1.foxml.xml +0 -4946
  360. data/test_support/fixtures/hydrangea_fixture_mods_article1.foxml.xml +0 -234
  361. data/test_support/fixtures/hydrangea_fixture_mods_article2.foxml.xml +0 -177
  362. data/test_support/fixtures/hydrangea_fixture_mods_article3.foxml.xml +0 -170
  363. data/test_support/fixtures/hydrangea_fixture_mods_dataset1.foxml.xml +0 -187
  364. data/test_support/fixtures/hydrangea_fixture_uploaded_svg1.foxml.xml +0 -676
  365. data/test_support/fixtures/hydrus_admin_class1.foxml.xml +0 -176
  366. data/test_support/fixtures/image.jp2 +0 -0
  367. data/test_support/fixtures/libra-oa_1.foxml.xml +0 -2324
  368. data/test_support/fixtures/libra-oa_2.foxml.xml +0 -2422
  369. data/test_support/fixtures/libra-oa_7.foxml.xml +0 -1735
  370. data/test_support/fixtures/small_file.txt +0 -1
  371. data/test_support/spec/controllers/catalog_controller_spec.rb +0 -138
  372. data/test_support/spec/controllers/catalog_controller_viewing_context_spec.rb +0 -67
  373. data/test_support/spec/controllers/catalog_valid_html_spec.rb +0 -123
  374. data/test_support/spec/controllers/contributors_controller_spec.rb +0 -67
  375. data/test_support/spec/controllers/file_assets_controller_spec.rb +0 -194
  376. data/test_support/spec/controllers/hydra-assets_controller_spec.rb +0 -151
  377. data/test_support/spec/controllers/hydra_controller_spec.rb +0 -43
  378. data/test_support/spec/controllers/hydra_ui_controller_spec.rb +0 -21
  379. data/test_support/spec/controllers/permissions_controller_spec.rb +0 -39
  380. data/test_support/spec/controllers/user_sessions_controller_spec.rb +0 -35
  381. data/test_support/spec/factories.rb +0 -11
  382. data/test_support/spec/helpers/access_controls_enforcement_spec.rb +0 -119
  383. data/test_support/spec/helpers/access_controls_evaluation_spec.rb +0 -26
  384. data/test_support/spec/helpers/assets_controller_helper_spec.rb +0 -63
  385. data/test_support/spec/helpers/blacklight_helper_spec.rb +0 -60
  386. data/test_support/spec/helpers/file_assets_helper_spec.rb +0 -116
  387. data/test_support/spec/helpers/generic_content_objects_helper_spec.rb +0 -17
  388. data/test_support/spec/helpers/hydra-repository_controller_spec.rb +0 -54
  389. data/test_support/spec/helpers/hydra_assets_helper_spec.rb +0 -143
  390. data/test_support/spec/helpers/hydra_fedora_metadata_helper_spec.rb +0 -255
  391. data/test_support/spec/helpers/hydra_helper_spec.rb +0 -105
  392. data/test_support/spec/helpers/hydra_model_methods_spec.rb +0 -88
  393. data/test_support/spec/helpers/hydra_uploader_helper_spec.rb +0 -26
  394. data/test_support/spec/helpers/javascript_includes_helper_spec.rb +0 -51
  395. data/test_support/spec/integration/file_asset_spec.rb +0 -68
  396. data/test_support/spec/lib/catalog_spec.rb +0 -23
  397. data/test_support/spec/lib/global_configurable_spec.rb +0 -98
  398. data/test_support/spec/lib/hydra_submission_workflow_spec.rb +0 -141
  399. data/test_support/spec/lib/model_methods_spec.rb +0 -29
  400. data/test_support/spec/models/file_asset_spec.rb +0 -25
  401. data/test_support/spec/models/generic_content_spec.rb +0 -39
  402. data/test_support/spec/models/generic_image_spec.rb +0 -75
  403. data/test_support/spec/models/mods_asset_spec.rb +0 -20
  404. data/test_support/spec/models/solr_document_spec.rb +0 -17
  405. data/test_support/spec/models/user_spec.rb +0 -94
  406. data/test_support/spec/rcov.opts +0 -3
  407. data/test_support/spec/spec.opts +0 -4
  408. data/test_support/spec/spec_helper.rb +0 -63
  409. data/test_support/spec/support/matchers/helper_matcher.rb +0 -14
  410. data/test_support/spec/support/matchers/solr_matchers.rb +0 -60
  411. data/test_support/spec/unit/hydra-head-engine_spec.rb +0 -8
  412. 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