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
@@ -0,0 +1,19 @@
1
+ class DepositSearchBuilder < Blacklight::Solr::SearchBuilder
2
+ include Hydra::Collections::SearchBehaviors
3
+
4
+ # includes the depositor_facet to get information on deposits.
5
+ # use caution when combining this with other searches as it sets the rows to zero to just get the facet information
6
+ # @param solr_parameters the current solr parameters
7
+ def include_depositor_facet(solr_parameters)
8
+ solr_parameters[:"facet.field"].concat([Solrizer.solr_name("depositor", :symbol)])
9
+
10
+ # defualt facet limit is 10, which will only show the top 10 users not all users deposits
11
+ solr_parameters[:"facet.limit"] = ::User.count
12
+
13
+ # only get file information
14
+ solr_parameters[:fq] = "has_model_ssim:GenericFile"
15
+
16
+ # we only want the facte counts not the actual data
17
+ solr_parameters[:rows] = 0
18
+ end
19
+ end
@@ -16,5 +16,4 @@ module Sufia::MySearchBuilderBehavior
16
16
  def discovery_permissions
17
17
  ["edit"]
18
18
  end
19
-
20
- end
19
+ end
@@ -1,5 +1,4 @@
1
1
  module Sufia::SearchBuilder
2
-
3
2
  include BlacklightAdvancedSearch::AdvancedSearchBuilder
4
3
  include Hydra::Collections::SearchBehaviors
5
4
 
@@ -44,7 +43,6 @@ module Sufia::SearchBuilder
44
43
  # @param user_parameters the current user-subitted parameters
45
44
  def only_generic_files_and_collections(solr_parameters)
46
45
  solr_parameters[:fq] ||= []
47
- solr_parameters[:fq] << "#{Solrizer.solr_name("has_model", :symbol)}:(\"GenericFile\" \"Collection\")"
46
+ solr_parameters[:fq] << "#{Solrizer.solr_name('has_model', :symbol)}:(\"GenericFile\" \"Collection\")"
48
47
  end
49
-
50
48
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  class TinymceAssetUploader < CarrierWave::Uploader::Base
4
-
5
4
  # Include RMagick or MiniMagick support:
6
5
  # include CarrierWave::RMagick
7
6
  # include CarrierWave::MiniMagick
@@ -47,5 +46,4 @@ class TinymceAssetUploader < CarrierWave::Uploader::Base
47
46
  # def filename
48
47
  # "something.jpg" if original_filename
49
48
  # end
50
-
51
49
  end
@@ -3,10 +3,10 @@
3
3
  <div class="col-xs-12 col-sm-5 col-md-6">
4
4
  <nav class="navbar navbar-default" role="navigation">
5
5
  <ul class="nav navbar-nav">
6
- <li <%= 'class=active' if current_page?(root_path) %>><a href="/" >Home</a></li>
7
- <li <%= 'class=active' if current_page?(sufia.about_path) %>><a href="/about/" >About</a></li>
8
- <li <%= 'class=active' if action_name == "help" %>><a href="/help/" >Help</a></li>
9
- <li <%= 'class=active' if current_page?(sufia.contact_path) %>><a href="<%= sufia.contact_form_index_path %>" >Contact</a></li>
6
+ <li <%= 'class=active' if current_page?(root_path) %>><a href="<%= root_path %>">Home</a></li>
7
+ <li <%= 'class=active' if current_page?(sufia.about_path) %>><a href="<%= sufia.about_path %>">About</a></li>
8
+ <li <%= 'class=active' if action_name == "help" %>><a href="<%= sufia.static_path('help') %>">Help</a></li>
9
+ <li <%= 'class=active' if current_page?(sufia.contact_path) %>><a href="<%= sufia.contact_path %>">Contact</a></li>
10
10
  </ul><!-- /.nav -->
11
11
  </nav><!-- /.navbar -->
12
12
  </div>
@@ -14,4 +14,4 @@
14
14
  <%= render partial: 'catalog/search_form' %>
15
15
  </div>
16
16
  </div> <!-- /.row -->
