sufia 6.2.0 → 6.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (269) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +146 -0
  3. data/.travis.yml +4 -7
  4. data/Gemfile +2 -0
  5. data/History.md +29 -1
  6. data/README.md +25 -9
  7. data/SUFIA_VERSION +1 -1
  8. data/app/assets/stylesheets/sufia/_collections.scss +15 -0
  9. data/app/assets/stylesheets/sufia/_file-listing.scss +7 -0
  10. data/app/assets/stylesheets/sufia/_home-page.scss +10 -0
  11. data/app/builders/sufia/bootstrap_breadcrumbs_builder.rb +3 -5
  12. data/app/controllers/admin/stats_controller.rb +1 -76
  13. data/app/controllers/api/items_controller.rb +4 -6
  14. data/app/controllers/api/zotero_controller.rb +5 -5
  15. data/app/controllers/authorities_controller.rb +5 -1
  16. data/app/controllers/batch_edits_controller.rb +3 -3
  17. data/app/controllers/concerns/sufia/admin/depositor_stats.rb +41 -0
  18. data/app/controllers/concerns/sufia/admin/stats_behavior.rb +94 -0
  19. data/app/controllers/concerns/sufia/batch_controller_behavior.rb +16 -18
  20. data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +54 -56
  21. data/app/controllers/concerns/sufia/breadcrumbs.rb +3 -6
  22. data/app/controllers/concerns/sufia/collections_controller_behavior.rb +39 -39
  23. data/app/controllers/concerns/sufia/controller.rb +10 -10
  24. data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +17 -18
  25. data/app/controllers/concerns/sufia/depositors_controller_behavior.rb +9 -12
  26. data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +6 -7
  27. data/app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb +39 -40
  28. data/app/controllers/concerns/sufia/files_controller/upload_complete_behavior.rb +1 -1
  29. data/app/controllers/concerns/sufia/files_controller_behavior.rb +109 -110
  30. data/app/controllers/concerns/sufia/homepage_controller.rb +8 -8
  31. data/app/controllers/concerns/sufia/my_controller_behavior.rb +13 -10
  32. data/app/controllers/concerns/sufia/single_use_links_controller_behavior.rb +11 -14
  33. data/app/controllers/concerns/sufia/single_use_links_viewer_controller_behavior.rb +27 -21
  34. data/app/controllers/concerns/sufia/transfers_controller_behavior.rb +17 -17
  35. data/app/controllers/concerns/sufia/users_controller_behavior.rb +54 -54
  36. data/app/controllers/contact_form_controller.rb +1 -1
  37. data/app/controllers/content_blocks_controller.rb +11 -12
  38. data/app/controllers/directory_controller.rb +2 -3
  39. data/app/controllers/featured_work_lists_controller.rb +1 -1
  40. data/app/controllers/featured_works_controller.rb +2 -4
  41. data/app/controllers/homepage_controller.rb +1 -2
  42. data/app/controllers/mailbox_controller.rb +12 -32
  43. data/app/controllers/my/collections_controller.rb +3 -4
  44. data/app/controllers/my/files_controller.rb +4 -6
  45. data/app/controllers/my/highlights_controller.rb +4 -6
  46. data/app/controllers/my/shares_controller.rb +3 -5
  47. data/app/controllers/pages_controller.rb +1 -3
  48. data/app/controllers/single_use_links_controller.rb +0 -1
  49. data/app/controllers/single_use_links_viewer_controller.rb +0 -1
  50. data/app/controllers/static_controller.rb +1 -0
  51. data/app/forms/sufia/forms/collection_edit_form.rb +2 -2
  52. data/app/helpers/batch_edits_helper.rb +1 -3
  53. data/app/helpers/content_block_helper.rb +7 -8
  54. data/app/helpers/generic_file_helper.rb +23 -24
  55. data/app/helpers/sufia/blacklight_override.rb +6 -7
  56. data/app/helpers/sufia/dashboard_helper_behavior.rb +4 -7
  57. data/app/helpers/sufia/permissions_helper.rb +3 -4
  58. data/app/helpers/sufia/sufia_helper_behavior.rb +30 -29
  59. data/app/helpers/trophy_helper.rb +15 -15
  60. data/app/inputs/select_with_modal_help_input.rb +3 -3
  61. data/app/inputs/with_help_icon.rb +4 -4
  62. data/app/jobs/content_delete_event_job.rb +0 -1
  63. data/app/jobs/content_depositor_change_event_job.rb +1 -2
  64. data/app/jobs/event_job.rb +0 -1
  65. data/app/jobs/user_unfollow_event_job.rb +1 -0
  66. data/app/models/concerns/sufia/solr_document_behavior.rb +1 -2
  67. data/app/models/contact_form.rb +6 -6
  68. data/app/models/content_block.rb +1 -2
  69. data/app/models/featured_work_list.rb +3 -5
  70. data/app/models/user_mailbox.rb +44 -0
  71. data/app/presenters/sufia/collection_presenter.rb +6 -8
  72. data/app/presenters/sufia/generic_file_presenter.rb +2 -2
  73. data/app/presenters/sufia/presenter_renderer.rb +2 -2
  74. data/app/presenters/sufia/version_list_presenter.rb +1 -1
  75. data/app/presenters/sufia/version_presenter.rb +3 -6
  76. data/app/search_builders/deposit_search_builder.rb +19 -0
  77. data/app/search_builders/sufia/my_search_builder_behavior.rb +1 -2
  78. data/app/search_builders/sufia/search_builder.rb +1 -3
  79. data/app/uploaders/tinymce_asset_uploader.rb +0 -2
  80. data/app/views/_controls.html.erb +5 -5
  81. data/app/views/admin/stats/_deposits.html.erb +19 -0
  82. data/app/views/admin/stats/index.html.erb +2 -0
  83. data/app/views/batch_edits/edit.html.erb +2 -2
  84. data/app/views/collections/_edit_actions.html.erb +3 -3
  85. data/app/views/collections/_form_for_select_collection.html.erb +2 -2
  86. data/app/views/collections/_sort_and_per_page.html.erb +12 -9
  87. data/app/views/collections/_view_type_group.html.erb +1 -1
  88. data/app/views/collections/edit.html.erb +5 -5
  89. data/app/views/collections/show.html.erb +7 -6
  90. data/app/views/homepage/_announcement.html.erb +5 -0
  91. data/app/views/homepage/_home.html.erb +1 -0
  92. data/app/views/my/_sort_and_per_page.html.erb +14 -10
  93. data/app/views/my/index.html.erb +1 -1
  94. data/app/views/pages/show.html.erb +0 -2
  95. data/app/views/single_use_links/new_download.html.erb +1 -1
  96. data/app/views/single_use_links_viewer/show.html.erb +1 -1
  97. data/app/views/users/_notify_link.html.erb +1 -1
  98. data/app/views/users/_notify_number.html.erb +2 -2
  99. data/config/initializers/simple_form.rb +1 -1
  100. data/config/initializers/simple_form_bootstrap.rb +1 -1
  101. data/config/locales/sufia.en.yml +4 -0
  102. data/config/routes.rb +2 -3
  103. data/lib/generators/sufia/admin_stat_generator.rb +0 -3
  104. data/lib/generators/sufia/install_generator.rb +8 -9
  105. data/lib/generators/sufia/templates/catalog_controller.rb +2 -3
  106. data/lib/generators/sufia/templates/config/action_dispatch_http_upload_monkey_patch.rb +1 -0
  107. data/lib/generators/sufia/upgrade400_generator.rb +9 -9
  108. data/lib/generators/sufia/upgrade600_generator.rb +1 -4
  109. data/lib/sufia.rb +2 -2
  110. data/lib/sufia/arkivo/actor.rb +1 -1
  111. data/lib/sufia/arkivo/create_subscription_job.rb +30 -30
  112. data/lib/sufia/arkivo/metadata_munger.rb +7 -7
  113. data/lib/sufia/arkivo/schema_validator.rb +1 -1
  114. data/lib/sufia/single_use_error.rb +0 -1
  115. data/lib/sufia/version.rb +1 -1
  116. data/lib/sufia/zotero/config.rb +13 -13
  117. data/spec/actors/generic_file/actor_spec.rb +17 -18
  118. data/spec/controllers/admin_stats_controller_spec.rb +56 -5
  119. data/spec/controllers/api/zotero_controller_spec.rb +10 -9
  120. data/spec/controllers/authorities_controller_spec.rb +8 -8
  121. data/spec/controllers/batch_controller_spec.rb +19 -20
  122. data/spec/controllers/batch_edits_controller_spec.rb +8 -9
  123. data/spec/controllers/catalog_controller_spec.rb +7 -9
  124. data/spec/controllers/collections_controller_spec.rb +30 -32
  125. data/spec/controllers/content_blocks_controller_spec.rb +4 -4
  126. data/spec/controllers/dashboard_controller_spec.rb +12 -12
  127. data/spec/controllers/depositors_controller_spec.rb +8 -8
  128. data/spec/controllers/downloads_controller_spec.rb +10 -11
  129. data/spec/controllers/featured_work_lists_controller_spec.rb +4 -4
  130. data/spec/controllers/featured_works_controller_spec.rb +11 -12
  131. data/spec/controllers/generic_files_controller_spec.rb +154 -125
  132. data/spec/controllers/homepage_controller_spec.rb +22 -15
  133. data/spec/controllers/mailbox_controller_spec.rb +20 -36
  134. data/spec/controllers/my/collections_controller_spec.rb +4 -5
  135. data/spec/controllers/my/files_controller_spec.rb +10 -11
  136. data/spec/controllers/my/highlights_controller_spec.rb +4 -5
  137. data/spec/controllers/my/shares_controller_spec.rb +12 -14
  138. data/spec/controllers/my_controller_spec.rb +1 -3
  139. data/spec/controllers/pages_controller_spec.rb +4 -4
  140. data/spec/controllers/single_use_links_controller_spec.rb +1 -3
  141. data/spec/controllers/single_use_links_viewer_controller_spec.rb +1 -2
  142. data/spec/controllers/static_controller_spec.rb +1 -1
  143. data/spec/controllers/tinymce_assets_controller_spec.rb +8 -9
  144. data/spec/controllers/transfers_controller_spec.rb +19 -19
  145. data/spec/controllers/users_controller_spec.rb +33 -35
  146. data/spec/factories/api_items.rb +2 -2
  147. data/spec/factories/content_blocks.rb +1 -1
  148. data/spec/factories/featured_works.rb +1 -1
  149. data/spec/factories/generic_files.rb +3 -3
  150. data/spec/factories/users.rb +7 -8
  151. data/spec/features/browse_dashboard_files_spec.rb +14 -18
  152. data/spec/features/browse_files_spec.rb +3 -4
  153. data/spec/features/catalog_search_spec.rb +3 -5
  154. data/spec/features/cloud_upload_spec.rb +2 -2
  155. data/spec/features/collection_spec.rb +21 -21
  156. data/spec/features/contact_form_spec.rb +10 -11
  157. data/spec/features/display_dashboard_spec.rb +5 -9
  158. data/spec/features/edit_file_spec.rb +8 -9
  159. data/spec/features/featured_item_spec.rb +1 -1
  160. data/spec/features/ingest_upload_files_spec.rb +5 -5
  161. data/spec/features/notifications_spec.rb +2 -6
  162. data/spec/features/ownership_transfer_spec.rb +2 -2
  163. data/spec/features/proxy_spec.rb +2 -2
  164. data/spec/features/search_spec.rb +3 -4
  165. data/spec/features/single_use_links_spec.rb +1 -1
  166. data/spec/features/users_spec.rb +4 -5
  167. data/spec/forms/collection_edit_form_spec.rb +2 -2
  168. data/spec/forms/generic_file_edit_form_spec.rb +6 -7
  169. data/spec/helpers/batch_edits_helper_spec.rb +9 -13
  170. data/spec/helpers/content_block_helper_spec.rb +3 -3
  171. data/spec/helpers/dashboard_helper_spec.rb +19 -24
  172. data/spec/helpers/generic_file_helper_spec.rb +5 -7
  173. data/spec/helpers/sufia_helper_spec.rb +43 -54
  174. data/spec/helpers/trophy_helper_spec.rb +5 -5
  175. data/spec/inputs/multi_value_with_help_input_spec.rb +1 -2
  176. data/spec/inputs/select_with_help_input_spec.rb +19 -15
  177. data/spec/javascripts/jasmine_spec.rb +4 -5
  178. data/spec/javascripts/support/jasmine_helper.rb +9 -9
  179. data/spec/jobs/active_fedora_id_based_job_spec.rb +7 -5
  180. data/spec/jobs/audit_job_spec.rb +7 -7
  181. data/spec/jobs/batch_update_job_spec.rb +5 -6
  182. data/spec/jobs/characterize_job_spec.rb +1 -1
  183. data/spec/jobs/content_depositor_change_event_job_spec.rb +1 -1
  184. data/spec/jobs/create_derivatives_job_spec.rb +5 -5
  185. data/spec/jobs/event_jobs_spec.rb +16 -16
  186. data/spec/jobs/import_url_job_spec.rb +36 -5
  187. data/spec/jobs/ingest_local_file_job_spec.rb +31 -20
  188. data/spec/jobs/sufia_resque_queue_spec.rb +1 -1
  189. data/spec/lib/sufia/analytics_spec.rb +0 -1
  190. data/spec/lib/sufia/arkivo/actor_spec.rb +6 -6
  191. data/spec/lib/sufia/arkivo/schema_validator_spec.rb +18 -18
  192. data/spec/lib/sufia/breadcrumbs_spec.rb +5 -6
  193. data/spec/lib/sufia/messages_spec.rb +11 -12
  194. data/spec/lib/sufia/readable_permissions_spec.rb +8 -10
  195. data/spec/lib/sufia/upload_complete_behavior_spec.rb +6 -7
  196. data/spec/lib/sufia/user_stat_importer_spec.rb +30 -33
  197. data/spec/lib/sufia/writable_permissions_spec.rb +1 -3
  198. data/spec/lib/sufia/zotero/config_spec.rb +4 -6
  199. data/spec/models/ability_spec.rb +11 -9
  200. data/spec/models/batch_spec.rb +13 -13
  201. data/spec/models/characterization_spec.rb +2 -3
  202. data/spec/models/checksum_audit_log_spec.rb +18 -19
  203. data/spec/models/collection_spec.rb +11 -12
  204. data/spec/models/content_block_spec.rb +33 -22
  205. data/spec/models/download_spec.rb +3 -5
  206. data/spec/models/featured_work_list_spec.rb +3 -3
  207. data/spec/models/featured_work_spec.rb +12 -14
  208. data/spec/models/file_content_datastream_spec.rb +9 -7
  209. data/spec/models/file_download_stat_spec.rb +34 -40
  210. data/spec/models/file_usage_spec.rb +46 -52
  211. data/spec/models/file_view_stat_spec.rb +35 -41
  212. data/spec/models/fits_datastream_spec.rb +23 -25
  213. data/spec/models/generic_file/visibility_spec.rb +10 -5
  214. data/spec/models/generic_file_spec.rb +86 -88
  215. data/spec/models/geo_names_resource_spec.rb +3 -5
  216. data/spec/models/local_authority_spec.rb +30 -33
  217. data/spec/models/pageview_spec.rb +3 -3
  218. data/spec/models/proxy_deposit_request_spec.rb +3 -3
  219. data/spec/models/single_use_link_spec.rb +36 -36
  220. data/spec/models/solr_document_spec.rb +3 -6
  221. data/spec/models/trophy_spec.rb +8 -9
  222. data/spec/models/user_mailbox_spec.rb +62 -0
  223. data/spec/models/user_spec.rb +28 -29
  224. data/spec/presenters/presenter_renderer_spec.rb +1 -1
  225. data/spec/presenters/sufia/generic_file_presenter_spec.rb +5 -5
  226. data/spec/presenters/sufia/version_list_presenter_spec.rb +2 -2
  227. data/spec/presenters/sufia/version_presenter_spec.rb +1 -1
  228. data/spec/routing/featured_works_route_spec.rb +4 -4
  229. data/spec/routing/ownership_transfers_route_spec.rb +1 -1
  230. data/spec/routing/route_spec.rb +89 -89
  231. data/spec/services/generic_file_audit_service_spec.rb +8 -8
  232. data/spec/services/repository_audit_service_spec.rb +7 -3
  233. data/spec/spec_helper.rb +5 -4
  234. data/spec/support/features/session_helpers.rb +1 -1
  235. data/spec/support/input_support.rb +1 -2
  236. data/spec/support/rake.rb +1 -1
  237. data/spec/support/selectors.rb +1 -6
  238. data/spec/support/statistic_helper.rb +1 -1
  239. data/spec/support/uploaded_file_monkeypatch.rb +1 -1
  240. data/spec/tasks/rake_spec.rb +3 -5
  241. data/spec/views/admin/stats/index.html.erb_spec.rb +16 -16
  242. data/spec/views/batch/edit.html.erb_spec.rb +1 -3
  243. data/spec/views/batch_edits/check_all_spec.rb +5 -5
  244. data/spec/views/batch_edits/edit.html.erb_spec.rb +1 -3
  245. data/spec/views/catalog/index.html.erb_spec.rb +1 -3
  246. data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +4 -5
  247. data/spec/views/collections/_form.html.erb_spec.rb +5 -3
  248. data/spec/views/collections/_show_descriptions.html.erb_spec.rb +7 -8
  249. data/spec/views/collections/_show_document_list.erb_spec.rb +4 -6
  250. data/spec/views/dashboard/index_spec.rb +14 -21
  251. data/spec/views/generic_file/_browse_everything.html.erb_spec.rb +2 -2
  252. data/spec/views/generic_file/_permission_form.html.erb_spec.rb +8 -9
  253. data/spec/views/generic_file/edit.html.erb_spec.rb +7 -7
  254. data/spec/views/generic_file/show.html.erb_spec.rb +24 -25
  255. data/spec/views/generic_file/stats.html.erb_spec.rb +19 -19
  256. data/spec/views/homepage/_announcement.html.erb_spec.rb +51 -0
  257. data/spec/views/homepage/_featured_works.html.erb_spec.rb +5 -9
  258. data/spec/views/homepage/_home_header.html.erb_spec.rb +2 -2
  259. data/spec/views/my/facet.html.erb_spec.rb +4 -4
  260. data/spec/views/single_use_links/new_download.html.erb_spec.rb +28 -0
  261. data/spec/views/single_use_links_viewer/show.html.erb_spec.rb +29 -0
  262. data/spec/views/users/_follower_modal.html.erb_spec.rb +7 -8
  263. data/spec/views/users/_following_modal.html.erb_spec.rb +4 -5
  264. data/spec/views/users/_notify_number.html.erb_spec.rb +2 -5
  265. data/spec/views/users/_user_util_links.html.erb_spec.rb +5 -8
  266. data/spec/views/users/index.html.erb_spec.rb +4 -6
  267. data/spec/views/users/show.html.erb_spec.rb +4 -7
  268. data/tasks/sufia-dev.rake +19 -3
  269. metadata +20 -5
