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
@@ -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