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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e188410a3abce213d0a71c5d20f29852e272845a
|
|
4
|
+
data.tar.gz: 83e3218b65097ce2757367f6864f13e0fc3293b3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6f0b3722d9e23c720e42d8f2cf9856984e2b7d6408484effce030256dd97314193c7f7b2fcbfbd9bb01c4b1c61f4d141ab80de6c9960f7b6c5b7be846a31abe2
|
|
7
|
+
data.tar.gz: fb33d7ec4280f2fc544b9d43599aeaa3671d1ac92b1e208ea2d39bf4b82aa0d97df80c91c2a46a2415e7d367d310d4a85152a1ad704f1db4332cf6fdb2d833de
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
require: rubocop-rspec
|
|
2
|
+
|
|
3
|
+
AllCops:
|
|
4
|
+
RunRailsCops: true
|
|
5
|
+
DisplayCopNames: true
|
|
6
|
+
Include:
|
|
7
|
+
- '**/Rakefile'
|
|
8
|
+
- '**/config.ru'
|
|
9
|
+
Exclude:
|
|
10
|
+
- 'db/**/*'
|
|
11
|
+
- 'script/**/*'
|
|
12
|
+
- 'vendor/**/*'
|
|
13
|
+
- 'spec/internal/**/*'
|
|
14
|
+
- 'sufia-models/app/models/concerns/sufia/generic_file/export.rb'
|
|
15
|
+
|
|
16
|
+
Metrics/LineLength:
|
|
17
|
+
Enabled: false
|
|
18
|
+
|
|
19
|
+
Metrics/AbcSize:
|
|
20
|
+
Enabled: false
|
|
21
|
+
|
|
22
|
+
Metrics/CyclomaticComplexity:
|
|
23
|
+
Exclude:
|
|
24
|
+
- 'lib/sufia/arkivo/metadata_munger.rb'
|
|
25
|
+
- 'sufia-models/app/services/sufia/generic_file_audit_service.rb'
|
|
26
|
+
- 'app/controllers/concerns/sufia/files_controller_behavior.rb'
|
|
27
|
+
- 'app/helpers/sufia/sufia_helper_behavior.rb'
|
|
28
|
+
|
|
29
|
+
Metrics/PerceivedComplexity:
|
|
30
|
+
Exclude:
|
|
31
|
+
- 'sufia-models/app/services/sufia/generic_file_audit_service.rb'
|
|
32
|
+
- 'app/controllers/concerns/sufia/files_controller_behavior.rb'
|
|
33
|
+
- 'app/helpers/sufia/sufia_helper_behavior.rb'
|
|
34
|
+
|
|
35
|
+
Metrics/MethodLength:
|
|
36
|
+
Enabled: false
|
|
37
|
+
|
|
38
|
+
Metrics/ClassLength:
|
|
39
|
+
Exclude:
|
|
40
|
+
- 'lib/generators/sufia/templates/catalog_controller.rb'
|
|
41
|
+
- 'sufia-models/app/models/datastreams/fits_datastream.rb'
|
|
42
|
+
- 'sufia-models/app/actors/sufia/generic_file/actor.rb'
|
|
43
|
+
|
|
44
|
+
Metrics/ModuleLength:
|
|
45
|
+
Exclude:
|
|
46
|
+
- 'app/controllers/concerns/sufia/users_controller_behavior.rb'
|
|
47
|
+
- 'app/controllers/concerns/sufia/files_controller_behavior.rb'
|
|
48
|
+
- 'app/helpers/sufia/sufia_helper_behavior.rb'
|
|
49
|
+
|
|
50
|
+
Style/BlockDelimiters:
|
|
51
|
+
Exclude:
|
|
52
|
+
- 'spec/**/*'
|
|
53
|
+
|
|
54
|
+
Style/BlockEndNewline:
|
|
55
|
+
Exclude:
|
|
56
|
+
- 'spec/**/*'
|
|
57
|
+
|
|
58
|
+
Style/MultilineBlockLayout:
|
|
59
|
+
Exclude:
|
|
60
|
+
- 'spec/**/*'
|
|
61
|
+
|
|
62
|
+
Style/IndentationConsistency:
|
|
63
|
+
EnforcedStyle: rails
|
|
64
|
+
|
|
65
|
+
Style/CollectionMethods:
|
|
66
|
+
PreferredMethods:
|
|
67
|
+
collect: 'map'
|
|
68
|
+
collect!: 'map!'
|
|
69
|
+
inject: 'reduce'
|
|
70
|
+
detect: 'find'
|
|
71
|
+
find_all: 'select'
|
|
72
|
+
|
|
73
|
+
Style/WordArray:
|
|
74
|
+
Enabled: false
|
|
75
|
+
|
|
76
|
+
Style/RegexpLiteral:
|
|
77
|
+
Enabled: false
|
|
78
|
+
|
|
79
|
+
Style/StringLiterals:
|
|
80
|
+
Enabled: false
|
|
81
|
+
|
|
82
|
+
Style/ClassAndModuleChildren:
|
|
83
|
+
Enabled: false
|
|
84
|
+
|
|
85
|
+
Style/Documentation:
|
|
86
|
+
Enabled: false
|
|
87
|
+
|
|
88
|
+
Style/HashSyntax:
|
|
89
|
+
Exclude:
|
|
90
|
+
- 'lib/generators/sufia/templates/catalog_controller.rb'
|
|
91
|
+
|
|
92
|
+
Style/LineEndConcatenation:
|
|
93
|
+
Exclude:
|
|
94
|
+
- 'spec/test_app_templates/lib/generators/**/*'
|
|
95
|
+
- 'sufia-models/lib/generators/**/*'
|
|
96
|
+
|
|
97
|
+
Style/PredicateName:
|
|
98
|
+
Exclude:
|
|
99
|
+
- 'app/helpers/sufia/sufia_helper_behavior.rb'
|
|
100
|
+
- 'app/controllers/concerns/sufia/controller.rb'
|
|
101
|
+
|
|
102
|
+
Style/GlobalVars:
|
|
103
|
+
Exclude:
|
|
104
|
+
- 'spec/**/*'
|
|
105
|
+
- 'spec/jobs/event_jobs_spec.rb'
|
|
106
|
+
- 'sufia-models/lib/generators/sufia/models/templates/config/redis_config.rb'
|
|
107
|
+
- 'sufia-models/lib/sufia/models/active_record/redis.rb'
|
|
108
|
+
- 'sufia-models/lib/sufia/models/active_fedora/redis.rb'
|
|
109
|
+
|
|
110
|
+
Style/SingleLineBlockParams:
|
|
111
|
+
Enabled: false
|
|
112
|
+
|
|
113
|
+
Style/ClassVars:
|
|
114
|
+
Exclude:
|
|
115
|
+
- 'sufia-models/lib/sufia/models.rb'
|
|
116
|
+
- 'sufia-models/lib/sufia/models/engine.rb'
|
|
117
|
+
|
|
118
|
+
Style/SignalException:
|
|
119
|
+
Enabled: false
|
|
120
|
+
|
|
121
|
+
Rails/Output:
|
|
122
|
+
Exclude:
|
|
123
|
+
- 'lib/generators/**/*'
|
|
124
|
+
- 'sufia-models/lib/generators/**/*'
|
|
125
|
+
|
|
126
|
+
Rails/Date:
|
|
127
|
+
Enabled: false
|
|
128
|
+
|
|
129
|
+
Rails/TimeZone:
|
|
130
|
+
Enabled: false
|
|
131
|
+
|
|
132
|
+
RSpec/FilePath:
|
|
133
|
+
Enabled: false
|
|
134
|
+
|
|
135
|
+
RSpec/InstanceVariable:
|
|
136
|
+
Enabled: false
|
|
137
|
+
|
|
138
|
+
RSpec/DescribeClass:
|
|
139
|
+
Exclude:
|
|
140
|
+
- 'spec/javascripts/jasmine_spec.rb'
|
|
141
|
+
- 'spec/tasks/rake_spec.rb'
|
|
142
|
+
- 'spec/jobs/event_jobs_spec.rb'
|
|
143
|
+
- 'spec/features/**/*'
|
|
144
|
+
- 'spec/views/**/*'
|
|
145
|
+
- 'spec/routing/**/*'
|
|
146
|
+
- 'spec/inputs/**/*'
|
data/.travis.yml
CHANGED
|
@@ -6,18 +6,13 @@ rvm:
|
|
|
6
6
|
matrix:
|
|
7
7
|
include:
|
|
8
8
|
- rvm: 2.1
|
|
9
|
-
env: "RAILS_VERSION=4.2.
|
|
9
|
+
env: "RAILS_VERSION=4.2.3"
|
|
10
10
|
env:
|
|
11
11
|
global:
|
|
12
12
|
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
|
13
13
|
matrix:
|
|
14
|
-
- "RAILS_VERSION=4.2.
|
|
14
|
+
- "RAILS_VERSION=4.2.3"
|
|
15
15
|
notifications:
|
|
16
|
-
email:
|
|
17
|
-
recipients:
|
|
18
|
-
- "ul-dlt-hydra@lists.psu.edu"
|
|
19
|
-
on_success: "change"
|
|
20
|
-
on_failure: "always"
|
|
21
16
|
irc:
|
|
22
17
|
channels:
|
|
23
18
|
- "irc.freenode.org#scholarsphere"
|
|
@@ -26,3 +21,5 @@ notifications:
|
|
|
26
21
|
- "%{repository}//%{branch}@%{commit} by %{author}: %{message} - %{build_url}"
|
|
27
22
|
services:
|
|
28
23
|
- redis-server
|
|
24
|
+
before_script:
|
|
25
|
+
- jdk_switcher use oraclejdk8
|
data/Gemfile
CHANGED
|
@@ -12,6 +12,8 @@ group :development, :test do
|
|
|
12
12
|
gem "simplecov", require: false
|
|
13
13
|
gem 'byebug' unless ENV['CI']
|
|
14
14
|
gem 'coveralls', require: false
|
|
15
|
+
gem 'rubocop', require: false
|
|
16
|
+
gem 'rubocop-rspec', require: false
|
|
15
17
|
end
|
|
16
18
|
|
|
17
19
|
file = File.expand_path("Gemfile", ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path("../spec/internal", __FILE__))
|
data/History.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# History of Sufia releases
|
|
2
2
|
|
|
3
|
+
## 6.3.0
|
|
4
|
+
|
|
5
|
+
* Fix problems with single use download links. [Olli Lyytinen]
|
|
6
|
+
* Use ActiveFedora::Noid 1.0 and surface its config in the Sufia config. [Michael J. Giarlo]
|
|
7
|
+
* Do not use hard-coded paths to URLs in the navbar. [Michael J. Giarlo]
|
|
8
|
+
* Fixes 2 label issue for radio button and better accessibility compliance. [mtribone]
|
|
9
|
+
* Tweak link text and switch Bootstrap icon to span. [mtribone]
|
|
10
|
+
* Fixed open alt tag that I incorrectly set previously to address accessibility [mtribone]
|
|
11
|
+
* Obey rubocop 0.33. [Michael J. Giarlo]
|
|
12
|
+
* Unregistered users should have the ability to see file citations [Michael J. Giarlo]
|
|
13
|
+
* After a week of training on "Practical Object-Oriented Design" with Sandi Metz @cam156 @awead and I decided to take a stab at refactoring a small piece of functionality with some of the ideas that we learned. [Hector Correa]
|
|
14
|
+
* Build a Rubocop config file that matches our community's styles. Allow Rubocop to autocorrect where possible. Correct style exceptions. [Michael J. Giarlo]
|
|
15
|
+
* Fixing audit service since audit no longer exists on the GenericFile [Carolyn Cole]
|
|
16
|
+
* Reload the object in the imprt url job after loading in the file incase another job has modified the object in the while the data was being copied [Carolyn Cole]
|
|
17
|
+
* Refactor the controller test to assume the ingest job is already tested [Carolyn Cole]
|
|
18
|
+
* Adding an announcement editable content block to the home page [Carolyn Cole]
|
|
19
|
+
* Adding object type and facte count to get all the files deposited by all users, not just all the objects deposited by the top 10 users [Carolyn Cole]
|
|
20
|
+
* Adds mention of Java 8 prerequisite for hydra-jetty. Fixes #1253 [kerchner]
|
|
21
|
+
* Fixes Bootstrap columns to allow caret to remain with text for batch editing. [mtribone]
|
|
22
|
+
* Makes the edit actions under thumbnail match browse view [mtribone]
|
|
23
|
+
* Fixes dropdown menu from being hidden on small devices 767px or smaller [mtribone]
|
|
24
|
+
* Update README.md [E. Lynette Rayle]
|
|
25
|
+
* Moving admin stats controller to a behavior so it can be overriden in the main app [Carolyn Cole]
|
|
26
|
+
* Swaps order of heading and sort, adjusts spacing of gallery display, and adds Bootstrap columns for structure [mtribone]
|
|
27
|
+
* Test on CI with the latest JDK and the latest Rails [Michael J. Giarlo]
|
|
28
|
+
* Updates README for v6.2.0. [Andrew Myers]
|
|
29
|
+
* Our librarians wants to be able to edit the labels. There is no real need to have the headings around and hard coded. [Carolyn Cole]
|
|
30
|
+
* Show deposits between a date range by users. fixes #1188 [Carolyn Cole]
|
|
31
|
+
|
|
3
32
|
## 6.2.0
|
|
4
33
|
|
|
5
34
|
* Check to make sure Zotero integration is enabled before asking user instances if they have a Zotero user ID. Fixes #1235 [Michael J. Giarlo]
|
|
@@ -372,7 +401,6 @@
|
|
|
372
401
|
* Merge travis config change to speed up the build [Michael J. Giarlo]
|
|
373
402
|
* Adding the browse view link into the bread crumbs so it shows on both the edit and the stats page. [Carolyn Cole]
|
|
374
403
|
|
|
375
|
-
|
|
376
404
|
## 4.3.1
|
|
377
405
|
|
|
378
406
|
* Adds an ORCID field to the user model. [Michael J. Giarlo]
|
data/README.md
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
# Sufia
|
|
2
2
|
|
|
3
3
|
[](http://badge.fury.io/rb/sufia)
|
|
4
|
-
[](./LICENSE)
|
|
5
|
-
[](./CONTRIBUTING.md)
|
|
6
|
-
[](http://rubydoc.info/gems/sufia)
|
|
7
4
|
[](https://travis-ci.org/projecthydra/sufia)
|
|
8
5
|
[](https://gemnasium.com/projecthydra/sufia)
|
|
9
6
|
[](https://coveralls.io/r/projecthydra/sufia)
|
|
7
|
+
[](https://codeclimate.com/github/projecthydra/sufia)
|
|
8
|
+
[](./LICENSE)
|
|
9
|
+
[](./CONTRIBUTING.md)
|
|
10
|
+
[](http://rubydoc.info/gems/sufia)
|
|
10
11
|
[](https://waffle.io/projecthydra/sufia)
|
|
11
12
|
|
|
12
13
|
# Table of Contents
|
|
@@ -87,6 +88,11 @@ If you have questions or need help, please email [the Hydra community tech list]
|
|
|
87
88
|
|
|
88
89
|
# Creating a Sufia-based app
|
|
89
90
|
|
|
91
|
+
This document contains instructions specific to setting up an app with __Sufia
|
|
92
|
+
v6.3.0__. If you are looking for instructions on installing a different
|
|
93
|
+
version, be sure to select the appropriate branch or tag from the drop-down
|
|
94
|
+
menu above.
|
|
95
|
+
|
|
90
96
|
## Prerequisites
|
|
91
97
|
|
|
92
98
|
Sufia requires the following software to work:
|
|
@@ -121,10 +127,10 @@ We recommend either Ruby 2.2 or the latest 2.1 version.
|
|
|
121
127
|
|
|
122
128
|
## Rails
|
|
123
129
|
|
|
124
|
-
Generate a new Rails application.
|
|
130
|
+
Generate a new Rails application. Sufia > 6.1.0 requires Rails 4.2.
|
|
125
131
|
|
|
126
132
|
```
|
|
127
|
-
gem install rails -v 4.
|
|
133
|
+
gem install rails -v 4.2
|
|
128
134
|
rails new my_app
|
|
129
135
|
```
|
|
130
136
|
|
|
@@ -133,7 +139,7 @@ rails new my_app
|
|
|
133
139
|
Add the following lines to your application's Gemfile.
|
|
134
140
|
|
|
135
141
|
```
|
|
136
|
-
gem 'sufia', '6.
|
|
142
|
+
gem 'sufia', '6.3.0'
|
|
137
143
|
gem 'kaminari', github: 'jcoyne/kaminari', branch: 'sufia' # required to handle pagination properly in dashboard. See https://github.com/amatsuda/kaminari/pull/322
|
|
138
144
|
```
|
|
139
145
|
|
|
@@ -162,7 +168,9 @@ rake db:migrate
|
|
|
162
168
|
|
|
163
169
|
## Solr and Fedora
|
|
164
170
|
|
|
165
|
-
If you already have instances of Solr and Fedora that you would like to use, you may skip this step. Otherwise feel free to use the bundled copy of Jetty, a Java servlet container that is configured to run versions of Solr and Fedora that are known to work with Sufia.
|
|
171
|
+
If you already have instances of Solr and Fedora that you would like to use, you may skip this step. Otherwise feel free to use [hydra-jetty](https://github.com/projecthydra/hydra-jetty), the bundled copy of Jetty, a Java servlet container that is configured to run versions of Solr and Fedora that are known to work with Sufia. Hydra-jetty (since v8.4.0) requires Java 8.
|
|
172
|
+
|
|
173
|
+
The following rake tasks will install hydra-jetty and start up Jetty with Solr and Fedora.
|
|
166
174
|
|
|
167
175
|
```
|
|
168
176
|
rake jetty:clean
|
|
@@ -335,13 +343,21 @@ To add proxies and transfers to your **Sufia 4**-based app, run the 'sufia:model
|
|
|
335
343
|
|
|
336
344
|
### One time setup for first admin
|
|
337
345
|
|
|
338
|
-
Follow the directions for installing hydra-role-management.
|
|
346
|
+
Follow the directions for [installing hydra-role-management](https://github.com/projecthydra/hydra-role-management#installing).
|
|
339
347
|
|
|
340
348
|
Add the following gem to Sufia installed app's Gemfile
|
|
341
|
-
```
|
|
349
|
+
```ruby
|
|
342
350
|
gem "hydra-role-management"
|
|
343
351
|
```
|
|
344
352
|
|
|
353
|
+
Then install the gem, run the generator, and database migrations:
|
|
354
|
+
```
|
|
355
|
+
# each of these commands will produce some output.
|
|
356
|
+
bundle install
|
|
357
|
+
rails generate roles
|
|
358
|
+
rake db:migrate
|
|
359
|
+
```
|
|
360
|
+
|
|
345
361
|
### Adding an admin user
|
|
346
362
|
|
|
347
363
|
In rails console, run the following commands to create the admin role.
|
data/SUFIA_VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.
|
|
1
|
+
6.3.0
|
|
@@ -61,4 +61,19 @@
|
|
|
61
61
|
.label-default a:hover {
|
|
62
62
|
color: #FFF;
|
|
63
63
|
text-align: center;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.edit_collection {
|
|
67
|
+
margin-top: 20px;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
div.view-type {
|
|
71
|
+
padding-left: 0;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
form.per_page {
|
|
75
|
+
fieldset {
|
|
76
|
+
margin-bottom: 1em;
|
|
77
|
+
padding-left: 0;
|
|
78
|
+
}
|
|
64
79
|
}
|
|
@@ -55,3 +55,13 @@
|
|
|
55
55
|
border-top-left-radius: 4px;
|
|
56
56
|
border-bottom-left-radius: 4px;
|
|
57
57
|
}
|
|
58
|
+
|
|
59
|
+
div#announcement {
|
|
60
|
+
text-align: center;
|
|
61
|
+
color: white;
|
|
62
|
+
font-size: 1.5em;
|
|
63
|
+
background-color: $vermilion;
|
|
64
|
+
border: 10px solid white;
|
|
65
|
+
padding-top: 10px;
|
|
66
|
+
border-radius: 15px;
|
|
67
|
+
}
|
|
@@ -9,13 +9,11 @@
|
|
|
9
9
|
class Sufia::BootstrapBreadcrumbsBuilder < BreadcrumbsOnRails::Breadcrumbs::Builder
|
|
10
10
|
include ActionView::Helpers::OutputSafetyHelper
|
|
11
11
|
def render
|
|
12
|
-
if @elements.blank?
|
|
13
|
-
return ""
|
|
14
|
-
end
|
|
12
|
+
return "" if @elements.blank?
|
|
15
13
|
|
|
16
14
|
@context.content_tag(:ul, class: 'breadcrumb') do
|
|
17
|
-
safe_join(@elements.uniq.collect {|e| render_element(e)})
|
|
18
|
-
end
|
|
15
|
+
safe_join(@elements.uniq.collect { |e| render_element(e) })
|
|
16
|
+
end
|
|
19
17
|
end
|
|
20
18
|
|
|
21
19
|
def render_element(element)
|
|
@@ -1,80 +1,5 @@
|
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
|
2
2
|
|
|
3
3
|
class Admin::StatsController < ApplicationController
|
|
4
|
-
|
|
5
|
-
# total user count
|
|
6
|
-
@users_count = User.count
|
|
7
|
-
|
|
8
|
-
# The most recent users to join
|
|
9
|
-
@users_stats = params.fetch(:users_stats, {})
|
|
10
|
-
@recent_users = recent_users
|
|
11
|
-
|
|
12
|
-
# Query Solr for top depositors
|
|
13
|
-
@active_users = top_depositors
|
|
14
|
-
|
|
15
|
-
# Count of documents by permissions
|
|
16
|
-
@files_count = document_by_permission
|
|
17
|
-
|
|
18
|
-
# Query Solr for top file formats
|
|
19
|
-
@top_formats = top_formats
|
|
20
|
-
|
|
21
|
-
render 'index'
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
private
|
|
25
|
-
|
|
26
|
-
def top_depositors_count
|
|
27
|
-
count = params[:dep_count].to_i
|
|
28
|
-
count.in?(5..20) ? count : 5
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
def document_by_permission
|
|
32
|
-
return document_by_date_by_permission if @users_stats[:file_start_date]
|
|
33
|
-
|
|
34
|
-
files_count = {}
|
|
35
|
-
files_count[:total] = GenericFile.count
|
|
36
|
-
files_count[:public] = GenericFile.where_public.count
|
|
37
|
-
files_count[:registered] = GenericFile.where_registered.count
|
|
38
|
-
files_count[:private] = files_count[:total] - (files_count[:registered] + files_count[:public])
|
|
39
|
-
files_count
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def document_by_date_by_permission
|
|
43
|
-
start_date = DateTime.parse(@users_stats[:file_start_date])
|
|
44
|
-
end_date = DateTime.parse(@users_stats[:file_end_date]).end_of_day unless @users_stats[:file_end_date].blank?
|
|
45
|
-
files_count = {}
|
|
46
|
-
files_count[:total] = GenericFile.find_by_date_created(start_date, end_date).count
|
|
47
|
-
files_count[:public] = GenericFile.find_by_date_created(start_date, end_date).merge(GenericFile.where_public).count
|
|
48
|
-
files_count[:registered] = GenericFile.find_by_date_created(start_date, end_date).merge(GenericFile.where_registered).count
|
|
49
|
-
files_count[:private] = files_count[:total] - (files_count[:registered] + files_count[:public])
|
|
50
|
-
files_count
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
def top_depositors
|
|
54
|
-
depositor_key = Solrizer.solr_name('depositor', :stored_searchable, type: :string)
|
|
55
|
-
top_data(depositor_key, top_depositors_count)
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
def top_formats
|
|
59
|
-
format_key = Solrizer.solr_name('file_format', Solrizer::Descriptor.new(:string, :indexed, :multivalued))
|
|
60
|
-
top_data(format_key, 5)
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
def top_data (key, limit)
|
|
64
|
-
query_url = "#{ActiveFedora.solr_config[:url]}/terms?terms.fl=#{key}&terms.sort=count&terms.limit=#{limit}&wt=json&omitHeader=true"
|
|
65
|
-
# Parse JSON response (looks like {"terms":{"depositor_tesim":["mjg36",3]}} for depositor)
|
|
66
|
-
json = open(query_url).read
|
|
67
|
-
tuples = JSON.parse(json)['terms'][key] rescue []
|
|
68
|
-
# Change to hash where keys = logins and values = counts
|
|
69
|
-
Hash[*tuples]
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
def recent_users
|
|
73
|
-
# no dates return the top 5
|
|
74
|
-
return User.order('created_at DESC').limit(5) if @users_stats[:start_date].blank?
|
|
75
|
-
|
|
76
|
-
start_date = DateTime.parse @users_stats[:start_date]
|
|
77
|
-
end_date = DateTime.parse(@users_stats[:end_date]).end_of_day unless @users_stats[:end_date].blank?
|
|
78
|
-
User.recent_users start_date, end_date
|
|
79
|
-
end
|
|
4
|
+
include Sufia::Admin::StatsBehavior
|
|
80
5
|
end
|