@@ -1,8 +1,7 @@
1
1
  class DirectoryController < ApplicationController
2
-
3
2
  # Stub method. Override this in your application if you want directory lookups
4
3
  def user
5
- #render json: User.directory_attributes(params[:uid])
4
+ # render json: User.directory_attributes(params[:uid])
6
5
  render json: ''
7
6
  end
8
7
 
@@ -25,7 +24,7 @@ class DirectoryController < ApplicationController
25
24
 
26
25
  # Stub method. Override this in your application if you want directory lookups
27
26
  def group
28
- #render json: Group.exists?(params[:cn])
27
+ # render json: Group.exists?(params[:cn])
29
28
  render json: false
30
29
  end
31
30
  end
@@ -9,8 +9,8 @@ class FeaturedWorkListsController < ApplicationController
9
9
  end
10
10
 
11
11
  protected
12
+
12
13
  def list_params
13
14
  params.require(:featured_work_list).permit(featured_works_attributes: [:id, :order])
14
15
  end
15
16
  end
16
-
@@ -1,5 +1,4 @@
1
1
  class FeaturedWorksController < ApplicationController
2
-
3
2
  def create
4
3
  authorize! :create, FeaturedWork
5
4
  @featured_work = FeaturedWork.new(generic_file_id: params[:id])