17
- </div><!-- /#masthead_controls -->
17
+ </div><!-- /#masthead_controls -->
@@ -0,0 +1,19 @@
1
+ <h3>Deposits By Users</h3>
2
+ <%= form_for "deposit_stats", url: sufia.admin_stats_path, method: "GET" do |f| %>
3
+ <%= f.label "#{ t("sufia.admin.stats.deposited_form.heading") } #{ t("sufia.admin.stats.deposited_form.start_label") }" %>
4
+ <input type="date" name="deposit_stats[start_date]" value="<%= @deposit_stats[:start_date] %>"></input>
5
+ <%= f.label t("sufia.admin.stats.deposited_form.end_label") %>
6
+ <input type="date" name="deposit_stats[end_date]" value="<%= @deposit_stats[:end_date] %>"></input>
7
+ <%= f.submit "Load Stats" %>
8
+ <%- end %>
9
+
10
+ <ul>
11
+ <% @depositors.each do |usr| %>
12
+ <li>
13
+ <a href="<%= sufia.profile_path(usr[:key]) %>" title="View user's profile"><%= usr[:user].name %></a>
14
+ <% num_files = usr[:deposits]%>
15
+ deposited <%= pluralize(num_files, "file") %>
16
+ </li>
17
+ <% end %>
18
+ </ul>
19
+
@@ -31,4 +31,6 @@
31
31
  <p><%= link_to "View top 20", sufia.admin_stats_path, controller: "stats", dep_count: "20" %> </p>
32
32
  <% end %>
33
33
  </ul>
34
+
35
+ <%= render "admin/stats/deposits" %>
34
36
  </div>
@@ -18,12 +18,12 @@
18
18
  <div class="row">
19
19
  <%= simple_form_for @generic_file, url: batch_edits_path, method: :put, remote: true,
20
20
  builder: Sufia::FormBuilder, html: { id: "form_#{term.to_s}", class: "ajax-form"} do |f| %>
21
- <div class="col-sm-2 col-sm-offset-1">
21
+ <div class="col-xs-12 col-sm-4">
22
22
  <a class="accordion-toggle grey glyphicon-chevron-right-helper collapsed" data-toggle="collapse" href="#collapse_<%= term %>" id="expand_link_<%=term.to_s%>">
23
23
  <%= f.input_label term %> <span class="chevron"></span>
24
24
  </a>
25
25
  </div>
26
- <div id="collapse_<%= term %>" class="collapse scrolly col-sm-6">
26
+ <div id="collapse_<%= term %>" class="collapse scrolly col-xs-12 col-sm-7">
27
27
  <%= hidden_field_tag('update_type', 'update') %>
28
28
  <%= hidden_field_tag('key', term.to_s) %>
29
29
  <%# TODO we don't need to show required %>
@@ -1,5 +1,5 @@
1
- <h2 class="non lower">Actions</h2>
2
- <p>
1
+ <h2 class="sr-only">Actions</h2>
2
+ <div class="actions-controls-collections">
3
3
  <span class="label label-default"><%= link_to "Browse", collections.collection_path %></span> &nbsp;&nbsp;
4
4
  <span class="label label-default"><%= link_to "Add files", sufia.dashboard_files_path %></span>
5
- </p>
5
+ </div>
@@ -14,9 +14,9 @@
14
14
  <legend><%= t("sufia.collection.select_form.select_heading") %></legend>
15
15
  <ul>
16
16
  <% user_collections.sort { |c1,c2| c1['date_modified_dtsi'] <=> c2['date_modified_dtsi'] }.each do |collection| %>
17
- <li> <label for="id_<%= collection.id %>" class="sr-only">Add to <%=collection.title%></label>
17
+ <li>
18
18
  <%= radio_button_tag(:id, collection.id, true, class: "collection-selector") %>
19
- <%= label_tag(:collection, collection.title, "aria-hidden" =>true) %>
19
+ <%= label_tag(:collection, collection.title, for: "id_#{collection.id}") %>
20
20
  </li>
21
21
  <% end %>
22
22
  </ul>
