sufia 6.3.0 → 6.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -2
  3. data/.rubocop.yml +10 -0
  4. data/Gemfile +16 -7
  5. data/History.md +43 -0
  6. data/README.md +26 -19
  7. data/SUFIA_VERSION +1 -1
  8. data/app/assets/javascripts/notifications_check.js.erb +46 -0
  9. data/app/assets/javascripts/sufia.js +1 -2
  10. data/app/assets/javascripts/sufia/uploader.js +3 -3
  11. data/app/assets/stylesheets/sufia/_collections.scss +5 -0
  12. data/app/assets/stylesheets/sufia/_dashboard.scss +6 -1
  13. data/app/assets/stylesheets/sufia/_file-listing.scss +44 -6
  14. data/app/assets/stylesheets/sufia/_file-show.scss +4 -0
  15. data/app/assets/stylesheets/sufia/_settings.scss +3 -0
  16. data/app/controllers/api/items_controller.rb +7 -3
  17. data/app/controllers/concerns/sufia/admin/depositor_stats.rb +1 -1
  18. data/app/controllers/concerns/sufia/admin/stats_behavior.rb +6 -76
  19. data/app/controllers/concerns/sufia/batch_controller_behavior.rb +10 -2
  20. data/app/controllers/concerns/sufia/contact_form_controller_behavior.rb +1 -0
  21. data/app/controllers/concerns/sufia/files_controller_behavior.rb +11 -1
  22. data/app/controllers/concerns/sufia/homepage_controller.rb +1 -1
  23. data/app/controllers/concerns/sufia/my_controller_behavior.rb +2 -0
  24. data/app/controllers/concerns/sufia/users_controller_behavior.rb +2 -2
  25. data/app/helpers/generic_file_helper.rb +8 -5
  26. data/app/jobs/content_delete_event_job.rb +16 -11
  27. data/app/jobs/content_deposit_event_job.rb +4 -16
  28. data/app/jobs/content_depositor_change_event_job.rb +32 -20
  29. data/app/jobs/content_event_job.rb +39 -0
  30. data/app/jobs/content_new_version_event_job.rb +4 -16
  31. data/app/jobs/content_restored_version_event_job.rb +6 -19
  32. data/app/jobs/content_update_event_job.rb +4 -16
  33. data/app/jobs/event_job.rb +48 -4
  34. data/app/jobs/user_edit_profile_event_job.rb +4 -17
  35. data/app/jobs/user_follow_event_job.rb +10 -12
  36. data/app/jobs/user_unfollow_event_job.rb +10 -15
  37. data/app/models/concerns/sufia/solr_document_behavior.rb +11 -1
  38. data/app/models/system_stats.rb +108 -0
  39. data/app/presenters/sufia/admin_stats_presenter.rb +49 -0
  40. data/app/views/_controls.html.erb +1 -1
  41. data/app/views/_footer.html.erb +1 -1
  42. data/app/views/_logo.html.erb +1 -3
  43. data/app/views/admin/stats/_date_form.html.erb +8 -0
  44. data/app/views/admin/stats/_deposits.html.erb +2 -10
  45. data/app/views/admin/stats/_files.html.erb +6 -14
  46. data/app/views/admin/stats/_new_users.html.erb +7 -14
  47. data/app/views/admin/stats/_stats_by_date.html.erb +8 -0
  48. data/app/views/admin/stats/_top_data.html.erb +24 -0
  49. data/app/views/admin/stats/index.html.erb +5 -31
  50. data/app/views/collections/_form_for_select_collection.html.erb +5 -4
  51. data/app/views/collections/_show_actions.html.erb +7 -2
  52. data/app/views/collections/_show_document_list_row.html.erb +1 -9
  53. data/app/views/generic_files/_browse_everything.html.erb +3 -0
  54. data/app/views/generic_files/_descriptions.html.erb +1 -1
  55. data/app/views/generic_files/_generic_file.html.erb +1 -1
  56. data/app/views/generic_files/_local_file_import.html.erb +3 -0
  57. data/app/views/generic_files/_show_actions.html.erb +4 -0
  58. data/app/views/generic_files/upload/_form.html.erb +3 -0
  59. data/app/views/generic_files/upload/_to_collection.html.erb +5 -0
  60. data/app/views/homepage/_recent_document.html.erb +1 -7
  61. data/app/views/my/_index_partials/_default_group.html.erb +1 -1
  62. data/app/views/my/_index_partials/_list_collections.html.erb +3 -10
  63. data/app/views/my/_index_partials/_list_files.html.erb +13 -22
  64. data/app/views/my/_sort_and_per_page.html.erb +3 -3
  65. data/app/views/records/edit_fields/_rights.html.erb +2 -1
  66. data/app/views/static/terms.html.erb +1 -1
  67. data/config/locales/sufia.en.yml +13 -0
  68. data/lib/generators/sufia/templates/catalog_controller.rb +2 -2
  69. data/lib/sufia/version.rb +1 -1
  70. data/spec/actors/generic_file/actor_spec.rb +35 -0
  71. data/spec/controllers/admin_stats_controller_spec.rb +53 -23
  72. data/spec/controllers/api/items_controller_spec.rb +47 -41
  73. data/spec/controllers/batch_controller_spec.rb +1 -0
  74. data/spec/controllers/generic_files_controller_spec.rb +35 -1
  75. data/spec/controllers/my/files_controller_spec.rb +5 -0
  76. data/spec/factories/generic_files.rb +3 -0
  77. data/spec/features/collection_spec.rb +91 -0
  78. data/spec/features/contact_form_spec.rb +1 -0
  79. data/spec/forms/collection_edit_form_spec.rb +3 -3
  80. data/spec/forms/generic_file_edit_form_spec.rb +1 -1
  81. data/spec/jobs/create_derivatives_job_spec.rb +6 -0
  82. data/spec/models/file_content_datastream_spec.rb +1 -1
  83. data/spec/models/file_download_stat_spec.rb +4 -4
  84. data/spec/models/file_usage_spec.rb +2 -2
  85. data/spec/models/file_view_stat_spec.rb +4 -4
  86. data/spec/models/generic_file_spec.rb +15 -3
  87. data/spec/models/geo_names_resource_spec.rb +10 -0
  88. data/spec/models/solr_document_spec.rb +28 -0
  89. data/spec/models/system_stats_spec.rb +184 -0
  90. data/spec/models/user_spec.rb +1 -1
  91. data/spec/models/user_usage_stats_spec.rb +1 -1
  92. data/spec/services/generic_file_csv_service_spec.rb +66 -0
  93. data/spec/services/generic_file_indexing_service_spec.rb +35 -0
  94. data/spec/services/lock_manager_spec.rb +12 -0
  95. data/spec/spec_helper.rb +2 -1
  96. data/spec/views/admin/stats/index.html.erb_spec.rb +11 -10
  97. data/spec/views/catalog/sort_and_per_page.html.erb_spec.rb +1 -1
  98. data/spec/views/collections/_form_for_select_collection.html.erb_spec.rb +51 -0
  99. data/spec/views/generic_file/_browse_everything.html.erb_spec.rb +4 -0
  100. data/spec/views/generic_file/edit.html.erb_spec.rb +31 -24
  101. data/spec/views/generic_file/new.html.erb_spec.rb +70 -0
  102. data/spec/views/generic_file/show.html.erb_spec.rb +23 -0
  103. data/sufia.gemspec +3 -2
  104. data/tasks/sufia-dev.rake +2 -0
  105. metadata +42 -9
  106. data/lib/sufia/role_mapper.rb +0 -7
