sufia 6.0.0.beta1 → 6.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +12 -2
  3. data/Gemfile +10 -1
  4. data/History.md +21 -0
  5. data/SUFIA_VERSION +1 -1
  6. data/app/assets/images/orcid.png +0 -0
  7. data/app/assets/javascripts/sufia.js +1 -1
  8. data/app/assets/javascripts/sufia/batch_edit.js +36 -54
  9. data/app/assets/javascripts/sufia/edit_metadata.js +10 -11
  10. data/app/assets/javascripts/sufia/permissions.js +2 -26
  11. data/app/assets/stylesheets/sufia.css.scss +10 -2
  12. data/app/assets/stylesheets/sufia/_batch-edit.scss +8 -6
  13. data/app/assets/stylesheets/sufia/_dashboard.scss +10 -0
  14. data/app/assets/stylesheets/sufia/_settings.scss +1 -0
  15. data/app/assets/stylesheets/sufia/_styles.scss +5 -3
  16. data/app/controllers/batch_controller.rb +9 -6
  17. data/app/controllers/batch_edits_controller.rb +2 -2
  18. data/app/controllers/collections_controller.rb +19 -3
  19. data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +30 -29
  20. data/app/controllers/concerns/sufia/breadcrumbs.rb +8 -3
  21. data/app/controllers/concerns/sufia/files_controller_behavior.rb +19 -7
  22. data/app/controllers/concerns/sufia/users_controller_behavior.rb +14 -2
  23. data/app/controllers/single_use_links_viewer_controller.rb +5 -1
  24. data/app/forms/sufia/forms/batch_edit_form.rb +6 -0
  25. data/app/forms/sufia/forms/collection_edit_form.rb +17 -0
  26. data/app/forms/sufia/forms/generic_file_edit_form.rb +16 -0
  27. data/app/helpers/generic_file_helper.rb +3 -47
  28. data/app/helpers/sufia/permissions_helper.rb +29 -0
  29. data/app/helpers/sufia/sufia_helper_behavior.rb +11 -0
  30. data/app/inputs/multi_value_with_help_input.rb +8 -0
  31. data/app/inputs/select_with_help_input.rb +3 -0
  32. data/app/inputs/select_with_modal_help_input.rb +36 -0
  33. data/app/inputs/with_help_icon.rb +32 -0
  34. data/app/models/concerns/sufia/solr_document_behavior.rb +1 -1
  35. data/app/presenters/sufia/collection_presenter.rb +29 -0
  36. data/app/presenters/sufia/generic_file_presenter.rb +14 -0
  37. data/app/presenters/sufia/presenter_renderer.rb +53 -0
  38. data/app/views/batch/_metadata.html.erb +10 -44
  39. data/app/views/batch/_more_metadata.html.erb +3 -2
  40. data/app/views/batch/edit.html.erb +2 -2
  41. data/app/views/batch_edits/edit.html.erb +13 -17
  42. data/app/views/collections/_form.html.erb +5 -5
  43. data/app/views/collections/_show_descriptions.html.erb +8 -10
  44. data/app/views/collections/edit.html.erb +8 -9
  45. data/app/views/collections/edit_fields/_description.html.erb +1 -2
  46. data/app/views/dashboard/_index_partials/_stats.html.erb +3 -3
  47. data/app/views/generic_files/_descriptions.html.erb +5 -8
  48. data/app/views/generic_files/_permission_form.html.erb +8 -17
  49. data/app/views/generic_files/_show_descriptions.html.erb +3 -4
  50. data/app/views/generic_files/edit.html.erb +1 -2
  51. data/app/views/generic_files/jq_upload.json.jbuilder +8 -0
  52. data/app/views/records/edit_fields/_default.html.erb +5 -10
  53. data/app/views/records/edit_fields/_description.html.erb +5 -10
  54. data/app/views/records/edit_fields/_resource_type.html.erb +2 -5
  55. data/app/views/records/edit_fields/_rights.html.erb +3 -9
  56. data/app/views/single_use_links_viewer/show.html.erb +10 -16
  57. data/app/views/users/_profile.html.erb +1 -2
  58. data/app/views/users/_user_info.html.erb +20 -3
  59. data/app/views/users/edit.html.erb +11 -2
  60. data/app/views/users/show.html.erb +1 -1
  61. data/config/locales/sufia.en.yml +46 -26
  62. data/config/routes.rb +1 -1
  63. data/lib/generators/sufia/install_generator.rb +4 -0
  64. data/lib/sufia.rb +4 -0
  65. data/lib/sufia/form_builder.rb +16 -0
  66. data/lib/sufia/version.rb +1 -1
  67. data/spec/actors/generic_file/actor_spec.rb +1 -2
  68. data/spec/controllers/batch_controller_spec.rb +16 -48
  69. data/spec/controllers/batch_edits_controller_spec.rb +27 -16
  70. data/spec/controllers/collections_controller_spec.rb +81 -61
  71. data/spec/controllers/generic_files_controller_spec.rb +17 -2
  72. data/spec/controllers/users_controller_spec.rb +13 -3
  73. data/spec/features/collection_spec.rb +93 -88
  74. data/spec/features/users_spec.rb +1 -1
  75. data/spec/forms/collection_edit_form_spec.rb +20 -0
  76. data/spec/forms/generic_file_edit_form_spec.rb +26 -0
  77. data/spec/helpers/generic_file_helper_spec.rb +33 -7
  78. data/spec/helpers/permissions_helper_spec.rb +21 -0
  79. data/spec/inputs/multi_value_with_help_input_spec.rb +25 -0
  80. data/spec/inputs/select_with_modal_help_input_spec.rb +21 -0
  81. data/spec/jobs/batch_update_job_spec.rb +11 -14
  82. data/spec/lib/sufia/breadcrumbs_spec.rb +46 -8
  83. data/spec/models/generic_file_spec.rb +0 -13
  84. data/spec/models/user_spec.rb +23 -0
  85. data/spec/presenters/presenter_renderer_spec.rb +19 -0
  86. data/spec/presenters/sufia/generic_file_presenter_spec.rb +12 -0
  87. data/spec/spec_helper.rb +5 -0
  88. data/spec/support/input_support.rb +12 -0
  89. data/spec/test_app_templates/lib/generators/test_app_generator.rb +1 -1
  90. data/spec/views/batch/edit.html.erb_spec.rb +13 -23
  91. data/spec/views/batch_edits/edit.html.erb_spec.rb +19 -0
  92. data/spec/views/collections/_form.html.erb_spec.rb +26 -28
  93. data/spec/views/collections/_show_descriptions.html.erb_spec.rb +15 -9
  94. data/spec/views/dashboard/index_spec.rb +2 -2
  95. data/spec/views/generic_file/_permission_form.html.erb_spec.rb +23 -0
  96. data/spec/views/generic_file/edit.html.erb_spec.rb +5 -0
  97. data/spec/views/generic_file/show.html.erb_spec.rb +5 -0
  98. data/sufia-models/app/actors/sufia/generic_file/actor.rb +1 -1
  99. data/sufia-models/app/jobs/batch_update_job.rb +5 -5
  100. data/sufia-models/app/models/batch.rb +7 -3
  101. data/sufia-models/app/models/concerns/sufia/collection.rb +7 -25
  102. data/sufia-models/app/models/concerns/sufia/generic_file.rb +0 -1
  103. data/sufia-models/app/models/concerns/sufia/generic_file/export.rb +2 -2
  104. data/sufia-models/app/models/concerns/sufia/generic_file/indexing.rb +4 -13
  105. data/sufia-models/app/models/concerns/sufia/generic_file/metadata.rb +1 -1
  106. data/sufia-models/app/models/concerns/sufia/user.rb +24 -17
  107. data/sufia-models/app/models/sufia/orcid_validator.rb +8 -0
  108. data/sufia-models/app/services/sufia/generic_file_indexing_service.rb +13 -0
  109. data/sufia-models/app/services/sufia/indexing_service.rb +15 -0
  110. data/sufia-models/lib/generators/sufia/models/abstract_migration_generator.rb +30 -0
  111. data/sufia-models/lib/generators/sufia/models/cached_stats_generator.rb +3 -47
  112. data/sufia-models/lib/generators/sufia/models/install_generator.rb +11 -31
  113. data/sufia-models/lib/generators/sufia/models/orcid_field_generator.rb +19 -0
  114. data/sufia-models/lib/generators/sufia/models/proxies_generator.rb +2 -31
  115. data/sufia-models/lib/generators/sufia/models/templates/config/redis.yml +3 -0
  116. data/sufia-models/lib/generators/sufia/models/templates/config/sufia.rb +3 -0
  117. data/sufia-models/lib/generators/sufia/models/templates/migrations/add_orcid_to_users.rb +5 -0
  118. data/sufia-models/lib/generators/sufia/models/upgrade400_generator.rb +2 -33
  119. data/sufia-models/lib/generators/sufia/models/user_stats_generator.rb +31 -0
  120. data/sufia-models/lib/sufia/models/engine.rb +1 -0
  121. data/sufia-models/lib/sufia/models/version.rb +1 -1
  122. data/sufia-models/sufia-models.gemspec +5 -5
  123. data/sufia.gemspec +2 -3
  124. metadata +49 -39
  125. data/app/assets/javascripts/sufia/multiForm.js +0 -67
  126. data/app/helpers/records_helper.rb +0 -4
  127. data/app/helpers/sufia/records_helper_behavior.rb +0 -68
  128. data/app/views/batch_edits/update_edit.js.erb +0 -5
  129. data/app/views/collections/_edit_descriptions.html.erb +0 -18
  130. data/app/views/collections/edit_fields/_title.html.erb +0 -3
  131. data/app/views/generic_files/_field_form.html.erb +0 -20
  132. data/app/views/records/_edit_field.html.erb +0 -22
  133. data/app/views/records/edit_fields/_suffix.html.erb +0 -10
  134. data/app/views/records/edit_fields/_type.html.erb +0 -8
  135. data/app/views/users/_social_media_info.html.erb +0 -20
  136. data/spec/helpers/records_helper_spec.rb +0 -102
  137. data/spec/models/generic_file/web_form_spec.rb +0 -35
  138. data/sufia-models/app/models/concerns/sufia/generic_file/accessible_attributes.rb +0 -87
  139. data/sufia-models/app/models/concerns/sufia/generic_file/web_form.rb +0 -62
