sufia 4.0.0.beta2 → 4.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (335) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -0
  3. data/README.md +6 -4
  4. data/SUFIA_VERSION +1 -1
  5. data/app/assets/images/folder.png +0 -0
  6. data/app/assets/javascripts/sufia.js +5 -0
  7. data/app/assets/javascripts/sufia/app.js +1 -0
  8. data/app/assets/javascripts/sufia/batch_select_all.js +1 -2
  9. data/app/assets/javascripts/sufia/dashboard_actions.js +13 -0
  10. data/app/assets/javascripts/sufia/editor.js +1 -1
  11. data/app/assets/javascripts/sufia/ga_events.js +10 -0
  12. data/app/assets/javascripts/sufia/search.js +67 -0
  13. data/app/assets/stylesheets/dashboard.css.scss +15 -1
  14. data/app/assets/stylesheets/sufia.css.scss +12 -0
  15. data/app/controllers/authorities_controller.rb +4 -4
  16. data/app/controllers/batch_controller.rb +4 -4
  17. data/app/controllers/collections_controller.rb +44 -0
  18. data/{lib → app/controllers/concerns}/sufia/batch_edits_controller_behavior.rb +1 -1
  19. data/app/controllers/concerns/sufia/catalog.rb +9 -45
  20. data/{lib → app/controllers/concerns}/sufia/controller.rb +11 -21
  21. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +34 -6
  22. data/{lib → app/controllers/concerns}/sufia/downloads_controller_behavior.rb +0 -0
  23. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +35 -0
  24. data/{lib → app/controllers/concerns}/sufia/files_controller/local_ingest_behavior.rb +19 -7
  25. data/{lib → app/controllers/concerns}/sufia/files_controller/upload_complete_behavior.rb +1 -1
  26. data/app/controllers/concerns/sufia/files_controller_behavior.rb +219 -0
  27. data/app/controllers/concerns/sufia/homepage_controller.rb +41 -0
  28. data/app/controllers/concerns/sufia/users_controller_behavior.rb +3 -2
  29. data/app/controllers/dashboard/collections_controller.rb +19 -0
  30. data/app/controllers/dashboard/files_controller.rb +13 -0
  31. data/app/controllers/dashboard/highlights_controller.rb +20 -0
  32. data/app/controllers/dashboard/lists_controller.rb +13 -0
  33. data/app/controllers/dashboard/shares_controller.rb +19 -0
  34. data/app/controllers/directory_controller.rb +8 -8
  35. data/app/controllers/featured_work_lists_controller.rb +1 -1
  36. data/app/controllers/homepage_controller.rb +4 -0
  37. data/app/controllers/single_use_links_controller.rb +6 -6
  38. data/app/controllers/single_use_links_viewer_controller.rb +6 -6
  39. data/app/controllers/static_controller.rb +4 -3
  40. data/app/helpers/batch_edits_helper.rb +3 -6
  41. data/app/helpers/content_block_helper.rb +7 -2
  42. data/app/helpers/generic_file_helper.rb +33 -39
  43. data/app/helpers/records_helper.rb +4 -0
  44. data/app/helpers/sufia/blacklight_override.rb +11 -0
  45. data/app/helpers/sufia/records_helper_behavior.rb +38 -0
  46. data/app/helpers/sufia/sufia_helper_behavior.rb +109 -0
  47. data/{sufia-models/lib/sufia/models → app/models/concerns/sufia}/solr_document_behavior.rb +6 -1
  48. data/app/models/contact_form.rb +13 -13
  49. data/app/uploaders/tinymce_asset_uploader.rb +2 -2
  50. data/app/views/_controls.html.erb +1 -1
  51. data/app/views/_flash_msg.html.erb +2 -8
  52. data/app/views/_ga.html.erb +4 -0
  53. data/app/views/_user_util_links.html.erb +7 -7
  54. data/app/views/advanced/_advanced_search_facets.html.erb +1 -1
  55. data/app/views/advanced/_advanced_search_fields.html.erb +2 -2
  56. data/app/views/advanced/_advanced_search_form.html.erb +12 -12
  57. data/app/views/batch/_metadata.html.erb +12 -12
  58. data/app/views/batch/_more_metadata.html.erb +1 -2
  59. data/app/views/batch/edit.html.erb +5 -5
  60. data/app/views/batch_edits/_check_all.html.erb +1 -1
  61. data/app/views/batch_edits/_delete_selected.html.erb +2 -3
  62. data/app/views/batch_edits/edit.html.erb +20 -21
  63. data/app/views/catalog/_bookmark_control.html.erb +7 -8
  64. data/app/views/catalog/_constraints_element.html.erb +2 -2
  65. data/app/views/catalog/_delete_partials/_default.html.erb +9 -12
  66. data/app/views/catalog/_document.html.erb +5 -5
  67. data/app/views/catalog/_document_list.html.erb +2 -2
  68. data/app/views/catalog/_edit_partials/_default.html.erb +6 -9
  69. data/app/views/catalog/_edit_partials/_default_details.html.erb +2 -4
  70. data/app/views/catalog/_email_form.html.erb +1 -1
  71. data/app/views/catalog/_facet_limit.html.erb +6 -7
  72. data/app/views/catalog/_facet_selected.html.erb +3 -3
  73. data/app/views/catalog/_folder_control.html.erb +7 -8
  74. data/app/views/catalog/_index_default.html.erb +2 -2
  75. data/app/views/catalog/_index_header_default.html.erb +20 -0
  76. data/app/views/catalog/_index_partials/_default_group.html.erb +1 -1
  77. data/app/views/catalog/_index_partials/_list_files.html.erb +5 -2
  78. data/app/views/catalog/_refworks_form.html.erb +2 -2
  79. data/app/views/catalog/_results_pagination.html.erb +1 -1
  80. data/app/views/catalog/_search_form.html.erb +24 -9
  81. data/app/views/catalog/_show_default.html.erb +2 -2
  82. data/app/views/catalog/_show_partials/_default.html.erb +4 -5
  83. data/app/views/catalog/_show_partials/_default_details.html.erb +5 -5
  84. data/app/views/catalog/_show_partials/_facets.html.erb +7 -7
  85. data/app/views/catalog/_show_tools.html.erb +6 -6
  86. data/app/views/catalog/_sms_form.html.erb +1 -1
  87. data/app/views/catalog/_sort_and_per_page.html.erb +8 -14
  88. data/app/views/catalog/citation.html.erb +1 -1
  89. data/app/views/catalog/email.erb +1 -1
  90. data/app/views/catalog/index.html.erb +16 -27
  91. data/app/views/catalog/recent.js.erb +1 -1
  92. data/app/views/catalog/show.html.erb +2 -2
  93. data/app/views/catalog/sms.erb +1 -1
  94. data/app/views/collections/_action_menu.html.erb +24 -0
  95. data/app/views/collections/_batch_edits_actions.html.erb +3 -0
  96. data/app/views/collections/_button_for_creating_empty_collection.html.erb +3 -0
  97. data/app/views/collections/_dashboard_document_list.html.erb +6 -0
  98. data/app/views/collections/_document_list.html.erb +10 -0
  99. data/app/views/collections/_edit_actions.html.erb +5 -0
  100. data/app/views/collections/_edit_descriptions.html.erb +20 -0
  101. data/app/views/collections/_form.html.erb +24 -0
  102. data/app/views/collections/_form_for_select_collection.html.erb +34 -0
  103. data/app/views/collections/_media_display.html.erb +1 -0
  104. data/app/views/collections/_paginate.html.erb +6 -0
  105. data/app/views/collections/_search_collection_dashboard_form.html.erb +10 -0
  106. data/app/views/collections/_show_actions.html.erb +7 -0
  107. data/app/views/collections/_show_descriptions.html.erb +8 -0
  108. data/app/views/collections/_show_fields.html.erb +0 -0
  109. data/app/views/collections/_single_item_action_fields.html.erb +6 -0
  110. data/app/views/collections/_sort_and_per_page.html.erb +29 -0
  111. data/app/views/collections/_view_type_group.html.erb +13 -0
  112. data/app/views/collections/edit.html.erb +30 -0
  113. data/app/views/collections/show.html.erb +32 -0
  114. data/app/views/contact_form/new.html.erb +13 -13
  115. data/app/views/dashboard/_action_menu.html.erb +29 -0
  116. data/app/views/dashboard/_collection_action_menu.html.erb +15 -0
  117. data/app/views/dashboard/_document_list.html.erb +1 -1
  118. data/app/views/dashboard/_facet_limit.html.erb +2 -2
  119. data/app/views/dashboard/_facet_pagination.html.erb +12 -12
  120. data/app/views/dashboard/_facet_selected.html.erb +2 -2
  121. data/app/views/dashboard/_facets.html.erb +2 -0
  122. data/app/views/dashboard/_index_partials/_default_group.html.erb +9 -2
  123. data/app/views/dashboard/_index_partials/_list_collections.html.erb +45 -0
  124. data/app/views/dashboard/_index_partials/_list_files.html.erb +5 -25
  125. data/app/views/dashboard/_results_pagination.html.erb +1 -1
  126. data/app/views/dashboard/_search_form.html.erb +2 -2
  127. data/app/views/dashboard/_show_partials/_default.html.erb +3 -3
  128. data/app/views/dashboard/_show_partials/_default_details.html.erb +5 -5
  129. data/app/views/dashboard/_show_partials/_facets.html.erb +6 -6
  130. data/app/views/dashboard/_sort_and_per_page.html.erb +24 -8
  131. data/app/views/dashboard/facet.html.erb +3 -3
  132. data/app/views/dashboard/index.html.erb +18 -41
  133. data/app/views/dashboard/lists/index.html.erb +59 -0
  134. data/app/views/generic_files/_breadcrumbs.html.erb +4 -4
  135. data/app/views/generic_files/_descriptions.html.erb +4 -4
  136. data/app/views/generic_files/_field_form.html.erb +5 -5
  137. data/app/views/generic_files/_flot_stats.js.erb +120 -0
  138. data/app/views/generic_files/_media_display.html.erb +14 -4
  139. data/app/views/generic_files/_permission.html.erb +3 -3
  140. data/app/views/generic_files/_permission_form.html.erb +20 -21
  141. data/app/views/generic_files/_show_actions.html.erb +13 -10
  142. data/app/views/generic_files/_show_details.html.erb +16 -9
  143. data/app/views/generic_files/_versioning.html.erb +3 -3
  144. data/app/views/generic_files/edit.html.erb +7 -7
  145. data/app/views/generic_files/edit_fields/_default.html.erb +3 -4
  146. data/app/views/generic_files/edit_fields/_description.html.erb +3 -4
  147. data/app/views/generic_files/edit_fields/_resource_type.html.erb +1 -3
  148. data/app/views/generic_files/edit_fields/_rights.html.erb +3 -5
  149. data/app/views/generic_files/edit_fields/_suffix.html.erb +1 -1
  150. data/app/views/generic_files/show.html.erb +3 -3
  151. data/app/views/generic_files/stats.html.erb +8 -124
  152. data/app/views/generic_files/upload/_alerts.html.erb +2 -4
  153. data/app/views/generic_files/upload/_form.html.erb +1 -1
  154. data/app/views/generic_files/upload/_local_file_import_chooser.html.erb +1 -1
  155. data/app/views/generic_files/upload/_tos_checkbox.html.erb +1 -1
  156. data/app/views/homepage/_featured.html.erb +3 -1
  157. data/app/views/{catalog → homepage}/_featured_researcher.html.erb +0 -0
  158. data/app/views/{catalog → homepage}/_home.html.erb +1 -0
  159. data/app/views/{catalog → homepage}/_home_content.html.erb +4 -4
  160. data/app/views/homepage/_home_header.html.erb +12 -0
  161. data/app/views/homepage/_marketing.html.erb +4 -0
  162. data/app/views/{catalog → homepage}/_recent_document.html.erb +10 -5
  163. data/app/views/homepage/_recents.html.erb +15 -0
  164. data/app/views/homepage/_sortable_featured.html.erb +3 -1
  165. data/app/views/{catalog → homepage}/_tagcloud.html.erb +0 -0
  166. data/app/views/homepage/index.html.erb +1 -0
  167. data/app/views/kaminari/blacklight/_first_page.html.erb +1 -1
  168. data/app/views/kaminari/blacklight/_last_page.html.erb +1 -1
  169. data/app/views/kaminari/blacklight/_next_page.html.erb +1 -1
  170. data/app/views/kaminari/blacklight/_page.html.erb +1 -1
  171. data/app/views/kaminari/blacklight/_prev_page.html.erb +1 -1
  172. data/app/views/layouts/_head_tag_content.html.erb +1 -1
  173. data/app/views/layouts/error.html.erb +2 -2
  174. data/app/views/layouts/homepage.html.erb +4 -4
  175. data/app/views/layouts/sufia-dashboard.html.erb +7 -7
  176. data/app/views/layouts/sufia-one-column.html.erb +4 -4
  177. data/app/views/layouts/sufia-two-column.html.erb +7 -7
  178. data/app/views/mailbox/index.html.erb +2 -2
  179. data/app/views/pages/show.html.erb +1 -0
  180. data/app/views/records/_edit_field.html.erb +18 -0
  181. data/app/views/records/edit_fields/_description.html.erb +10 -0
  182. data/app/views/records/edit_fields/_resource_type.html.erb +7 -0
  183. data/app/views/records/edit_fields/_rights.html.erb +6 -0
  184. data/app/views/records/edit_fields/_suffix.html.erb +9 -0
  185. data/app/views/records/edit_fields/_type.html.erb +13 -0
  186. data/app/views/single_use_links/new_download.html.erb +1 -1
  187. data/app/views/users/_activity.html.erb +1 -1
  188. data/app/views/users/_contributions.html.erb +3 -1
  189. data/app/views/users/_left_sidebar.html.erb +1 -1
  190. data/app/views/users/_notify_link.html.erb +2 -2
  191. data/app/views/users/_profile.html.erb +2 -2
  192. data/app/views/users/_search_form.html.erb +3 -3
  193. data/app/views/users/edit.html.erb +15 -15
  194. data/app/views/users/index.html.erb +3 -3
  195. data/app/views/users/notifications_number.js.erb +1 -1
  196. data/config/locales/sufia.en.yml +13 -2
  197. data/config/routes.rb +56 -20
  198. data/db/seeds.rb +2 -2
  199. data/lib/generators/sufia/sufia_generator.rb +14 -4
  200. data/lib/generators/sufia/templates/catalog_controller.rb +98 -97
  201. data/lib/generators/sufia/templates/sufia_helper.rb +5 -0
  202. data/lib/sufia.rb +4 -0
  203. data/spec/{models/generic_file/actions_spec.rb → actors/generic_file/actor_spec.rb} +2 -2
  204. data/spec/controllers/authorities_controller_spec.rb +7 -7
  205. data/spec/controllers/batch_controller_spec.rb +22 -23
  206. data/spec/controllers/batch_edits_controller_spec.rb +4 -4
  207. data/spec/controllers/catalog_controller_spec.rb +27 -37
  208. data/spec/controllers/collections_controller_spec.rb +179 -0
  209. data/spec/controllers/dashboard/collections_controller_spec.rb +71 -0
  210. data/spec/controllers/dashboard/files_controller_spec.rb +71 -0
  211. data/spec/controllers/dashboard/highlights_controller_spec.rb +66 -0
  212. data/spec/controllers/dashboard/shares_controller_spec.rb +78 -0
  213. data/spec/controllers/dashboard_controller_spec.rb +0 -47
  214. data/spec/controllers/downloads_controller_spec.rb +10 -11
  215. data/spec/controllers/generic_files_controller_spec.rb +147 -118
  216. data/spec/controllers/homepage_controller_spec.rb +57 -0
  217. data/spec/controllers/mailbox_controller_spec.rb +3 -3
  218. data/spec/controllers/single_use_links_viewer_controller_spec.rb +3 -3
  219. data/spec/factories/generic_files.rb +4 -0
  220. data/spec/factories/users.rb +0 -1
  221. data/spec/features/browse_dashboard_files_spec.rb +5 -1
  222. data/spec/features/collection_spec.rb +232 -0
  223. data/spec/features/display_dashboard_spec.rb +1 -0
  224. data/spec/features/notifications_spec.rb +1 -1
  225. data/spec/features/search_spec.rb +22 -0
  226. data/spec/features/single_use_links_spec.rb +2 -2
  227. data/spec/features/users_spec.rb +1 -1
  228. data/spec/fixtures/charter.docx +0 -0
  229. data/spec/helpers/records_helper_spec.rb +61 -0
  230. data/spec/helpers/sufia_helper_spec.rb +40 -2
  231. data/spec/{models → jobs}/active_fedora_pid_based_job_spec.rb +0 -0
  232. data/spec/{models → jobs}/audit_job_spec.rb +0 -2
  233. data/spec/{models → jobs}/batch_update_job_spec.rb +2 -2
  234. data/spec/jobs/characterize_job_spec.rb +25 -0
  235. data/spec/jobs/create_derivatives_job_spec.rb +186 -0
  236. data/spec/{models → jobs}/event_jobs_spec.rb +0 -1
  237. data/spec/jobs/import_url_job_spec.rb +36 -14
  238. data/spec/jobs/ingest_local_file_job_spec.rb +2 -2
  239. data/spec/lib/sufia/analytics_spec.rb +29 -0
  240. data/spec/lib/sufia/upload_complete_behavior_spec.rb +1 -1
  241. data/spec/models/batch_spec.rb +3 -9
  242. data/spec/models/checksum_audit_log_spec.rb +5 -6
  243. data/spec/models/collection_spec.rb +24 -0
  244. data/spec/models/download_spec.rb +21 -0
  245. data/spec/models/featured_work_list_spec.rb +0 -1
  246. data/spec/models/file_content_datastream_spec.rb +8 -14
  247. data/spec/models/file_usage_spec.rb +91 -0
  248. data/spec/models/fits_datastream_spec.rb +1 -1
  249. data/spec/models/generic_file/web_form_spec.rb +2 -2
  250. data/spec/models/generic_file_rdf_datastream_spec.rb +12 -0
  251. data/spec/models/generic_file_spec.rb +150 -168
  252. data/spec/models/local_authority_spec.rb +9 -9
  253. data/spec/models/{pageview.rb → pageview_spec.rb} +0 -0
  254. data/spec/models/single_use_link_spec.rb +32 -35
  255. data/spec/routing/route_spec.rb +19 -3
  256. data/spec/spec_helper.rb +28 -6
  257. data/spec/support/features/session_helpers.rb +5 -6
  258. data/spec/support/lib/generators/test_app_generator.rb +6 -0
  259. data/spec/views/generic_file/edit.html.erb_spec.rb +4 -4
  260. data/spec/views/generic_file/show.html.erb_spec.rb +45 -17
  261. data/spec/views/generic_file/stats.html.erb_spec.rb +26 -7
  262. data/sufia-models/app/actors/sufia/generic_file/actor.rb +98 -0
  263. data/sufia-models/app/models/batch.rb +3 -3
  264. data/sufia-models/app/models/checksum_audit_log.rb +3 -3
  265. data/sufia-models/app/models/collection.rb +41 -0
  266. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file.rb +33 -43
  267. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/accessible_attributes.rb +3 -3
  268. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/audit.rb +12 -18
  269. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/characterization.rb +1 -8
  270. data/sufia-models/app/models/concerns/sufia/generic_file/derivatives.rb +26 -0
  271. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/export.rb +13 -13
  272. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/featured.rb +0 -0
  273. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/metadata.rb +0 -0
  274. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/mime_types.rb +15 -1
  275. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/permissions.rb +5 -1
  276. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/reload_on_save.rb +0 -0
  277. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/trophies.rb +0 -0
  278. data/sufia-models/app/models/concerns/sufia/generic_file/versions.rb +16 -0
  279. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/virus_check.rb +2 -3
  280. data/sufia-models/{lib/sufia/models → app/models/concerns/sufia}/generic_file/web_form.rb +9 -2
  281. data/sufia-models/app/models/concerns/sufia/properties_datastream_behavior.rb +3 -4
  282. data/sufia-models/app/models/concerns/sufia/user.rb +2 -2
  283. data/sufia-models/app/models/datastreams/fits_datastream.rb +137 -136
  284. data/sufia-models/app/models/datastreams/generic_file_rdf_datastream.rb +6 -0
  285. data/sufia-models/app/models/datastreams/paranoid_rights_datastream.rb +3 -3
  286. data/sufia-models/app/models/file_usage.rb +53 -0
  287. data/sufia-models/app/models/follow.rb +2 -4
  288. data/sufia-models/app/models/geo_names_resource.rb +5 -7
  289. data/sufia-models/app/models/local_authority.rb +14 -14
  290. data/sufia-models/app/models/single_use_link.rb +1 -1
  291. data/sufia-models/app/models/sufia/download.rb +9 -0
  292. data/sufia-models/app/models/trophy.rb +1 -1
  293. data/sufia-models/app/services/sufia/{usage_statistics.rb → analytics.rb} +1 -24
  294. data/sufia-models/app/services/sufia/id_service.rb +2 -2
  295. data/sufia-models/lib/generators/sufia/models/install_generator.rb +5 -2
  296. data/sufia-models/lib/generators/sufia/models/templates/config/setup_mail.rb +1 -1
  297. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +5 -3
  298. data/sufia-models/lib/generators/sufia/models/templates/migrations/acts_as_follower_migration.rb +6 -6
  299. data/sufia-models/lib/generators/sufia/models/templates/migrations/create_checksum_audit_logs.rb +2 -3
  300. data/sufia-models/lib/generators/sufia/models/templates/migrations/create_local_authorities.rb +20 -20
  301. data/sufia-models/lib/sufia/ability.rb +1 -1
  302. data/sufia-models/lib/sufia/models/engine.rb +3 -9
  303. data/sufia-models/lib/sufia/models/file_content/versions.rb +3 -3
  304. data/sufia-models/lib/sufia/models/jobs/active_fedora_pid_based_job.rb +6 -2
  305. data/sufia-models/lib/sufia/models/jobs/batch_update_job.rb +6 -10
  306. data/sufia-models/lib/sufia/models/jobs/characterize_job.rb +1 -13
  307. data/sufia-models/lib/sufia/models/jobs/create_derivatives_job.rb +14 -0
  308. data/sufia-models/lib/sufia/models/jobs/import_url_job.rb +27 -23
  309. data/sufia-models/lib/tasks/sufia-models_tasks.rake +1 -1
  310. data/sufia-models/sufia-models.gemspec +1 -1
  311. data/sufia.gemspec +7 -2
  312. data/tasks/jetty.rake +4 -4
  313. data/tasks/release.rake +8 -8
  314. data/tasks/sufia-db.rake +4 -4
  315. data/tasks/sufia-dev.rake +11 -5
  316. metadata +226 -95
  317. data/app/helpers/sufia_helper.rb +0 -93
  318. data/app/views/catalog/_bookmark_form.html.erb +0 -8
  319. data/app/views/catalog/_home_header.html.erb +0 -15
  320. data/app/views/catalog/_recents.html.erb +0 -17
  321. data/app/views/dashboard/_index_partials/_thumbnail_display.html.erb +0 -9
  322. data/app/views/layouts/_homepage_sidebar2.html.erb +0 -14
  323. data/lib/sufia/files_controller_behavior.rb +0 -253
  324. data/spec/helpers/generic_file_helper_spec.rb +0 -28
  325. data/spec/lib/sufia/usage_statistics_spec.rb +0 -75
  326. data/spec/models/characterize_job_spec.rb +0 -93
  327. data/spec/models/transcode_audio_job_spec.rb +0 -85
  328. data/spec/models/transcode_video_job_spec.rb +0 -31
  329. data/spec/views/dashboard/index_partials/_thumbnail_display.html.erb_spec.rb +0 -22
  330. data/sufia-models/lib/sufia/models/generic_file/actions.rb +0 -50
  331. data/sufia-models/lib/sufia/models/generic_file/derivatives.rb +0 -31
  332. data/sufia-models/lib/sufia/models/generic_file/thumbnail.rb +0 -37
  333. data/sufia-models/lib/sufia/models/generic_file/versions.rb +0 -16
  334. data/sufia-models/lib/sufia/models/jobs/transcode_audio_job.rb +0 -15
  335. data/sufia-models/lib/sufia/models/jobs/transcode_video_job.rb +0 -15