data/sufia.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.add_dependency 'sufia-models', version
20
20
  gem.add_dependency 'blacklight_advanced_search', ['>= 5.1.4', '< 6.0']
21
- gem.add_dependency 'blacklight', '~> 5.12'
21
+ gem.add_dependency 'blacklight', '~> 5.16'
22
22
  gem.add_dependency 'railties', '>= 4.2.0'
23
23
  gem.add_dependency 'tinymce-rails', '~> 4.1'
24
24
  gem.add_dependency 'tinymce-rails-imageupload', '~> 4.0.16.beta'
@@ -43,8 +43,9 @@ Gem::Specification.new do |gem|
43
43
  gem.add_dependency "devise", "~> 3.0"
44
44
  gem.add_dependency 'json-schema'
45
45
  gem.add_dependency 'oauth'
46
+ gem.add_dependency 'redlock', '~> 0.1.2'
46
47
 
47
- gem.add_development_dependency 'engine_cart', '~> 0.5'
48
+ gem.add_development_dependency 'engine_cart', '~> 0.8'
48
49
  gem.add_development_dependency 'mida', '~> 0.3'
49
50
  gem.add_development_dependency 'database_cleaner', '~> 1.3'
50
51
  gem.add_development_dependency 'rspec-rails', '~> 3.1'
