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.
- checksums.yaml +4 -4
- data/.rubocop.yml +146 -0
- data/.travis.yml +4 -7
- data/Gemfile +2 -0
- data/History.md +29 -1
- data/README.md +25 -9
- data/SUFIA_VERSION +1 -1
- data/app/assets/stylesheets/sufia/_collections.scss +15 -0
- data/app/assets/stylesheets/sufia/_file-listing.scss +7 -0
- data/app/assets/stylesheets/sufia/_home-page.scss +10 -0
- data/app/builders/sufia/bootstrap_breadcrumbs_builder.rb +3 -5
- data/app/controllers/admin/stats_controller.rb +1 -76
- data/app/controllers/api/items_controller.rb +4 -6
- data/app/controllers/api/zotero_controller.rb +5 -5
- data/app/controllers/authorities_controller.rb +5 -1
- data/app/controllers/batch_edits_controller.rb +3 -3
- data/app/controllers/concerns/sufia/admin/depositor_stats.rb +41 -0
- data/app/controllers/concerns/sufia/admin/stats_behavior.rb +94 -0
- data/app/controllers/concerns/sufia/batch_controller_behavior.rb +16 -18
- data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +54 -56
- data/app/controllers/concerns/sufia/breadcrumbs.rb +3 -6
- data/app/controllers/concerns/sufia/collections_controller_behavior.rb +39 -39
- data/app/controllers/concerns/sufia/controller.rb +10 -10
- data/app/controllers/concerns/sufia/dashboard_controller_behavior.rb +17 -18
- data/app/controllers/concerns/sufia/depositors_controller_behavior.rb +9 -12
- data/app/controllers/concerns/sufia/files_controller/browse_everything.rb +6 -7
- data/app/controllers/concerns/sufia/files_controller/local_ingest_behavior.rb +39 -40
- data/app/controllers/concerns/sufia/files_controller/upload_complete_behavior.rb +1 -1
- data/app/controllers/concerns/sufia/files_controller_behavior.rb +109 -110
- data/app/controllers/concerns/sufia/homepage_controller.rb +8 -8
- data/app/controllers/concerns/sufia/my_controller_behavior.rb +13 -10
- data/app/controllers/concerns/sufia/single_use_links_controller_behavior.rb +11 -14
- data/app/controllers/concerns/sufia/single_use_links_viewer_controller_behavior.rb +27 -21
- data/app/controllers/concerns/sufia/transfers_controller_behavior.rb +17 -17
- data/app/controllers/concerns/sufia/users_controller_behavior.rb +54 -54
- data/app/controllers/contact_form_controller.rb +1 -1
- data/app/controllers/content_blocks_controller.rb +11 -12
- data/app/controllers/directory_controller.rb +2 -3
- data/app/controllers/featured_work_lists_controller.rb +1 -1
- data/app/controllers/featured_works_controller.rb +2 -4
- data/app/controllers/homepage_controller.rb +1 -2
- data/app/controllers/mailbox_controller.rb +12 -32
- data/app/controllers/my/collections_controller.rb +3 -4
- data/app/controllers/my/files_controller.rb +4 -6
- data/app/controllers/my/highlights_controller.rb +4 -6
- data/app/controllers/my/shares_controller.rb +3 -5
- data/app/controllers/pages_controller.rb +1 -3
- data/app/controllers/single_use_links_controller.rb +0 -1
- data/app/controllers/single_use_links_viewer_controller.rb +0 -1
- data/app/controllers/static_controller.rb +1 -0
- data/app/forms/sufia/forms/collection_edit_form.rb +2 -2
- data/app/helpers/batch_edits_helper.rb +1 -3
- data/app/helpers/content_block_helper.rb +7 -8
- data/app/helpers/generic_file_helper.rb +23 -24
- data/app/helpers/sufia/blacklight_override.rb +6 -7
- data/app/helpers/sufia/dashboard_helper_behavior.rb +4 -7
- data/app/helpers/sufia/permissions_helper.rb +3 -4
- data/app/helpers/sufia/sufia_helper_behavior.rb +30 -29
- data/app/helpers/trophy_helper.rb +15 -15
- data/app/inputs/select_with_modal_help_input.rb +3 -3
- data/app/inputs/with_help_icon.rb +4 -4
- data/app/jobs/content_delete_event_job.rb +0 -1
- data/app/jobs/content_depositor_change_event_job.rb +1 -2
- data/app/jobs/event_job.rb +0 -1
- data/app/jobs/user_unfollow_event_job.rb +1 -0
- data/app/models/concerns/sufia/solr_document_behavior.rb +1 -2
- data/app/models/contact_form.rb +6 -6
- data/app/models/content_block.rb +1 -2
- data/app/models/featured_work_list.rb +3 -5
- data/app/models/user_mailbox.rb +44 -0
- data/app/presenters/sufia/collection_presenter.rb +6 -8
- data/app/presenters/sufia/generic_file_presenter.rb +2 -2
- data/app/presenters/sufia/presenter_renderer.rb +2 -2
- data/app/presenters/sufia/version_list_presenter.rb +1 -1
- data/app/presenters/sufia/version_presenter.rb +3 -6
- data/app/search_builders/deposit_search_builder.rb +19 -0
- data/app/search_builders/sufia/my_search_builder_behavior.rb +1 -2
- data/app/search_builders/sufia/search_builder.rb +1 -3
- data/app/uploaders/tinymce_asset_uploader.rb +0 -2
- data/app/views/_controls.html.erb +5 -5
- data/app/views/admin/stats/_deposits.html.erb +19 -0
- data/app/views/admin/stats/index.html.erb +2 -0
- data/app/views/batch_edits/edit.html.erb +2 -2
- data/app/views/collections/_edit_actions.html.erb +3 -3
- data/app/views/collections/_form_for_select_collection.html.erb +2 -2
- data/app/views/collections/_sort_and_per_page.html.erb +12 -9
- data/app/views/collections/_view_type_group.html.erb +1 -1
- data/app/views/collections/edit.html.erb +5 -5
- data/app/views/collections/show.html.erb +7 -6
- data/app/views/homepage/_announcement.html.erb +5 -0
- data/app/views/homepage/_home.html.erb +1 -0
- data/app/views/my/_sort_and_per_page.html.erb +14 -10
- data/app/views/my/index.html.erb +1 -1
- data/app/views/pages/show.html.erb +0 -2
- data/app/views/single_use_links/new_download.html.erb +1 -1
- data/app/views/single_use_links_viewer/show.html.erb +1 -1
- data/app/views/users/_notify_link.html.erb +1 -1
- data/app/views/users/_notify_number.html.erb +2 -2
- data/config/initializers/simple_form.rb +1 -1
- data/config/initializers/simple_form_bootstrap.rb +1 -1
- data/config/locales/sufia.en.yml +4 -0
- data/config/routes.rb +2 -3
- data/lib/generators/sufia/admin_stat_generator.rb +0 -3
- data/lib/generators/sufia/install_generator.rb +8 -9
- data/lib/generators/sufia/templates/catalog_controller.rb +2 -3
- data/lib/generators/sufia/templates/config/action_dispatch_http_upload_monkey_patch.rb +1 -0
- data/lib/generators/sufia/upgrade400_generator.rb +9 -9
- data/lib/generators/sufia/upgrade600_generator.rb +1 -4
- data/lib/sufia.rb +2 -2
- data/lib/sufia/arkivo/actor.rb +1 -1
- data/lib/sufia/arkivo/create_subscription_job.rb +30 -30
- data/lib/sufia/arkivo/metadata_munger.rb +7 -7
- data/lib/sufia/arkivo/schema_validator.rb +1 -1
- data/lib/sufia/single_use_error.rb +0 -1
- data/lib/sufia/version.rb +1 -1
- data/lib/sufia/zotero/config.rb +13 -13
- data/spec/actors/generic_file/actor_spec.rb +17 -18
- data/spec/controllers/admin_stats_controller_spec.rb +56 -5
- data/spec/controllers/api/zotero_controller_spec.rb +10 -9
- data/spec/controllers/authorities_controller_spec.rb +8 -8
- data/spec/controllers/batch_controller_spec.rb +19 -20
- data/spec/controllers/batch_edits_controller_spec.rb +8 -9
- data/spec/controllers/catalog_controller_spec.rb +7 -9
- data/spec/controllers/collections_controller_spec.rb +30 -32
- data/spec/controllers/content_blocks_controller_spec.rb +4 -4
- data/spec/controllers/dashboard_controller_spec.rb +12 -12
- data/spec/controllers/depositors_controller_spec.rb +8 -8
- data/spec/controllers/downloads_controller_spec.rb +10 -11
- data/spec/controllers/featured_work_lists_controller_spec.rb +4 -4
- data/spec/controllers/featured_works_controller_spec.rb +11 -12
- data/spec/controllers/generic_files_controller_spec.rb +154 -125
- data/spec/controllers/homepage_controller_spec.rb +22 -15
- data/spec/controllers/mailbox_controller_spec.rb +20 -36
- data/spec/controllers/my/collections_controller_spec.rb +4 -5
- data/spec/controllers/my/files_controller_spec.rb +10 -11
- data/spec/controllers/my/highlights_controller_spec.rb +4 -5
- data/spec/controllers/my/shares_controller_spec.rb +12 -14
- data/spec/controllers/my_controller_spec.rb +1 -3
- data/spec/controllers/pages_controller_spec.rb +4 -4
- data/spec/controllers/single_use_links_controller_spec.rb +1 -3
- data/spec/controllers/single_use_links_viewer_controller_spec.rb +1 -2
- data/spec/controllers/static_controller_spec.rb +1 -1
- data/spec/controllers/tinymce_assets_controller_spec.rb +8 -9
- data/spec/controllers/transfers_controller_spec.rb +19 -19
- data/spec/controllers/users_controller_spec.rb +33 -35
- data/spec/factories/api_items.rb +2 -2
- data/spec/factories/content_blocks.rb +1 -1
- data/spec/factories/featured_works.rb +1 -1
- data/spec/factories/generic_files.rb +3 -3
- data/spec/factories/users.rb +7 -8
- data/spec/features/browse_dashboard_files_spec.rb +14 -18
- data/spec/features/browse_files_spec.rb +3 -4
- data/spec/features/catalog_search_spec.rb +3 -5
- data/spec/features/cloud_upload_spec.rb +2 -2
- data/spec/features/collection_spec.rb +21 -21
- data/spec/features/contact_form_spec.rb +10 -11
- data/spec/features/display_dashboard_spec.rb +5 -9
- data/spec/features/edit_file_spec.rb +8 -9
- data/spec/features/featured_item_spec.rb +1 -1
- data/spec/features/ingest_upload_files_spec.rb +5 -5
- data/spec/features/notifications_spec.rb +2 -6
- data/spec/features/ownership_transfer_spec.rb +2 -2
- data/spec/features/proxy_spec.rb +2 -2
- data/spec/features/search_spec.rb +3 -4
- data/spec/features/single_use_links_spec.rb +1 -1
- data/spec/features/users_spec.rb +4 -5
- data/spec/forms/collection_edit_form_spec.rb +2 -2
- data/spec/forms/generic_file_edit_form_spec.rb +6 -7
- data/spec/helpers/batch_edits_helper_spec.rb +9 -13
- data/spec/helpers/content_block_helper_spec.rb +3 -3
- data/spec/helpers/dashboard_helper_spec.rb +19 -24
- data/spec/helpers/generic_file_helper_spec.rb +5 -7
- data/spec/helpers/sufia_helper_spec.rb +43 -54
- data/spec/helpers/trophy_helper_spec.rb +5 -5
- data/spec/inputs/multi_value_with_help_input_spec.rb +1 -2
- data/spec/inputs/select_with_help_input_spec.rb +19 -15
- data/spec/javascripts/jasmine_spec.rb +4 -5
- data/spec/javascripts/support/jasmine_helper.rb +9 -9
- data/spec/jobs/active_fedora_id_based_job_spec.rb +7 -5
- data/spec/jobs/audit_job_spec.rb +7 -7
- data/spec/jobs/batch_update_job_spec.rb +5 -6
- data/spec/jobs/characterize_job_spec.rb +1 -1
- data/spec/jobs/content_depositor_change_event_job_spec.rb +1 -1
- data/spec/jobs/create_derivatives_job_spec.rb +5 -5
- data/spec/jobs/event_jobs_spec.rb +16 -16
- data/spec/jobs/import_url_job_spec.rb +36 -5
- data/spec/jobs/ingest_local_file_job_spec.rb +31 -20
- data/spec/jobs/sufia_resque_queue_spec.rb +1 -1
- data/spec/lib/sufia/analytics_spec.rb +0 -1
- data/spec/lib/sufia/arkivo/actor_spec.rb +6 -6
- data/spec/lib/sufia/arkivo/schema_validator_spec.rb +18 -18
- data/spec/lib/sufia/breadcrumbs_spec.rb +5 -6
- data/spec/lib/sufia/messages_spec.rb +11 -12
- data/spec/lib/sufia/readable_permissions_spec.rb +8 -10
- data/spec/lib/sufia/upload_complete_behavior_spec.rb +6 -7
- data/spec/lib/sufia/user_stat_importer_spec.rb +30 -33
- data/spec/lib/sufia/writable_permissions_spec.rb +1 -3
- data/spec/lib/sufia/zotero/config_spec.rb +4 -6
- data/spec/models/ability_spec.rb +11 -9
- data/spec/models/batch_spec.rb +13 -13
- data/spec/models/characterization_spec.rb +2 -3
- data/spec/models/checksum_audit_log_spec.rb +18 -19
- data/spec/models/collection_spec.rb +11 -12
- data/spec/models/content_block_spec.rb +33 -22
- data/spec/models/download_spec.rb +3 -5
- data/spec/models/featured_work_list_spec.rb +3 -3
- data/spec/models/featured_work_spec.rb +12 -14
- data/spec/models/file_content_datastream_spec.rb +9 -7
- data/spec/models/file_download_stat_spec.rb +34 -40
- data/spec/models/file_usage_spec.rb +46 -52
- data/spec/models/file_view_stat_spec.rb +35 -41
- data/spec/models/fits_datastream_spec.rb +23 -25
- data/spec/models/generic_file/visibility_spec.rb +10 -5
- data/spec/models/generic_file_spec.rb +86 -88
- data/spec/models/geo_names_resource_spec.rb +3 -5
- data/spec/models/local_authority_spec.rb +30 -33
- data/spec/models/pageview_spec.rb +3 -3
- data/spec/models/proxy_deposit_request_spec.rb +3 -3
- data/spec/models/single_use_link_spec.rb +36 -36
- data/spec/models/solr_document_spec.rb +3 -6
- data/spec/models/trophy_spec.rb +8 -9
- data/spec/models/user_mailbox_spec.rb +62 -0
- data/spec/models/user_spec.rb +28 -29
- data/spec/presenters/presenter_renderer_spec.rb +1 -1
- data/spec/presenters/sufia/generic_file_presenter_spec.rb +5 -5
- data/spec/presenters/sufia/version_list_presenter_spec.rb +2 -2
- data/spec/presenters/sufia/version_presenter_spec.rb +1 -1
- data/spec/routing/featured_works_route_spec.rb +4 -4
- data/spec/routing/ownership_transfers_route_spec.rb +1 -1
- data/spec/routing/route_spec.rb +89 -89
- data/spec/services/generic_file_audit_service_spec.rb +8 -8
- data/spec/services/repository_audit_service_spec.rb +7 -3
- data/spec/spec_helper.rb +5 -4
- data/spec/support/features/session_helpers.rb +1 -1
- data/spec/support/input_support.rb +1 -2
- data/spec/support/rake.rb +1 -1
- data/spec/support/selectors.rb +1 -6
- data/spec/support/statistic_helper.rb +1 -1
- data/spec/support/uploaded_file_monkeypatch.rb +1 -1
- data/spec/tasks/rake_spec.rb +3 -5
- data/spec/views/admin/stats/index.html.erb_spec.rb +16 -16
- data/spec/views/batch/edit.html.erb_spec.rb +1 -3
- data/spec/views/batch_edits/check_all_spec.rb +5 -5
- data/spec/views/batch_edits/edit.html.erb_spec.rb +1 -3
- data/spec/views/catalog/index.html.erb_spec.rb +1 -3
- data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +4 -5
- data/spec/views/collections/_form.html.erb_spec.rb +5 -3
- data/spec/views/collections/_show_descriptions.html.erb_spec.rb +7 -8
- data/spec/views/collections/_show_document_list.erb_spec.rb +4 -6
- data/spec/views/dashboard/index_spec.rb +14 -21
- data/spec/views/generic_file/_browse_everything.html.erb_spec.rb +2 -2
- data/spec/views/generic_file/_permission_form.html.erb_spec.rb +8 -9
- data/spec/views/generic_file/edit.html.erb_spec.rb +7 -7
- data/spec/views/generic_file/show.html.erb_spec.rb +24 -25
- data/spec/views/generic_file/stats.html.erb_spec.rb +19 -19
- data/spec/views/homepage/_announcement.html.erb_spec.rb +51 -0
- data/spec/views/homepage/_featured_works.html.erb_spec.rb +5 -9
- data/spec/views/homepage/_home_header.html.erb_spec.rb +2 -2
- data/spec/views/my/facet.html.erb_spec.rb +4 -4
- data/spec/views/single_use_links/new_download.html.erb_spec.rb +28 -0
- data/spec/views/single_use_links_viewer/show.html.erb_spec.rb +29 -0
- data/spec/views/users/_follower_modal.html.erb_spec.rb +7 -8
- data/spec/views/users/_following_modal.html.erb_spec.rb +4 -5
- data/spec/views/users/_notify_number.html.erb_spec.rb +2 -5
- data/spec/views/users/_user_util_links.html.erb_spec.rb +5 -8
- data/spec/views/users/index.html.erb_spec.rb +4 -6
- data/spec/views/users/show.html.erb_spec.rb +4 -7
- data/tasks/sufia-dev.rake +19 -3
- 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
|
|
@@ -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(
|
|
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="
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<li <%= 'class=active' if current_page?(sufia.contact_path) %>><a href="<%= sufia.
|
|
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
|
+
|
|
@@ -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-
|
|
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-
|
|
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="
|
|
2
|
-
<
|
|
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>
|
|
4
4
|
<span class="label label-default"><%= link_to "Add files", sufia.dashboard_files_path %></span>
|
|
5
|
-
</
|
|
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>
|
|
17
|
+
<li>
|
|
18
18
|
<%= radio_button_tag(:id, collection.id, true, class: "collection-selector") %>
|
|
19
|
-
<%= label_tag(:collection, collection.title, "
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
+
|
|
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
|
-
|
|
13
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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' %>
|
|
@@ -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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
+
|
|
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>
|
data/app/views/my/index.html.erb
CHANGED
|
@@ -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">
|
|
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
|
-
<
|
|
1
|
+
<span class="glyphicon glyphicon-bullhorn"></span>
|
|
2
2
|
<% if @notify_number > 0 %>
|
|
3
|
-
<span id="notify_number" class="overlay">
|
|
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
|
-
|
|
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`.
|
data/config/locales/sufia.en.yml
CHANGED
|
@@ -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:
|
data/config/routes.rb
CHANGED
|
@@ -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
|
|
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.
|
|
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',
|
|
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,
|
|
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.
|
|
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
|