@@ -13,15 +13,18 @@
13
13
  <%# kind of hacky way to get this to work on catalog and folder controllers. May be able to simple do {action: "index"} but I'm not sure -%>
14
14
  <% unless @response.response['numFound'] < 2 %>
15
15
  <%= form_tag collections.collection_path(@collection), method: :get, class: 'per_page form-inline' do %>
16
- <%= label_tag(:sort, "<span>Sort By:</span>".html_safe) %>
17
- <%= select_tag(:sort, options_for_select(sort_fields, h(params[:sort]))) %>
18
- &nbsp;&nbsp;&nbsp;
19
- <%= label_tag(:per_page) do %>
20
- Show <%= select_tag(:per_page, options_for_select(['10', '20', '50', '100'], h(params[:per_page])), title: "Number of results to display per page") %> per page
21
- <% end %>
22
- <%= render_hash_as_hidden_fields(params_for_search.except(:per_page, :sort)) %>
23
- &nbsp;&nbsp;&nbsp;
24
- <button class="btn btn-info"><i class="glyphicon glyphicon-refresh"></i> Refresh</button>
16
+ <fieldset class="col-xs-12 col-sm-9 col-md-8 col-lg-10">
17
+ <legend class="sr-only"><%= t('sufia.sort_label') %></legend>
18
+ <%= label_tag(:sort, "<span>Sort By:</span>".html_safe) %>
19
+ <%= select_tag(:sort, options_for_select(sort_fields, h(params[:sort]))) %>
20
+ <%= label_tag(:per_page) do %>
21
+ Show <%= select_tag(:per_page, options_for_select(['10', '20', '50', '100'], h(params[:per_page])), title: "Number of results to display per page") %>
22
+ per page
23
+ <% end %>
24
+ <%= render_hash_as_hidden_fields(params_for_search.except(:per_page, :sort)) %>
25
+ &nbsp;&nbsp;&nbsp;
26
+ <button class="btn btn-info"><span class="glyphicon glyphicon-refresh"></span> Refresh</button>
27
+ </fieldset>
25
28
  <%= render 'view_type_group' %>
26
29
  <% end %>
27
30
  <% end unless sort_fields.empty? %>
@@ -1,5 +1,5 @@
1
1
  <% if has_alternative_views? -%>
2
- <div class="view-type">
2
+ <div class="view-type col-xs-12 col-sm-3 col-md-4 col-lg-2">
3
3
  <span class="sr-only"><%= t('blacklight.search.view_title') %></span>
4
4
  <div class="view-type-group btn-group">
5
5
  <% document_index_views.each do |view, config| %>
@@ -4,14 +4,14 @@
4
4
 
5
5
  <% unless has_collection_search_parameters? %>
6
6
  <div class="row">
7
+ <div class="col-xs-12 col-sm-10 pull-right">
8
+ <%= render 'collections/form' %>
9
+ </div>
7
10
  <div class="col-xs-12 col-sm-2">
8
11
  <%= render 'collections/media_display', collection: @collection %>
9
- </div>
10
- <div class="col-xs-12 col-sm-10"><!-- class="column second"> -->
11
12
  <%= render 'collections/edit_actions' %>
12
- <%= render 'collections/form' %>
13
- </div><!-- /columns second -->
14
- </div> <!-- /columns two-b -->
13
+ </div>
14
+ </div>
15
15
  <% end %>
16
16
 
17
17
  <h2>Manage Items in this Collection</h2>
@@ -20,20 +20,21 @@
20
20
  </div>
21
21
  </div>
22
22
 
23
- <%= render 'sort_and_per_page' %>
24
-
25
23
  <% if has_collection_search_parameters? %>
26
24
  <% header_title = "Search Results within this Collection" %>
27
25
  <% else %>
28
26
  <% header_title = "Items in this Collection" %>
29
27
  <% end %>
30
28
 