@@ -19,13 +19,18 @@ module Sufia
19
19
  # Offer the source (ActiveFedora-based) model to Rails for some of the
20
20
  # Rails methods (e.g. link_to).
21
21
  # @example
22
- # link_to '...', SolrDocument(:id => 'bXXXXXX5').new => <a href="/dams_object/bXXXXXX5">...</a>
22
+ # link_to '...', SolrDocument(id: 'bXXXXXX5').new => <a href="/dams_object/bXXXXXX5">...</a>
23
23
  def to_model
24
24
  m = ActiveFedora::Base.load_instance_from_solr(id, self)
25
25
  return self if m.class == ActiveFedora::Base
26
26
  m
27
27
  end
28
28
 
29
+ # Method to return the ActiveFedora model
30
+ def hydra_model
31
+ self[Solrizer.solr_name('active_fedora_model', Solrizer::Descriptor.new(:string, :stored, :indexed))]
32
+ end
33
+
29
34
  def noid
30
35
  self[Solrizer.solr_name('noid', Sufia::GenericFile.noid_indexer)]
31
36
  end
@@ -1,28 +1,28 @@
1
1
  require 'mail_form'
2
2
 
3
3
  class ContactForm < MailForm::Base
4
- ISSUE_TYPES = [
4
+ ISSUE_TYPES = [
5
5
  ["Depositing content", "Depositing content"],
6
6
  ["Making changes to my content", "Making changes to my content"],
7
- ["Browsing and searching", "Browsing and searching"],
7
+ ["Browsing and searching", "Browsing and searching"],
8
8
  ["Reporting a problem", "Reporting a problem"],
9
9
  ["General inquiry or request", "General inquiry or request"]
10
- ]
11
- attribute :contact_method, :captcha => true
12
- attribute :category, :validate => true
13
- attribute :name, :validate => true
14
- attribute :email, :validate => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
15
- attribute :subject, :validate => true
16
- attribute :message, :validate => true
17
- # - can't use this without ActiveRecord::Base validates_inclusion_of :issue_type, :in => ISSUE_TYPES
10
+ ]
11
+ attribute :contact_method, captcha: true
12
+ attribute :category, validate: true
13
+ attribute :name, validate: true
14
+ attribute :email, validate: /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
15
+ attribute :subject, validate: true
16
+ attribute :message, validate: true
17
+ # - can't use this without ActiveRecord::Base validates_inclusion_of :issue_type, in: ISSUE_TYPES
18
18
 