@@ -9,7 +8,7 @@ class FeaturedWorksController < ApplicationController
9
8
  format.json { render json: @featured_work, status: :created }
10
9
  else
11
10
  format.json { render json: @featured_work.errors, status: :unprocessable_entity }
12
- end
11
+ end
13
12
  end
14
13
  end
15
14
 
@@ -17,10 +16,9 @@ class FeaturedWorksController < ApplicationController
17
16
  authorize! :destroy, FeaturedWork
18
17
  @featured_work = FeaturedWork.find_by(generic_file_id: params[:id])
19
18
  @featured_work.destroy
20
-
19
+
21
20
  respond_to do |format|
22
21
  format.json { head :no_content }
23
22
  end
24
23
  end
25
-
26
24
  end
@@ -1,4 +1,3 @@
1
1
  class HomepageController < ApplicationController
2
2
  include Sufia::HomepageController
3
-
4
- end
3
+ end
@@ -1,44 +1,24 @@
1
1
  class MailboxController < ApplicationController
2
- before_filter :authenticate_user!
2
+ before_action :authenticate_user!
3
3
 
4
4
  def index
5
- if user_signed_in?
6
- @messages = current_user.mailbox.inbox
7
- @messages.each{|m| m.mark_as_read(current_user)}
8
- else
9
- @messages =[]
10
- end
5
+ @messages = user_mailbox.inbox
11
6
  end