31
- <div>
32
- <!-- Use CSS class h2 rather than HTML h2 tag to allow header and search box to align vertically -->
33
- <span class="h2"><%= header_title %></span>
34
- <%= render partial: 'search_form'%>
29
+ <div class="row">
30
+ <div class="col-xs-12">
31
+ <h2 class="col-xs-6 col-md-7 col-lg-6"><%= header_title %></h2>
32
+ <div class="col-xs-6 col-md-5 col-lg-6"><%= render partial: 'search_form' %></div>
33
+ </div>
35
34
  </div>
36
35
 
36
+ <%= render 'sort_and_per_page' %>
37
+
37
38
  <%= render_document_index @member_docs %>
38
39
 
39
40
  <%= render partial: 'paginate' %>
@@ -0,0 +1,5 @@
1
+ <% if can?(:update, ContentBlock) || !@announcement_text.value.blank? %>
2
+ <div id="announcement" class="row">
3
+ <%= editable_content_block @announcement_text %>
4
+ </div>
5
+ <% end %>
@@ -1,3 +1,4 @@
1
+ <%= render 'announcement' %>
1
2
  <div id="home_header" class="row">
2
3
  <%= render partial: 'home_header' %>
3
4
  </div>
@@ -18,16 +18,20 @@
18
18
  <div class="sort-toggle">
19
19
  <% unless @response.response['numFound'] < 2 %>
20
20
  <%= form_tag sufia.dashboard_files_path, method: :get, class: 'per_page form-inline' do %>
21
- <%= label_tag(:sort, "<span>Sort By:</span>".html_safe) %>
22
- <%= select_tag(:sort, options_for_select(sort_fields, h(params[:sort]))) %>
23
- &nbsp;&nbsp;&nbsp;
24
- <%= label_tag :per_page do %>
25
- Show <%= select_tag :per_page, options_for_select(['10', '20', '50', '100'], h(params[:per_page])),
26
- title: "Number of results to display per page" %> per page
27
- <% end %>
28
- <%= render_hash_as_hidden_fields params_for_search().except(:per_page, :sort, :utf8) %>
29
- &nbsp;&nbsp;&nbsp;
30
- <button class="btn btn-info" id="dashboard_sort_submit"><i class="glyphicon glyphicon-refresh"></i> Refresh</button>
21
+ <fieldset class="col-xs-12">
22
+ <legend class="sr-only"><%= t('sufia.sort_label') %></legend>
23
+ <%= label_tag(:sort, "<span>Sort By:</span>".html_safe) %>
24
+ <%= select_tag(:sort, options_for_select(sort_fields, h(params[:sort]))) %>
25
+ <%= label_tag :per_page do %>
26
+ Show <%= select_tag :per_page, options_for_select(['10', '20', '50', '100'], h(params[:per_page])),
27
+ title: "Number of results to display per page" %> per page
28
+ <% end %>
29
+ <%= render_hash_as_hidden_fields(params_for_search.except(:per_page, :sort, :utf8)) %>
30
+ &nbsp;&nbsp;&nbsp;
31
+ <button class="btn btn-info" id="dashboard_sort_submit"><span class="glyphicon glyphicon-refresh"></span>
32
+ Refresh
33
+ </button>
34
+ </fieldset>
31
35
  <% end %>
32
36
  <% end unless sort_fields.empty? %>
33
37
  </div>
@@ -29,7 +29,7 @@
29
29
 
30
30
  <%= render 'search_header' %>
31
31
 
32
- <h2 class="sr-only"><%=@page_title %></h2>
32
+ <h2 class="sr-only"><%= @page_title %></h2>
33
33
  <%= render partial: 'document_list' %>
34
34
 
35
35
  <% content_for :sidebar do %>
@@ -1,5 +1,3 @@
1
- <h1>About</h1>
2
- <h2>What is <%=t('sufia.product_name') %>?</h2>
3
1
  <%= editable_content_block @page %>
4
2
  <%= tiny_mce_stuff if can? :update, ContentBlock%>
5
3
 
@@ -1,5 +1,5 @@
1
1
  <div class="single-use-link">
2
2
  <h1>Single Use Link</h1>
3
3
  <p>Anyone can use the following link once to download the file</p>