19
19
  # Declare the e-mail headers. It accepts anything the mail method
20
20
  # in ActionMailer accepts.
21
21
  def headers
22
22
  {
23
- :subject => "Contact Form:#{subject}",
24
- :to => Sufia.config.contact_email,
25
- :from => Sufia.config.from_email
23
+ subject: "Contact Form:#{subject}",
24
+ to: Sufia.config.contact_email,
25
+ from: Sufia.config.from_email
26
26
  }
27
27
  end
28
28
  end
@@ -25,7 +25,7 @@ class TinymceAssetUploader < CarrierWave::Uploader::Base
25
25
  # end
26
26
 
27
27
  # Process files as they are uploaded:
28
- # process :scale => [200, 300]
28
+ # process scale: [200, 300]
29
29
  #
30
30
  # def scale(width, height)
31
31
  # # do something
@@ -33,7 +33,7 @@ class TinymceAssetUploader < CarrierWave::Uploader::Base
33
33
 
34
34
  # Create different versions of your uploaded files:
35
35
  # version :thumb do
36
- # process :scale => [50, 50]
36
+ # process scale: [50, 50]
37
37
  # end
38
38
 
39
39
  # Add a white list of extensions which are allowed to be uploaded.
@@ -11,7 +11,7 @@
11
11
  </nav><!-- /.navbar -->