data/tasks/sufia-dev.rake CHANGED
@@ -4,6 +4,8 @@ require 'jettywrapper'
4
4
  require 'engine_cart/rake_task'
5
5
  require 'rubocop/rake_task'
6
6
 
7
+ Jettywrapper.hydra_jetty_version = "v8.6.0"
8
+
7
9
  desc 'Run style checker'
8
10
  RuboCop::RakeTask.new(:rubocop) do |task|
9
11
  task.requires << 'rubocop-rspec'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sufia
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.0
4
+ version: 6.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-12 00:00:00.000000000 Z
12
+ date: 2015-11-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sufia-models
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - '='
19
19
  - !ruby/object:Gem::Version
20
- version: 6.3.0
20
+ version: 6.4.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '='
26
26
  - !ruby/object:Gem::Version
27
- version: 6.3.0
27
+ version: 6.4.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: blacklight_advanced_search
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -51,14 +51,14 @@ dependencies:
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '5.12'
54
+ version: '5.16'
55
55
  type: :runtime
56
56
  prerelease: false
57
57
  version_requirements: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '5.12'
61
+ version: '5.16'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: railties
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -311,20 +311,34 @@ dependencies:
311
311
  - - ">="
312
312
  - !ruby/object:Gem::Version
313
313
  version: '0'
314
+ - !ruby/object:Gem::Dependency
315
+ name: redlock
316
+ requirement: !ruby/object:Gem::Requirement
317
+ requirements:
318
+ - - "~>"
319
+ - !ruby/object:Gem::Version
320
+ version: 0.1.2
321
+ type: :runtime
322
+ prerelease: false
323
+ version_requirements: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - "~>"
326
+ - !ruby/object:Gem::Version
327
+ version: 0.1.2
314
328
  - !ruby/object:Gem::Dependency
315
329
  name: engine_cart
316
330
  requirement: !ruby/object:Gem::Requirement
317
331
  requirements:
318
332
  - - "~>"
319
333
  - !ruby/object:Gem::Version
320
- version: '0.5'
334
+ version: '0.8'
321
335
  type: :development
322
336
  prerelease: false
323
337
  version_requirements: !ruby/object:Gem::Requirement
324
338
  requirements:
325
339
  - - "~>"
326
340
  - !ruby/object:Gem::Version
327
- version: '0.5'
341
+ version: '0.8'
328
342
  - !ruby/object:Gem::Dependency
329
343
  name: mida
330
344
  requirement: !ruby/object:Gem::Requirement
@@ -529,6 +543,7 @@ files:
529
543
  - app/assets/javascripts/jquery.blacklightTagCloud.js
530
544
  - app/assets/javascripts/jquery.tagcloud.js
531
545
  - app/assets/javascripts/jquery.tinysort.min.js
546
+ - app/assets/javascripts/notifications_check.js.erb
532
547
  - app/assets/javascripts/sufia.js