12
7
 
13
- def delete_all
14
- current_user.mailbox.inbox.each do |msg|
15
- delete_message(msg)
16
- end
17
- empty_trash(current_user)
18
- redirect_to sufia.notifications_path
8
+ def delete_all
9
+ alert = user_mailbox.delete_all
10
+ redirect_to sufia.notifications_path, alert: alert
19
11
  end
20
12
 
21
13
  def destroy
22
- if current_user
23
- msg = Mailboxer::Conversation.find(params[:id])
24
- if (msg.participants[0] == current_user) || (msg.participants[1] == current_user)
25
- delete_message(msg)
26
- empty_trash(msg.participants[0])
27
- end
28
- else
29
- flash[:alert] = "You do not have privileges to delete the notification..."
30
- end
31
- redirect_to sufia.notifications_path
14
+ message_id = params[:id]
15
+ alert = user_mailbox.destroy(message_id)
16
+ redirect_to sufia.notifications_path, alert: alert
32
17
  end
33
18
 
34
- private
19
+ private
35
20
 
36
- def delete_message (msg)
37
- msg.move_to_trash(msg.participants[0])
38
- msg.move_to_trash(msg.participants[1])
39
- end
40
-
41
- def empty_trash (user)
42
- user.mailbox.trash.each { |conv| conv.messages.each {|notify| notify.receipts.each { |receipt| receipt.delete}; notify.delete}; conv.delete}
43
- end
21
+ def user_mailbox
22
+ UserMailbox.new(current_user)
23
+ end
44
24
  end