12
12
  </div>
13
13
  <div class="col-xs-12 col-sm-7 col-md-6">
14
- <%= render :partial => 'catalog/search_form' %>
14
+ <%= render partial: 'catalog/search_form' %>
15
15
  </div>
16
16
  </div> <!-- /.row -->
17
17
  </div><!-- /#masthead_controls -->
@@ -1,13 +1,7 @@
1
- <%
2
- flash_types_to_classes = {
3
- :notice => 'alert-success',
4
- :error => 'alert',
5
- :alert => 'alert-error'
6
- }
7
- %>
1
+ <% flash_types_to_classes = { notice: 'alert-success', error: 'alert-danger', alert: 'alert-warning' } %>
8
2
  <% [:notice, :error, :alert].each do |type| %>
9
3
  <% if flash[type] %>
10
- <div class="alert alert-dismissable <%= flash_types_to_classes[type] rescue '' %> ui-corner-all <%= type.to_s %>">
4
+ <div class="alert <%= flash_types_to_classes[type] rescue '' %>">
11
5
  <a class="close" data-dismiss="alert" href="#">&times;</a>
12
6
  <% if flash[type].respond_to? :join %>
13
7
  <%= flash[type].join("<br/>").html_safe %>
@@ -5,6 +5,10 @@ tracking_id = Sufia.config.google_analytics_id
5
5
  <script type="text/javascript">
