sufia 6.2.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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