@@ -1,6 +1,5 @@
1
1
  module My
2
2
  class CollectionsController < MyController
3
-
4
3
  self.search_params_logic += [
5
4
  :show_only_resources_deposited_by_current_user,
6
5
  :show_only_collections
@@ -13,8 +12,8 @@ module My
13
12
 
14
13
  protected
15
14
 
16
- def search_action_url *args
17
- sufia.dashboard_collections_url *args
18
- end
15
+ def search_action_url(*args)
16
+ sufia.dashboard_collections_url(*args)
17
+ end
19
18
  end
20
19
  end
@@ -1,6 +1,5 @@
1
1
  module My
2
2
  class FilesController < MyController
3
-
4
3
  self.search_params_logic += [
5
4
  :show_only_resources_deposited_by_current_user,
6
5
  :show_only_generic_files
@@ -12,10 +11,9 @@ module My
12
11
  end
13
12
 
14
13
  protected
15
-
16
- def search_action_url *args
17
- sufia.dashboard_files_url *args
18
- end
19
-
14
+
15
+ def search_action_url(*args)
16
+ sufia.dashboard_files_url(*args)
17
+ end
20
18
  end
21
19
  end
@@ -1,6 +1,5 @@
1
1
  module My
2
2
  class HighlightsController < MyController
3
-
4
3
  self.search_params_logic += [
5
4
  :show_only_highlighted_files
6
5
  ]
@@ -9,12 +8,11 @@ module My
9
8
  super
10
9
  @selected_tab = :highlighted
11
10
  end
12
-
11
+
13
12
  protected
14
-
15
- def search_action_url *args
16
- sufia.dashboard_highlights_url *args
17
- end
18
13
 
14
+ def search_action_url(*args)
15
+ sufia.dashboard_highlights_url(*args)
16
+ end
19
17
  end
20
18
  end
@@ -1,6 +1,5 @@
1
1
  module My
2
2
  class SharesController < MyController
3
-
4
3
  self.search_params_logic += [
5
4
  :show_only_shared_files,
6
5
  :show_only_generic_files
@@ -13,9 +12,8 @@ module My
13
12
 
14
13
  protected
15
14
 
16
- def search_action_url *args
17
- sufia.dashboard_shares_url *args
18
- end
19
-
15
+ def search_action_url(*args)
16
+ sufia.dashboard_shares_url(*args)
17
+ end
20
18
  end
21
19
  end
@@ -1,7 +1,5 @@
1
1
  class PagesController < ApplicationController
2
-
3
2
  def show
4
- @page = ContentBlock.find_or_create_by( name: params[:id])
3
+ @page = ContentBlock.find_or_create_by(name: params[:id])
5
4
  end
6
-
7
5
  end
@@ -1,4 +1,3 @@
1
1
  class SingleUseLinksController < ApplicationController
2
2
  include Sufia::SingleUseLinksControllerBehavior
3
3
  end
4
-
@@ -16,5 +16,4 @@ class SingleUseLinksViewerController < ApplicationController
16
16
  end if single_use_link
17
17
  end
18
18
  end
19
-
20
19
  end
@@ -8,6 +8,7 @@ class StaticController < ApplicationController
8
8
  format.js { render layout: false }
9
9
  end
10
10
  end
11
+
11
12
  def mendeley
12
13
  respond_to do |format|
13
14
  format.html
@@ -4,13 +4,13 @@ module Sufia
4
4
  include HydraEditor::Form
5
5
  self.model_class = ::Collection
6
6
  self.terms = [:resource_type, :title, :creator, :contributor, :description, :tag, :rights,
7
- :publisher, :date_created, :subject, :language, :identifier, :based_near, :related_url]
7
+ :publisher, :date_created, :subject, :language, :identifier, :based_near, :related_url]
8
8
 
9
9
  # Test to see if the given field is required
10
10
  # @param [Symbol] key a field
11
11
  # @return [Boolean] is it required or not
12
12
  def required?(key)
13
- model_class.validators_on(key).any?{|v| v.kind_of? ActiveModel::Validations::PresenceValidator}
13
+ model_class.validators_on(key).any? { |v| v.is_a? ActiveModel::Validations::PresenceValidator }
14
14
  end
15
15
  end
16
16
  end
@@ -6,8 +6,6 @@ module BatchEditsHelper
6
6
  end
7
7
 
8
8
  def render_check_all
9
- unless params[:controller].match("my/collections")
10
- render partial: 'batch_edits/check_all'
11
- end
9
+ render partial: 'batch_edits/check_all' unless params[:controller].match("my/collections")
12
10
  end
13
11
  end
@@ -1,13 +1,12 @@
1
1
  module ContentBlockHelper
2
-
3
- def editable_content_block(content_block, show_new=false)
2
+ def editable_content_block(content_block, show_new = false)
4
3
  return raw(content_block.value) unless can? :update, content_block
5
4
  capture do
6
5
  concat content_tag(:div, id: dom_id(content_block, 'preview'), class: 'content_block_preview') {
7
- concat raw(content_block.value)
6
+ concat raw(content_block.value)
8
7
  concat edit_button(content_block)
9
8
  concat new_button(content_block) if show_new
10
- }
9
+ }
11
10
  concat edit_form(content_block)
12
11
  concat new_form(content_block.name) if show_new
13
12
  end
@@ -17,19 +16,19 @@ module ContentBlockHelper
17
16
  button_tag "Edit", class: 'btn btn-primary', data: { behavior: 'reveal-editor', target: '#' + dom_id(content_block, 'edit') }
18
17
  end
19
18
 
20
- def new_button(content_block)
19
+ def new_button(_content_block)
21
20
  button_tag "New", class: 'btn btn-primary', data: { behavior: 'reveal-editor', target: '#' + 'new_content_block' }
22
21
  end
23
22
 
24
- def edit_form(content_block, editing_field_id=nil)
23
+ def edit_form(content_block, editing_field_id = nil)
25
24
  editing_field_id ||= "text_area_#{content_block.name}"
26
- form_for([sufia, content_block], html: { class: 'tinymce-form' }) { |f|
25
+ form_for([sufia, content_block], html: { class: 'tinymce-form' }) do |f|
27
26
  concat hidden_field_tag 'content_block[name]', content_block.name
28
27
  concat f.text_area :value, id: editing_field_id, class: "tinymce", rows: 20, cols: 120
29
28
  concat f.label :external_key, content_block.external_key_name
30
29
  concat f.text_field :external_key, class: key_field_class(content_block.name)
31
30
  concat content_tag(:div) { f.submit 'Save', class: "btn btn-primary" }
32
- }
31
+ end
33
32
  end
34
33
 
35
34
  def key_field_class(content_block_type)
@@ -4,49 +4,48 @@ module GenericFileHelper
4
4
  gf.to_s
5
5
  end
6
6
 
7
- def present_terms(presenter, terms=:all, &block)
7
+ def present_terms(presenter, terms = :all, &block)
8
8
  terms = presenter.terms if terms == :all
9
9
  Sufia::PresenterRenderer.new(presenter, self).fields(terms, &block)
10
10
  end
11
11
 
12
- def render_download_icon title = nil
12
+ def render_download_icon(title = nil)
13
13
  if title.nil?
14
- link_to download_image_tag, sufia.download_path(@generic_file), { target: "_blank", title: "Download the document", id: "file_download", data: { label: @generic_file.id } }
14
+ link_to download_image_tag, sufia.download_path(@generic_file), target: "_blank", title: "Download the document", id: "file_download", data: { label: @generic_file.id }
15
15
  else
16
- link_to (download_image_tag(title) + title), sufia.download_path(@generic_file), { target: "_blank", title: title, id: "file_download", data: { label: @generic_file.id } }
16
+ label = download_image_tag(title) + title
17
+ link_to label, sufia.download_path(@generic_file), target: "_blank", title: title, id: "file_download", data: { label: @generic_file.id }
17
18
  end
18
19
  end
19
20
 
20
- def render_download_link text = nil
21
- link_to (text || "Download"), sufia.download_path(@generic_file), { id: "file_download", target: "_new", data: { label: @generic_file.id } }
21
+ def render_download_link(text = nil)
22
+ label = text || 'Download'
23
+ link_to label, sufia.download_path(@generic_file), id: "file_download", target: "_new", data: { label: @generic_file.id }
22
24
  end
23
25
 
24
- def render_collection_list gf
25
- unless gf.collections.empty?
26
- ("Is part of: " + gf.collections.map { |c| link_to(c.title, collections.collection_path(c)) }.join(", ")).html_safe
27
- end
26
+ def render_collection_list(gf)
27
+ ("Is part of: " + gf.collections.map { |c| link_to(c.title, collections.collection_path(c)) }.join(", ")).html_safe unless gf.collections.empty?
28
28
  end
29
29
 
30
- def display_multiple value
30
+ def display_multiple(value)
31
31
  auto_link(value.join(" | "))
32
32
  end
33
33
 
34
34
  private
35
35
 
36
- def download_image_tag title = nil
37
- if title.nil?
38
- image_tag "default.png", { alt: "No preview available", class: "img-responsive" }
39
- else
40
- image_tag sufia.download_path(@generic_file, file: 'thumbnail'), { class: "img-responsive", alt: "#{title} of #{@generic_file.title.first}" }
36
+ def download_image_tag(title = nil)
37
+ if title.nil?
38
+ image_tag "default.png", alt: "No preview available", class: "img-responsive"
39
+ else
40
+ image_tag sufia.download_path(@generic_file, file: 'thumbnail'), class: "img-responsive", alt: "#{title} of #{@generic_file.title.first}"
41
+ end
41
42
  end
42
- end
43
43
 
44
- def render_visibility_badge
45
- if can? :edit, @generic_file
46
- render_visibility_link @generic_file
47
- else
48
- render_visibility_label @generic_file
44
+ def render_visibility_badge
45
+ if can? :edit, @generic_file
46
+ render_visibility_link @generic_file
47
+ else
48
+ render_visibility_label @generic_file
49
+ end
49
50
  end
50
- end
51
-
52
51
  end
@@ -4,24 +4,23 @@ module Sufia
4
4
  false
5
5
  end
6
6
 
7
- def url_for_document doc, options = {}
8
- if (doc.is_a?(SolrDocument) && doc.hydra_model == 'Collection')
7
+ def url_for_document(doc, _options = {})
8
+ if doc.is_a?(SolrDocument) && doc.hydra_model == 'Collection'
9
9
  [collections, doc]
10
10
  else
11
11
  [sufia, doc]
12
12
  end
13
13
  end
14
-
14
+
15
15
  def render_constraints_query(localized_params = params)
16
16
  # So simple don't need a view template, we can just do it here.
17
17
  scope = localized_params.delete(:route_set) || self
18
18
  return "".html_safe if localized_params[:q].blank?
19
19
 
20
20
  render_constraint_element(constraint_query_label(localized_params),
21
- localized_params[:q],
22
- :classes => ["query"],
23
- :remove => scope.url_for(localized_params.merge(:q=>nil, :action=>'index')))
21
+ localized_params[:q],
22
+ classes: ["query"],
23
+ remove: scope.url_for(localized_params.merge(q: nil, action: 'index')))
24
24
  end