@@ -1,62 +0,0 @@
1
- module Sufia
2
- module GenericFile
3
- module WebForm
4
- extend ActiveSupport::Concern
5
- include Sufia::GenericFile::AccessibleAttributes
6
- included do
7
- before_save :remove_blank_assertions
8
- attr_accessible *(terms_for_display + [:part_of, :permissions_attributes])
9
- end
10
-
11
- def remove_blank_assertions
12
- terms_for_editing.each do |key|
13
- if self[key] == ['']
14
- self[key] = []
15
- changed_attributes.delete(key) if attribute_was(key) == []
16
- end
17
- end
18
- end
19
-
20
- # override this method if you need to initialize more complex RDF assertions (b-nodes)
21
- def initialize_fields
22
- terms_for_editing.select { |key| self[key].blank? }.each do |key|
23
- # if value is empty, we create an one element array to loop over for output
24
- if self.class.multiple?(key)
25
- self[key] = ['']
26
- else
27
- self[key] = ''
28
- end
29
- end
30
- end
31
-
32
- def terms_for_editing
33
- terms_for_display - [:date_modified, :date_uploaded, :format]
34
- end
35
-
36
- def terms_for_display
37
- # 'type' is the RDF.type assertion, which is not present by default, but may be
38
- # provided in some RDF schemas
39
- self.class.terms_for_display
40
- end
41
-
42
- module ClassMethods
43
- def terms_for_display
44
- [:resource_type, :title, :creator, :contributor, :description, :tag, :rights, :publisher, :date_created,
45
- :subject, :language, :identifier, :based_near, :related_url]
46
- end
47
- end
48
-
49
- def to_jq_upload
50
- return {
51
- "name" => title,
52
- "size" => file_size,
53
- "url" => "/files/#{noid}",
54
- "thumbnail_url" => id,
55
- "delete_url" => "deleteme", # generic_file_path(id: id),
56
- "delete_type" => "DELETE"
57
- }
58
- end
59
-
60
- end
61
- end
62
- end