4
- <%= link_to @asset, @link, class: 'download-link' %> <%= link_to raw('<i class="glyphicon glyphicon-link large-icon"></i>'), '#', class: 'copypaste itemicon itemcode', title: 'Copy File URL', id: "copy_link_#{@asset.id}" %>
4
+ <%= link_to @asset, @link, class: 'download-link', data: { 'no-turbolink' => ''} %> <%= link_to raw('<i class="glyphicon glyphicon-link large-icon"></i>'), '#', class: 'copypaste itemicon itemcode', title: 'Copy File URL', id: "copy_link_#{@asset.id}" %>
5
5
  </div>
@@ -2,7 +2,7 @@
2
2
  <h1 class="lower"><%= @asset %></h1>
3
3
  <h2 class="non lower">Actions</h2>
4
4
  <p>
5
- <%= link_to "Download (can only be used once)", @download_link %>
5
+ <%= link_to "Download (can only be used once)", @download_link, data: { 'no-turbolink' => ''} %>
6
6
  </p>
7
7
  <h2> Descriptions:</h2>
8
8
 
@@ -1,5 +1,5 @@
1
1
  <%= link_to sufia.notifications_path, id: "notify_link", class: "btn btn-default", title: "User Notifications" do %>
2
- <span class="sr-only">click for notifications.</span>
2
+ <span class="sr-only">View user notifications.</span>
3
3
  <%= render partial: 'users/notify_number' %>
4
4
  <% end %>
5
5
  <div class='hide'>
@@ -1,5 +1,5 @@
1
- <i class="glyphicon glyphicon-bullhorn"></i>
1
+ <span class="glyphicon glyphicon-bullhorn"></span>
2
2
  <% if @notify_number > 0 %>
3
- <span id="notify_number" class="overlay"> <%=@notify_number%></span>
3
+ <span id="notify_number" class="overlay"> <%= @notify_number %></span>
4
4
  <span class="sr-only">unread notifications</span>
5
5
  <% end %>
@@ -7,7 +7,7 @@ SimpleForm.setup do |config|
7
7
  # stack. The options given below are used to wrap the
8
8
  # whole input.
9
9
  config.wrappers :default, class: :input,
10
- hint_class: :field_with_hint, error_class: :field_with_errors do |b|
10
+ hint_class: :field_with_hint, error_class: :field_with_errors do |b|
11
11
  ## Extensions enabled by default
12
12
  # Any of these extensions can be disabled for a
13
13
  # given input by passing: `f.input EXTENSION_NAME => false`.
@@ -132,6 +132,6 @@ SimpleForm.setup do |config|
132
132
  check_boxes: :vertical_radio_and_checkboxes,
133
133
  radio_buttons: :vertical_radio_and_checkboxes,
134
134
  file: :vertical_file_input,
135
- boolean: :vertical_boolean,
135
+ boolean: :vertical_boolean
136
136
  }
137
137
  end
@@ -176,6 +176,10 @@ en:
176
176
  heading: "Display Files Deposited:"
177
177
  start_label: "Start"
178
178
  end_label: "end [defaults to now]"
179
+ user_deposits:
180
+ heading: "Display files deposited by users"
181
+ start_label: "Starting"
182
+ end_label: "Ending [defaults to now]"
179
183
 
180
184
  simple_form:
181
185
  labels:
@@ -45,7 +45,7 @@ Sufia::Engine.routes.draw do
45
45
  # User profile & follows
46
46
  resources :users, only: [:index, :show, :edit, :update], as: :profiles do
47
47
  member do
48
- post 'trophy' => 'users#toggle_trophy' #used by trophy.js
48
+ post 'trophy' => 'users#toggle_trophy' # used by trophy.js
49
49
  post 'follow' => 'users#follow'
50
50
  post 'unfollow' => 'users#unfollow'
51
51
  end
@@ -147,7 +147,7 @@ Sufia::Engine.routes.draw do
147
147
  # Static page routes (workaround)
148
148
  get ':action' => 'static#:action', constraints: { action: /help|terms|zotero|mendeley|agreement|subject_libraries|versions/ }, as: :static
149
149
 