6
6
  var _gaq = _gaq || [];
7
7
  _gaq.push(['_setAccount', '<%= tracking_id %>']);
8
+ <% if Rails.env.development? %>
9
+ // This allows us to look at GA data live from locahost
10
+ _gaq.push(['_setDomainName', 'none']);
11
+ <% end %>
8
12
  _gaq.push(['_trackPageview']);
9
13
 
10
14
  (function() {
@@ -1,19 +1,19 @@
1
1
  <% if user_signed_in? %>
2
2
  <div class="btn-group" id="user_utility_links">
3
- <%= render :partial => 'users/notify_link' %>
3
+ <%= render partial: 'users/notify_link' %>
4
4
  <a href="<%= sufia.profile_path(current_user) %>" class="btn btn-default " id="profile_link" title="click for User Profile"><i class="glyphicon glyphicon-user">&nbsp;</i><%= current_user.name %>
5
5
  </a>
6
- <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"><span class="icon-caret-down" title="click for additional menu options"></span></a>
6
+ <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret" title="click for additional menu options"></span></a>
7
7
  <ul class="dropdown-menu dropdown-menu-right" role="menu">
8
- <li><%= link_to raw('<i class="glyphicon glyphicon-dashboard"></i> my dashboard'), sufia.dashboard_index_path, :id => 'dashboard_nav_link' %></li>
9
- <li><%= link_to raw('<i class="glyphicon glyphicon-upload"></i> upload'), sufia.new_generic_file_path, :id => 'upload_nav_link' %></li>
10
- <li><%= link_to raw('<i class="glyphicon glyphicon-cog"></i> edit profile'), sufia.edit_profile_path(current_user), :id => 'upload_nav_link' %></li>
8
+ <li><%= link_to raw('<i class="glyphicon glyphicon-dashboard"></i> my dashboard'), sufia.dashboard_index_path, id: 'dashboard_nav_link' %></li>
9
+ <li><%= link_to raw('<i class="glyphicon glyphicon-upload"></i> upload'), sufia.new_generic_file_path, id: 'upload_nav_link' %></li>
10
+ <li><%= link_to raw('<i class="glyphicon glyphicon-cog"></i> edit profile'), sufia.edit_profile_path(current_user), id: 'upload_nav_link' %></li>
11
11
  <li class="divider"></li>
12
- <li><%= link_to raw('<i class="glyphicon glyphicon-signout"></i> log out'), destroy_user_session_path, :id => 'logout_nav_link' %></li>
12
+ <li><%= link_to raw('<i class="glyphicon glyphicon-signout"></i> log out'), destroy_user_session_path, id: 'logout_nav_link' %></li>
13
13
  </ul>
14
14
  </div><!-- /.btn-group -->
15
15
  <% else %>
16
16
  <div class="btn-group login_button pull-right">
17
- <%= link_to raw('<span class="glyphicon glyphicon-log-in"></span> Login'), new_user_session_path, :class => "btn btn-default btn-group" %>
17
+ <%= link_to raw('<span class="glyphicon glyphicon-log-in"></span> Login'), new_user_session_path, class: "btn btn-default btn-group" %>
18
18
  </div>
19
19
  <% end %>
@@ -1 +1 @@
1
- <%= render_facet_partials facet_field_names, :partial => 'facet_limit' %>
1
+ <%= render_facet_partials facet_field_names, partial: 'facet_limit' %>
@@ -1,8 +1,8 @@
1
1
  <%- search_fields_for_advanced_search.each do |key, field_def| -%>
2
2
  <div class="control-group">
3
- <%= label_tag key, "#{field_def.label }:", :class => 'control-label' %>
3
+ <%= label_tag key, "#{field_def.label }:", class: 'control-label' %>
4
4
  <div class="controls">
5
- <%= text_field_tag key, label_tag_default_for(key), :class => 'input-large' %>
5
+ <%= text_field_tag key, label_tag_default_for(key), class: 'input-large' %>
6
6
  </div>
7
7
  </div>
8
8
  <%- end -%>
@@ -1,37 +1,37 @@
1
- <%= form_tag catalog_index_path, :class => 'form-horizontal', :method => :get do %>
1
+ <%= form_tag catalog_index_path, class: 'form-horizontal', method: :get do %>
2
2
 
3
3
  <%= render_hash_as_hidden_fields(params_for_search(advanced_search_context)) %>
4
4
 
5
- <div>
6
-
5
+ <div>
6
+
7
7
  <div>
8
8
  <div class="control-group">
9
9
  <label class="control-label">Find items that match</label>
10
10
  <div class="controls">
11
- <%= select_tag(:op, options_for_select({'all'=>'AND','any'=>'OR'}.sort,'all'), :class => "span10") %> of the fields below:
11
+ <%= select_tag(:op, options_for_select({ all: 'AND', any: 'OR'}.sort, 'all'), class: "span10") %> of the fields below:
12
12
  </div>
13
13
  </div>
14
-
14
+
15
15
  <div id="advanced_search">
16
16
  <%= render 'advanced/advanced_search_fields' %>
17
- </div>
17
+ </div>
18
18
  </div>
19
19
  </div>
20
-
20
+
21
21
  <% unless (search_context_str = render_search_to_s( advanced_search_context)).blank? %>
22
22
  <div>
23
23
  <p>Within search:</p>
24
24
  <%= search_context_str %>
25
25
  </div>
26
26
  <% end %>
27
-
28
-
27
+
28
+
29
29
  <div class="form-actions">
30
- <%= label_tag(:sort, "Sort results by") %>
30
+ <%= label_tag(:sort, "Sort results by") %>
31
31
  <%= select_tag(:sort, options_for_select(sort_fields, h(params[:sort]))) %>
32
32
  <%= hidden_field_tag(:search_field, blacklight_config.advanced_search[:url_key]) %>
33
33
  <br />
34
- <%= submit_tag 'Search', :class=>'btn btn-primary', :id=>'advanced_search' %>
35
- <%= link_to "Start over", {:controller => "advanced", :action => "index"}, :class =>"btn" %>
34
+ <%= submit_tag 'Search', class: 'btn btn-primary', id: 'advanced_search' %>
35
+ <%= link_to "Start over", {controller: "advanced", action: "index"}, class:"btn" %>
36
36
  </div>
37
37
  <% end %>
@@ -7,9 +7,9 @@
7
7
  <div class="span60">
8
8
  <% @batch.generic_files.sort! { |a,b| a.label.downcase <=> b.label.downcase }.each_with_index do |gen_f, index| %>
9
9
  <div class="control-group">
10
- <%= f.label :title, "<span class='error'>*</span> Title #{index+1}".html_safe, :class=>"control-label" %>
10
+ <%= f.label :title, "<span class='error'>*</span> Title #{index + 1}".html_safe, class: "control-label" %>
11
11
  <div class="controls" id="additional_title_clone">
12
- <%= f.text_field :title, :name=>"title[#{gen_f.id}][]", :value=>gen_f.label, :required=> true %>
12
+ <%= f.text_field :title, name: "title[#{gen_f.id}][]", value: gen_f.label, required: true %>
13
13
  <%= help_icon(:title) %>
14
14
  </div>
15
15
  </div>
@@ -28,18 +28,18 @@
28
28
  <div class="well">
29
29
  <div class="control-group" id="resources">
30
30
  <%# See if this works: render_edit_field_partial(:type, f:f) %>
31
- <%= f.label :resource_type, "Resource Types", :class=>"control-label", :for=>"resource_type" %>
31
+ <%= f.label :resource_type, "Resource Types", class: "control-label", for: "resource_type" %>
32
32
  <div class="controls">
33
33
  <p class="help-block">You may select multiple types to apply to all files<p>
34
- <%= f.select "resource_type", Sufia::Engine::config.resource_types, {}, {:multiple=>true, :size=>7} %>
34
+ <%= f.select "resource_type", Sufia::Engine::config.resource_types, {}, { multiple: true, size: 7 } %>
35
35
  <%= help_icon(:resource_type) %>
36
36
  </div>
37
37
  </div>
38
38
 
39
39
  <div class="control-group">
40
- <%= f.label :tag, "<span class='error'>*</span> Keyword".html_safe, :class=>"control-label" %>
40
+ <%= f.label :tag, "<span class='error'>*</span> Keyword".html_safe, class: "control-label" %>
41
41
  <div class="controls" id="additional_tag_clone">
42
- <%= f.text_field :tag, :name=>"generic_file[tag][]", :value=>"", :required=> true %>
42
+ <%= f.text_field :tag, name: "generic_file[tag][]", value: "", required: true %>
43
43
  <button class="adder btn" name="additional_tag" id="additional_tag_submit">+<span class="sr-only">add another Tag</span></button>
44
44
  &nbsp;
45
45
  <%= help_icon(:tag) %>
@@ -48,9 +48,9 @@
48
48
  </div>
49
49
 
50
50
  <div class="control-group">
51
- <%= f.label :creator, "<span class='error'>*</span> Creator".html_safe, :class=>"control-label" %>
51
+ <%= f.label :creator, "<span class='error'>*</span> Creator".html_safe, class: "control-label" %>
52
52
  <div class="controls" id="additional_creator_clone">
53
- <%= f.text_field :creator, :name=>"generic_file[creator][]", :value=>"", :required=> true %>
53
+ <%= f.text_field :creator, name: "generic_file[creator][]", value: "", required: true %>
54
54
  <button class="adder btn" name="additional_creator" id="additional_creator_submit">+<span class="sr-only">add another Creator</span></button>
55
55
  &nbsp;
56
56
  <%= help_icon(:creator) %>
@@ -59,14 +59,14 @@
59
59
  </div>
60
60
 
61
61
  <div class="control-group">
62
- <%= f.label :rights, '<span class="error">*</span> Rights'.html_safe, :class=>"control-label" %>
62
+ <%= f.label :rights, '<span class="error">*</span> Rights'.html_safe, class: "control-label" %>
63
63
  <div class="controls" id="additional_rights_clone">
64
- <%= f.select "rights", options_for_select(Sufia::Engine::config.cc_licenses, 'http://creativecommons.org/licenses/by-nc-nd/3.0/us/'), :required => true %>
64
+ <%= f.select "rights", options_for_select(Sufia::Engine::config.cc_licenses, 'http://creativecommons.org/licenses/by-nc-nd/3.0/us/'), required: true %>
65
65
  <button class="adder btn" name="additional_rights" id="additional_rights_submit">+<span class="sr-only">add another Rights</span></button>
66
66
  &nbsp;
67
67
  <%= help_icon(:rights) %>
68
- <%= render :partial => "generic_files/rights_modal" %>
69
-
68
+ <%= render partial: "generic_files/rights_modal" %>
69
+
70
70
  </div>
71
71
  <div id="additional_rights_elements"></div>
72
72
  </div>
@@ -1,6 +1,5 @@
1
1
  <div class="hide" id="more_descriptions">
2
2
  <% (@generic_file.terms_for_editing - [:title, :creator, :rights, :tag, :resource_type]).each do |term| %>
3
- <%= render :partial => "generic_files/field_form", :locals => { :generic_file => @generic_file, :f =>f, :render_req => false, :key => term } %>
3
+ <%= render partial: "generic_files/field_form", locals: { generic_file: @generic_file, f: f, render_req: false, key: term } %>
4
4
  <% end %>
5
5
  </div> <!-- /more_descriptions -->
6
-
@@ -23,17 +23,17 @@ function confirmExit(){
23
23
  <br />
24
24
  <div class="alert">The information you provide for Title will be applied to the corresponding file only; however all other
25
25
  information you provide will be applied <em>to the entire batch of files</em> you have just deposited into <%= t('sufia.product_name') %>.
26
- You may edit individual files from <%= link_to '<i class="icon-dashboard"></i> my dashboard'.html_safe, sufia.dashboard_index_path %> once
26
+ You may edit individual files from <%= link_to "<i class='icon-dashboard'></i> #{t('sufia.bread_crumb.file_list')}".html_safe, sufia.dashboard_files_path %> once
27
27
  this step is finished.
28
28
  </div>
29
- <%= form_for([@batch, @generic_file], :url => sufia.batch_generic_files_path, :html => {:multipart => true, :class => 'form-horizontal'}) do |f| %>
29
+ <%= form_for([@batch, @generic_file], url: sufia.batch_generic_files_path, html: { multipart: true, class: 'form-horizontal' }) do |f| %>
30
30
 
31
- <%= render :partial => 'metadata', :formats => [:html], :locals => {:f => f} %>
31
+ <%= render partial: 'metadata', formats: [:html], locals: {f: f} %>
32
32
 
33
- <%= render :partial => 'generic_files/permission_form', :formats => [:html], :locals => { :gf => @generic_file, :batch=> @batch } %>
33
+ <%= render partial: 'generic_files/permission_form', formats: [:html], locals: { gf: @generic_file, batch: @batch } %>
34
34
 
35
35
  <div class="row form-actions" id="permissions_submit">
36
- <%= button_tag '<i class="icon-save"></i> Save'.html_safe, :type => 'submit', :class => 'btn-primary btn-large', :onclick => "confirmation_needed = false;", :id => "upload_submit", :name => "update_permission" %>
36
+ <%= button_tag '<i class="icon-save"></i> Save'.html_safe, type: 'submit', class: 'btn-primary btn-large', onclick: "confirmation_needed = false;", id: "upload_submit", name: "update_permission" %>
37
37
  </div>
38
38
 
39
39
  <% end %>
@@ -1,6 +1,6 @@
1
1
  <% if !@disable_select_all %>
2
2
  <div class="dropdown" >
3
- <%= check_box_tag 'check_all', 'yes', @all_checked, :disabled => ((@batch_size_on_other_page + @document_list.count) > @max_batch_size) %>
3
+ <%= check_box_tag 'check_all', 'yes', @all_checked, disabled: ((@batch_size_on_other_page + @document_list.count) > @max_batch_size) %>
4
4
  <a class="dropdown-toggle" data-toggle="dropdown" href="#"><span class="icon-cog" title="click for selection options"></span></a>
5
5
  <ul class="dropdown-menu">
6
6
  <%= render partial: "#{controller_name}/batch_edits_actions" %>
@@ -1,5 +1,4 @@
1
- <%= form_tag(batch_edits_path, :method => :delete, :class=> "batch-select-all hidden", "data-behavior" => 'batch-select-all') do -%>
1
+ <%= form_tag(batch_edits_path, method: :delete, class: "batch-select-all hidden", "data-behavior" => 'batch-select-all') do -%>
2
2
  <%= hidden_field_tag('update_type', 'delete_all') %>
3
- <%= submit_tag("Delete Selected", :class=>'batch-all-button btn btn-primary submits-batches', :data => { :confirm => "Deleting a file from #{t('sufia.product_name')} is permanent. Click OK to delete this file from #{t('sufia.product_name')}, or Cancel to cancel this operation"}) %>
3
+ <%= submit_tag("Delete Selected", class: 'batch-all-button btn btn-primary submits-batches', data: { confirm: "Deleting a file from #{t('sufia.product_name')} is permanent. Click OK to delete this file from #{t('sufia.product_name')}, or Cancel to cancel this operation" }) %>
4
4
  <% end %>
5
-
@@ -1,9 +1,9 @@
1
- <%= render :partial => 'generic_files/breadcrumbs', :locals => {:include_file=>false} %>
1
+ <%= render partial: 'generic_files/breadcrumbs', locals: {include_file: false} %>
2
2
  <h2 class="non lower">Batch Edit Descriptions &nbsp;&nbsp;&nbsp;<small>Click on labels below to edit file descriptions.</small> </h2>
3
3
  <div class="scrollx scrolly fileHeight"> <!-- original values -->
4
- <h3> <b>Changes will be applied to: (<%=@names.size%> files) </b></h3>
4
+ <h3> <b>Changes will be applied to: (<%= @names.size %> files) </b></h3>
5
5
  <%= @names.join(", ").html_safe %>
6
- </div> <!-- /original values -->
6
+ </div> <!-- /original values -->
7
7
 
8
8
  <div >
9
9
  <h3> Descriptions:</h3>
@@ -13,43 +13,43 @@
13
13
  <li id="edit_permissions_link"><a href="#permissions_display" data-toggle="tab"><i class="icon-key"></i> Permissions</a></li>
14
14
  </ul>
15
15
  <div class="tab-content">
16
- <div class="well tab-pane active" id="descriptions_display">
16
+ <div class="well tab-pane active" id="descriptions_display">
17
17
  <table class="table table-striped"><!-- class="verticalheadings"> -->
18
18
  <tbody>
19
19
  <% @terms.each do |term| %>
20
- <% vals = @show_file.send(term) %>
21
- <tr id='row_<%=term.to_s%>' class="expandable">
20
+ <% vals = @show_file.send(term) %>
21
+ <tr id='row_<%= term.to_s %>' class="expandable">
22
22
  <th width="20%">
23
- <a class="accordion-toggle grey" data-toggle="collapse" data-parent="#row_<%=term.to_s%>" href="#collapse_<%=term.to_s%>">
24
- <%=get_label(term)%>&nbsp;<i class="toggle icon-chevron-right grey"></i>
23
+ <a class="accordion-toggle grey" data-toggle="collapse" data-parent="#row_<%= term.to_s %>" href="#collapse_<%=term.to_s%>">
24
+ <%= get_label(term) %>&nbsp;<i class="toggle icon-chevron-right grey"></i>
25
25
  </a>
26
26
  </th>
27
27
  <td width="50%" class="scrolly">
28
-
29
- <div id="collapse_<%=term.to_s%>" class="accordion-body collapse scrolly">
30
- <%= form_for @generic_file, :url=>batch_edits_path, :method=>:put, :remote => true, :html => { :id=>"form_"+term.to_s, :class=>"ajax-form"} do |f| %>
28
+
29
+ <div id="collapse_<%= term.to_s %>" class="accordion-body collapse scrolly">
30
+ <%= form_for @generic_file, url: batch_edits_path, method: :put, remote: true, html: { id: "form_#{term.to_s}", class: "ajax-form"} do |f| %>
31
31
  <%= hidden_field_tag('update_type', 'update') %>
32
32
  <%= hidden_field_tag('key', term.to_s) %>
33
- <%= render :partial => "generic_files/field_form", :locals => { :generic_file => @show_file, :f =>f, :render_req => false, :key => term } %>
33
+ <%= render partial: "generic_files/field_form", locals: { generic_file: @show_file, f: f, render_req: false, key: term } %>
34
34
  <div class="row">
35
- <%= f.submit "Save changes", :class=>'btn btn-primary field-save updates-batches' , :id=>term.to_s+'_save'%>
36
- <a class="accordion-toggle btn" data-toggle="collapse" data-parent="#row_<%=term.to_s%>" href="#collapse_<%=term.to_s%>">Cancel </a>
37
- <div id="status_<%=term.to_s%>" class="status fleft"></div>
35
+ <%= f.submit "Save changes", class: 'btn btn-primary field-save updates-batches' , id: "#{term.to_s}_save" %>
36
+ <a class="accordion-toggle btn" data-toggle="collapse" data-parent="#row_<%= term.to_s %>" href="#collapse_<%= term.to_s %>">Cancel </a>
37
+ <div id="status_<%= term.to_s %>" class="status fleft"></div>
38
38
  </div>
39
39
  <% end %>
40
40
  </div>
41
- </td>
41
+ </td>
42
42
  </tr>
43
43
  <% end %>
44
44
  </tbody></table> <!-- class="verticalheadings"> -->
45
45
  </div><!-- /well -->
46
46
  <div id="permissions_display" class="tab-pane">
47
- <%= form_for @generic_file, :url=>batch_edits_path, :method=>:put, :remote => true, :html => { :id=>"form_permissions", :class=>"ajax-form"} do |f| %>
47
+ <%= form_for @generic_file, url: batch_edits_path, method: :put, remote: true, html: { id: "form_permissions", class: "ajax-form"} do |f| %>
48
48
  <%= hidden_field_tag('update_type', 'update') %>
49
49
  <%= hidden_field_tag('key', 'permissions') %>
50
- <%= render :partial => "generic_files/permission_form", :locals => { :gf => @show_file } %>
50
+ <%= render partial: "generic_files/permission_form", locals: { gf: @show_file } %>
51
51
  <div class="row">
52
- <%= f.submit "Save changes", :class=>'btn btn-primary updates-batches', :id=>'permissions_save' %>
52
+ <%= f.submit "Save changes", class: 'btn btn-primary updates-batches', id: 'permissions_save' %>
53
53
  <a class="accordion-toggle btn" data-toggle="collapse" data-parent="#row_permissions" href="#collapse_permissions">Cancel </a>
54
54
  <div id="status_permissions" class="status fleft"></div>
55
55
  </div>
@@ -58,7 +58,6 @@
58
58
  </div> <!-- .tab-content -->
59
59
 
60
60
  <!-- Ajax call to clear the batch before page uload. -->
61
- <%= button_to "Clear Batch", { :controller => :batch_edits, :action=>:clear }, :form_class=>'hidden' , :remote => true, :id=>'clear_batch' %>
61
+ <%= button_to "Clear Batch", { controller: :batch_edits, action: :clear }, form_class: 'hidden', remote: true, id: 'clear_batch' %>
62
62
 
63
63
  </div><!-- descriptions_display -->
64
-
@@ -1,22 +1,21 @@
1
1
  <% if has_user_authentication_provider? and current_user %>
2
- <%- existing_bookmark = current_user.existing_bookmark_for(document.id) -%>
3
2
  <%-
4
3
  # Note these two forms are pretty similar but for different :methods, classes, and labels.
5
4
  # but it was simpler to leave them separate instead of DRYing them, got confusing trying that.
6
5
  # the data-doc-id attribute is used by our JS that converts to a checkbox/label.
7
6
  -%>
8
- <% unless existing_bookmark %>
7
+ <% if current_user.document_is_bookmarked? document %>
9
8
 
10
- <%= form_tag( bookmark_path( document ), :method => :put, :class => "bookmark_toggle", "data-doc-id" => document.id, :title=> document[document_show_link_field] ) do %>
11
- <%= hidden_field(:bookmark, :title, :value => document[document_show_link_field] ) %>
12
- <%= submit_tag("Bookmark", :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_add") %>
9
+ <%= form_tag( bookmark_path( document ), method: :put, class: "bookmark_toggle", "data-doc-id" => document.id, title: document[document_show_link_field] ) do %>
10
+ <%= hidden_field(:bookmark, :title, value: document[document_show_link_field] ) %>
11
+ <%= submit_tag("Bookmark", id: "bookmark_toggle_#{document.id.to_s.parameterize}", class: "bookmark_add") %>
13
12
  <% end %>
14
13
 
15
14
  <% else %>
16
15
 
17
- <%= form_tag( bookmark_path( document ), :method => :delete, :class => "bookmark_toggle", "data-doc-id" => document.id, :title=> document[document_show_link_field]) do %>
18
- <%= hidden_field(:bookmark, :title, :value => document[document_show_link_field] ) %>
19
- <%= submit_tag("Remove bookmark", :id => "bookmark_toggle_#{document.id.to_s.parameterize}", :class => "bookmark_remove") %>
16
+ <%= form_tag( bookmark_path( document ), method: :delete, class: "bookmark_toggle", "data-doc-id" => document.id, title: document[document_show_link_field]) do %>
17
+ <%= hidden_field(:bookmark, :title, value: document[document_show_link_field] ) %>
18
+ <%= submit_tag("Remove bookmark", id: "bookmark_toggle_#{document.id.to_s.parameterize}", class: "bookmark_remove") %>
20
19
  <% end %>
21
20
 
22
21
  <% end %>
@@ -3,8 +3,8 @@
3
3
  # label
4
4
  # value
5
5
  # options =>
6
- # :remove => url for a remove constraint link
7
- # :classes => array of classes to add to container span
6
+ # remove: url for a remove constraint link
7
+ # classes: array of classes to add to container span
8
8
  options ||= {}
9
9
  options[:escape_label] = true unless options.has_key?(:escape_label)
10
10
  options[:escape_value] = true unless options.has_key?(:escape_value)