25
-
26
25
  end
27
26
  end
@@ -20,7 +20,7 @@ module Sufia
20
20
  if @activity.empty?
21
21
  t('sufia.dashboard.no_activity')
22
22
  else
23
- render partial: 'users/activity_log', locals: {events: @activity}
23
+ render partial: 'users/activity_log', locals: { events: @activity }
24
24
  end
25
25
  end
26
26
 
@@ -40,11 +40,11 @@ module Sufia
40
40
  params[:controller].match(/^my\/files/)
41
41
  end
42
42
 
43
- def number_of_files user=current_user
43
+ def number_of_files(user = current_user)
44
44
  ::GenericFile.where(Solrizer.solr_name('depositor', :symbol) => user.user_key).count
45
45
  end
46
46
 
47
- def number_of_collections user=current_user
47
+ def number_of_collections(user = current_user)
48
48
  ::Collection.where(Solrizer.solr_name('depositor', :symbol) => user.user_key).count
49
49
  end
50
50
 
@@ -53,10 +53,7 @@ module Sufia
53
53
  end
54
54
 
55
55
  def link_to_additional_notifications
56
- if @notifications.count > Sufia.config.max_notifications_for_dashboard
57
- link_to t('sufia.dashboard.additional_notifications'), sufia.notifications_path
58
- end
56
+ link_to t('sufia.dashboard.additional_notifications'), sufia.notifications_path if @notifications.count > Sufia.config.max_notifications_for_dashboard
59
57
  end
60
-
61
58
  end
62
59
  end
@@ -1,6 +1,5 @@
1
1
  module Sufia
2
2
  module PermissionsHelper
3
-
4
3
  def visibility_help
5
4
  help_link('generic_files/visibility', 'Visibility', 'Useage information for visibility')
6
5
  end
@@ -12,8 +11,8 @@ module Sufia
12
11
  private
13
12
 
14
13
  def help_link(file, title, aria_label)
15
- link_to help_icon, '#', rel: 'popover', :'data-content' => capture_content(file),
16
- :'data-original-title' => title, :'aria-label' => aria_label
14
+ link_to help_icon, '#', rel: 'popover', 'data-content' => capture_content(file),
15
+ 'data-original-title' => title, 'aria-label' => aria_label
17
16
  end
18
17
 
19
18
  def capture_content(file)
@@ -23,7 +22,7 @@ module Sufia
23
22
  end
24
23
 
25
24
  def help_icon
26
- content_tag 'i', '', :'aria-hidden' => true, class: 'help-icon'
25
+ content_tag 'i', '', 'aria-hidden' => true, class: 'help-icon'
27
26
  end
28
27
  end
29
28
  end