533
548
  - app/assets/javascripts/sufia/app.js
534
549
  - app/assets/javascripts/sufia/audio.js
@@ -656,6 +671,7 @@ files:
656
671
  - app/jobs/content_delete_event_job.rb
657
672
  - app/jobs/content_deposit_event_job.rb
658
673
  - app/jobs/content_depositor_change_event_job.rb
674
+ - app/jobs/content_event_job.rb
659
675
  - app/jobs/content_new_version_event_job.rb
660
676
  - app/jobs/content_restored_version_event_job.rb
661
677
  - app/jobs/content_update_event_job.rb
@@ -668,8 +684,10 @@ files:
668
684
  - app/models/content_block.rb
669
685
  - app/models/featured_work_list.rb
670
686
  - app/models/my_search_builder.rb
687
+ - app/models/system_stats.rb
671
688
  - app/models/tinymce_asset.rb
672
689
  - app/models/user_mailbox.rb
690
+ - app/presenters/sufia/admin_stats_presenter.rb
673
691
  - app/presenters/sufia/collection_presenter.rb
674
692
  - app/presenters/sufia/generic_file_presenter.rb
675
693
  - app/presenters/sufia/presenter_renderer.rb
@@ -688,9 +706,12 @@ files:
688
706
  - app/views/_logo.html.erb
689
707
  - app/views/_masthead.html.erb
690
708
  - app/views/_user_util_links.html.erb
709
+ - app/views/admin/stats/_date_form.html.erb
691
710
  - app/views/admin/stats/_deposits.html.erb
692
711
  - app/views/admin/stats/_files.html.erb
693
712
  - app/views/admin/stats/_new_users.html.erb
713
+ - app/views/admin/stats/_stats_by_date.html.erb
714
+ - app/views/admin/stats/_top_data.html.erb
694
715
  - app/views/admin/stats/index.html.erb
695
716
  - app/views/advanced/_advanced_search_facets.html.erb
696
717
  - app/views/advanced/_advanced_search_fields.html.erb
@@ -794,6 +815,7 @@ files:
794
815
  - app/views/generic_files/upload/_form_fields.html.erb
795
816
  - app/views/generic_files/upload/_local_file_import_chooser.html.erb
796
817
  - app/views/generic_files/upload/_script_templates.html.erb
818
+ - app/views/generic_files/upload/_to_collection.html.erb
797
819
  - app/views/generic_files/upload/_tos_checkbox.html.erb
798
820
  - app/views/homepage/_announcement.html.erb
799
821
  - app/views/homepage/_featured.html.erb
@@ -932,7 +954,6 @@ files:
932
954
  - lib/sufia/arkivo/schema_validator.rb
933
955
  - lib/sufia/form_builder.rb
934
956
  - lib/sufia/inflections.rb
935
- - lib/sufia/role_mapper.rb
936
957
  - lib/sufia/single_use_error.rb
937
958
  - lib/sufia/version.rb
938
959
  - lib/sufia/zotero.rb
@@ -1094,6 +1115,7 @@ files:
1094
1115
  - spec/models/proxy_deposit_request_spec.rb
1095
1116
  - spec/models/single_use_link_spec.rb
1096
1117
  - spec/models/solr_document_spec.rb
1118
+ - spec/models/system_stats_spec.rb
1097
1119
  - spec/models/trophy_spec.rb
1098
1120
  - spec/models/user_mailbox_spec.rb
1099
1121
  - spec/models/user_spec.rb
@@ -1108,6 +1130,9 @@ files:
1108
1130
  - spec/routing/ownership_transfers_route_spec.rb
1109
1131
  - spec/routing/route_spec.rb
1110
1132
  - spec/services/generic_file_audit_service_spec.rb
1133
+ - spec/services/generic_file_csv_service_spec.rb
1134
+ - spec/services/generic_file_indexing_service_spec.rb
1135
+ - spec/services/lock_manager_spec.rb
1111
1136
  - spec/services/repository_audit_service_spec.rb
