sufia 6.2.0 → 6.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
[![Version](https://badge.fury.io/rb/sufia.png)](http://badge.fury.io/rb/sufia)
|
4
|
-
[![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE)
|
5
|
-
[![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md)
|
6
|
-
[![API Docs](http://img.shields.io/badge/API-docs-blue.svg)](http://rubydoc.info/gems/sufia)
|
7
4
|
[![Build Status](https://travis-ci.org/projecthydra/sufia.png?branch=master)](https://travis-ci.org/projecthydra/sufia)
|
8
5
|
[![Dependency Status](https://gemnasium.com/projecthydra/sufia.png)](https://gemnasium.com/projecthydra/sufia)
|
9
6
|
[![Coverage Status](https://coveralls.io/repos/projecthydra/sufia/badge.svg)](https://coveralls.io/r/projecthydra/sufia)
|
7
|
+
[![Code Climate](https://codeclimate.com/github/projecthydra/sufia/badges/gpa.svg)](https://codeclimate.com/github/projecthydra/sufia)
|
8
|
+
[![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE)
|
9
|
+
[![Contribution Guidelines](http://img.shields.io/badge/CONTRIBUTING-Guidelines-blue.svg)](./CONTRIBUTING.md)
|
10
|
+
[![API Docs](http://img.shields.io/badge/API-docs-blue.svg)](http://rubydoc.info/gems/sufia)
|
10
11
|
[![Stories in Ready](https://badge.waffle.io/projecthydra/sufia.png?label=ready&title=Ready)](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
|