150
- #Single use link errors
150
+ # Single use link errors
151
151
  get 'single_use_link/not_found' => 'errors#single_use_error'
152
152
  get 'single_use_link/expired' => 'errors#single_use_error'
153
153
 
@@ -155,5 +155,4 @@ Sufia::Engine.routes.draw do
155
155
  unless Rails.env.development? || Rails.env.test?
156
156
  match '*error' => 'errors#routing', via: [:get, :post]
157
157
  end
158
-
159
158
  end
@@ -2,7 +2,6 @@
2
2
  require 'rails/generators'
3
3
 
4
4
  class Sufia::AdminStatGenerator < Rails::Generators::Base
5
-
6
5
  source_root File.expand_path('../templates', __FILE__)
7
6
 
8
7
  desc """
@@ -12,6 +11,4 @@ This is a generator for adding Admin Stats into sufia
12
11
  def insert_stats_admin
13
12
  copy_file 'sufia/stats_admin.rb', 'config/initializers/stats_admin.rb'
14
13
  end
15
-
16
14
  end
17
-
@@ -7,7 +7,7 @@ module Sufia
7
7
 
8
8
  source_root File.expand_path('../templates', __FILE__)
9
9
 
10
- argument :model_name, type: :string , default: "user"
10
+ argument :model_name, type: :string, default: "user"
11
11
  desc """
12
12
  This generator makes the following changes to your application:
13
13
  1. Runs sufia-models:install
@@ -40,9 +40,9 @@ module Sufia
40
40
  def inject_sufia_controller_behavior
41
41
  controller_name = "ApplicationController"
42
42
  file_path = "app/controllers/application_controller.rb"
43
- if File.exists?(file_path)
43
+ if File.exist?(file_path)
44
44
  insert_into_file file_path, after: 'include Blacklight::Controller' do
45
- " \n# Adds Sufia behaviors into the application controller (#{controller_name}) \n" +
45
+ " \n# Adds Sufia behaviors into the application controller (#{controller_name}) \n" \
46
46
  " include Sufia::Controller\n"
47
47
  end
48
48
  gsub_file file_path, "layout 'blacklight'", "layout 'sufia-one-column'"
@@ -78,23 +78,23 @@ module Sufia
78
78
 
79
79
  # The engine routes have to come after the devise routes so that /users/sign_in will work
80
80
  def inject_routes
81
- gsub_file 'config/routes.rb', /root (:to =>|to:) "catalog#index"/, ''
81
+ gsub_file 'config/routes.rb', /root (:to =>|to:) "catalog#index"/, ''
82
82
 
83
- routing_code = "\n Hydra::BatchEdit.add_routes(self)\n" +
83
+ routing_code = "\n Hydra::BatchEdit.add_routes(self)\n" \
84
84
  " # This must be the very last route in the file because it has a catch-all route for 404 errors.
85
85
  # This behavior seems to show up only in production mode.
86
86
  mount Sufia::Engine => '/'\n root to: 'homepage#index'\n"
87
87
 
88
88
  sentinel = /devise_for :users/
89
- inject_into_file 'config/routes.rb', routing_code, { after: sentinel, verbose: false }
89
+ inject_into_file 'config/routes.rb', routing_code, after: sentinel, verbose: false
90
90
  end
91
91
 
92
92
  # Add behaviors to the SolrDocument model
93
93
  def inject_sufia_solr_document_behavior
94
94
  file_path = "app/models/solr_document.rb"
95
- if File.exists?(file_path)
95
+ if File.exist?(file_path)
96
96
  inject_into_file file_path, after: /include Blacklight::Solr::Document.*$/ do
97
- "\n # Adds Sufia behaviors to the SolrDocument.\n" +
97
+ "\n # Adds Sufia behaviors to the SolrDocument.\n" \
98
98
  " include Sufia::SolrDocumentBehavior\n"
99
99
  end
100
100
  else
@@ -113,6 +113,5 @@ module Sufia
113
113
  def install_admin_stats
114
114
  generate "sufia:admin_stat"
115
115
  end
116
-
117
116
  end
118
117
  end