1112
1137
  - spec/spec_helper.rb
1113
1138
  - spec/support/cleaner.rb
@@ -1131,12 +1156,14 @@ files:
1131
1156
  - spec/views/catalog/index.html.erb_spec.rb
1132
1157
  - spec/views/catalog/sort_and_per_page.html.erb_spec.rb
1133
1158
  - spec/views/collections/_form.html.erb_spec.rb
1159
+ - spec/views/collections/_form_for_select_collection.html.erb_spec.rb
1134
1160
  - spec/views/collections/_show_descriptions.html.erb_spec.rb
1135
1161
  - spec/views/collections/_show_document_list.erb_spec.rb
1136
1162
  - spec/views/dashboard/index_spec.rb
1137
1163
  - spec/views/generic_file/_browse_everything.html.erb_spec.rb
1138
1164
  - spec/views/generic_file/_permission_form.html.erb_spec.rb
1139
1165
  - spec/views/generic_file/edit.html.erb_spec.rb
1166
+ - spec/views/generic_file/new.html.erb_spec.rb
1140
1167
  - spec/views/generic_file/show.html.erb_spec.rb
1141
1168
  - spec/views/generic_file/stats.html.erb_spec.rb
1142
1169
  - spec/views/homepage/_announcement.html.erb_spec.rb
@@ -1373,6 +1400,7 @@ test_files:
1373
1400
  - spec/models/proxy_deposit_request_spec.rb
1374
1401
  - spec/models/single_use_link_spec.rb
1375
1402
  - spec/models/solr_document_spec.rb
1403
+ - spec/models/system_stats_spec.rb
1376
1404
  - spec/models/trophy_spec.rb
1377
1405
  - spec/models/user_mailbox_spec.rb
1378
1406
  - spec/models/user_spec.rb
@@ -1387,6 +1415,9 @@ test_files:
1387
1415
  - spec/routing/ownership_transfers_route_spec.rb
1388
1416
  - spec/routing/route_spec.rb
1389
1417
  - spec/services/generic_file_audit_service_spec.rb
1418
+ - spec/services/generic_file_csv_service_spec.rb
1419
+ - spec/services/generic_file_indexing_service_spec.rb
1420
+ - spec/services/lock_manager_spec.rb
1390
1421
  - spec/services/repository_audit_service_spec.rb
1391
1422
  - spec/spec_helper.rb
1392
1423
  - spec/support/cleaner.rb
@@ -1410,12 +1441,14 @@ test_files:
1410
1441
  - spec/views/catalog/index.html.erb_spec.rb
1411
1442
  - spec/views/catalog/sort_and_per_page.html.erb_spec.rb
1412
1443
  - spec/views/collections/_form.html.erb_spec.rb
1444
+ - spec/views/collections/_form_for_select_collection.html.erb_spec.rb
1413
1445
  - spec/views/collections/_show_descriptions.html.erb_spec.rb
1414
1446
  - spec/views/collections/_show_document_list.erb_spec.rb
1415
1447
  - spec/views/dashboard/index_spec.rb
1416
1448
  - spec/views/generic_file/_browse_everything.html.erb_spec.rb
1417
1449
  - spec/views/generic_file/_permission_form.html.erb_spec.rb
1418
1450
  - spec/views/generic_file/edit.html.erb_spec.rb
1451
+ - spec/views/generic_file/new.html.erb_spec.rb
1419
1452
  - spec/views/generic_file/show.html.erb_spec.rb
1420
1453
  - spec/views/generic_file/stats.html.erb_spec.rb
1421
1454
  - spec/views/homepage/_announcement.html.erb_spec.rb
@@ -1,7 +0,0 @@
1
- class RoleMapper
2
- def self.roles(uid)
3
- u = User.find_by_login(uid)
4
- return [] unless u
5
- u.groups
6
- end
7
- end