sufia 7.2.0 → 7.3.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +2 -0
  3. data/.rubocop.yml +3 -0
  4. data/.rubocop_todo.yml +1 -2
  5. data/.travis.yml +0 -1
  6. data/Gemfile +2 -1
  7. data/README.md +23 -106
  8. data/app/actors/sufia/apply_permission_template_actor.rb +19 -0
  9. data/app/actors/sufia/create_with_remote_files_actor.rb +2 -2
  10. data/app/actors/sufia/default_admin_set_actor.rb +42 -0
  11. data/app/actors/sufia/interpret_visibility_actor.rb +115 -0
  12. data/app/assets/images/collection.png +0 -0
  13. data/app/assets/javascripts/sufia.js +6 -0
  14. data/app/assets/javascripts/sufia/admin/admin_set/participants.es6 +9 -0
  15. data/app/assets/javascripts/sufia/admin/admin_set/visibility.es6 +134 -0
  16. data/app/assets/javascripts/sufia/admin/admin_set_controls.es6 +11 -0
  17. data/app/assets/javascripts/sufia/app.js +27 -5
  18. data/app/assets/javascripts/sufia/autocomplete.es6 +15 -0
  19. data/app/assets/javascripts/sufia/autocomplete/work.es6 +29 -0
  20. data/app/assets/javascripts/sufia/dashboard_actions.js +2 -4
  21. data/app/assets/javascripts/sufia/save_work/save_work_control.es6 +14 -2
  22. data/app/assets/javascripts/sufia/save_work/uploaded_files.es6 +7 -2
  23. data/app/assets/javascripts/sufia/save_work/visibility_component.es6 +245 -4
  24. data/app/assets/javascripts/sufia/select_work_type.es6 +38 -0
  25. data/app/assets/javascripts/sufia/workflow_actions_affix.js +14 -0
  26. data/app/assets/stylesheets/sufia/_dashboard.scss +50 -29
  27. data/app/assets/stylesheets/sufia/_footer.scss +30 -0
  28. data/app/assets/stylesheets/sufia/_header.scss +3 -4
  29. data/app/assets/stylesheets/sufia/_home-page.scss +10 -8
  30. data/app/assets/stylesheets/sufia/_select_work_type.scss +43 -0
  31. data/app/assets/stylesheets/sufia/_sufia.scss +4 -1
  32. data/app/assets/stylesheets/sufia/_variables.scss +3 -0
  33. data/app/assets/stylesheets/sufia/admin.scss +66 -169
  34. data/app/assets/stylesheets/sufia/blacklight_gallery.scss +17 -0
  35. data/app/authorities/qa/authorities/find_works.rb +15 -0
  36. data/app/controllers/concerns/sufia/batch_edits_controller_behavior.rb +2 -1
  37. data/app/controllers/concerns/sufia/batch_uploads_controller_behavior.rb +26 -13
  38. data/app/controllers/concerns/sufia/collections_controller_behavior.rb +25 -0
  39. data/app/controllers/concerns/sufia/controller.rb +8 -0
  40. data/app/controllers/concerns/sufia/deny_access_override_behavior.rb +1 -1
  41. data/app/controllers/concerns/sufia/file_sets_controller_behavior.rb +5 -14
  42. data/app/controllers/concerns/sufia/homepage_controller_behavior.rb +2 -0
  43. data/app/controllers/concerns/sufia/users_controller_behavior.rb +18 -7
  44. data/app/controllers/concerns/sufia/works_controller_behavior.rb +13 -10
  45. data/app/controllers/my/collections_controller.rb +5 -0
  46. data/app/controllers/my/shares_controller.rb +5 -0
  47. data/app/controllers/my/works_controller.rb +5 -0
  48. data/app/controllers/stats_controller.rb +1 -1
  49. data/app/controllers/sufia/admin/admin_sets_controller.rb +20 -2
  50. data/app/controllers/sufia/admin/permission_template_accesses_controller.rb +15 -0
  51. data/app/controllers/sufia/admin/permission_templates_controller.rb +29 -0
  52. data/app/controllers/sufia/admin_controller.rb +2 -0
  53. data/app/controllers/sufia/trophies_controller.rb +0 -2
  54. data/app/forms/sufia/forms/admin_set_form.rb +19 -0
  55. data/app/forms/sufia/forms/batch_edit_form.rb +16 -6
  56. data/app/forms/sufia/forms/batch_upload_form.rb +3 -2
  57. data/app/forms/sufia/forms/permission_template_form.rb +115 -0
  58. data/app/forms/sufia/forms/work_form.rb +6 -0
  59. data/app/helpers/batch_edits_helper.rb +1 -1
  60. data/app/helpers/sufia/citations_behavior.rb +0 -5
  61. data/app/helpers/sufia/citations_behaviors/formatters.rb +0 -1
  62. data/app/helpers/sufia/sufia_helper_behavior.rb +38 -6
  63. data/app/indexers/sufia/collection_indexer.rb +6 -0
  64. data/app/jobs/batch_create_job.rb +7 -15
  65. data/app/models/batch_upload_item.rb +2 -0
  66. data/app/models/concerns/sufia/ability.rb +12 -1
  67. data/app/models/sufia/permission_template.rb +102 -0
  68. data/app/models/sufia/permission_template_access.rb +18 -0
  69. data/app/presenters/sufia/admin_set_presenter.rb +1 -1
  70. data/app/presenters/sufia/model_icon.rb +7 -0
  71. data/app/presenters/sufia/select_type_list_presenter.rb +37 -0
  72. data/app/presenters/sufia/select_type_presenter.rb +35 -0
  73. data/app/presenters/sufia/work_show_presenter.rb +0 -2
  74. data/app/search_builders/collection_search_builder.rb +0 -2
  75. data/app/search_builders/sufia/admin_set_search_builder.rb +24 -0
  76. data/app/search_builders/sufia/catalog_search_builder.rb +10 -4
  77. data/app/search_builders/sufia/find_works_search_builder.rb +44 -0
  78. data/app/search_builders/sufia/my_search_builder_behavior.rb +0 -4
  79. data/app/search_builders/sufia/my_works_search_builder.rb +1 -1
  80. data/app/services/sufia/actor_factory.rb +6 -2
  81. data/app/services/sufia/admin_set_create_service.rb +22 -0
  82. data/app/services/sufia/admin_set_service.rb +46 -16
  83. data/app/services/sufia/collection_thumbnail_path_service.rb +10 -0
  84. data/app/services/sufia/workflow/abstract_notification.rb +39 -0
  85. data/app/services/sufia/workflow/changes_required_notification.rb +22 -0
  86. data/app/services/sufia/workflow/complete_notification.rb +22 -0
  87. data/app/services/sufia/workflow/pending_review_notification.rb +21 -0
  88. data/app/services/sufia/workflow/workflow_by_admin_set_strategy.rb +15 -0
  89. data/app/views/_masthead.html.erb +4 -4
  90. data/app/views/_toolbar.html.erb +31 -9
  91. data/app/views/_user_util_links.html.erb +7 -7
  92. data/app/views/batch_edits/edit.html.erb +24 -12
  93. data/app/views/catalog/_thumbnail_list_collection.html.erb +1 -1
  94. data/app/views/collections/_form.html.erb +2 -2
  95. data/app/views/collections/_media_display.html.erb +1 -1
  96. data/app/views/curation_concerns/base/_find_work_widget.html.erb +16 -0
  97. data/app/views/curation_concerns/base/_form.html.erb +6 -0
  98. data/app/views/curation_concerns/base/_form_child_work_relationships.html.erb +1 -1
  99. data/app/views/curation_concerns/base/_form_metadata.html.erb +1 -1
  100. data/app/views/curation_concerns/base/_form_parent_work_relationships.html.erb +43 -0
  101. data/app/views/curation_concerns/base/_form_progress.html.erb +7 -4
  102. data/app/views/curation_concerns/base/_form_relationships.html.erb +6 -6
  103. data/app/views/curation_concerns/base/_form_share.html.erb +1 -2
  104. data/app/views/curation_concerns/base/_guts4form.html.erb +1 -1
  105. data/app/views/curation_concerns/base/_social_media.html.erb +1 -1
  106. data/app/views/curation_concerns/base/_workflow_actions_widget.erb +3 -0
  107. data/app/views/curation_concerns/base/edit.html.erb +1 -1
  108. data/app/views/curation_concerns/base/new.html.erb +1 -1
  109. data/app/views/curation_concerns/base/show.html.erb +4 -1
  110. data/app/views/curation_concerns/file_sets/_show_actions.html.erb +0 -3
  111. data/app/views/dashboard/_create_work_action.html.erb +20 -0
  112. data/app/views/dashboard/_index_partials/_heading_actions.html.erb +9 -22
  113. data/app/views/layouts/admin.html.erb +8 -68
  114. data/app/views/layouts/curation_concerns/1_column.html.erb +4 -31
  115. data/app/views/layouts/homepage.html.erb +15 -45
  116. data/app/views/layouts/sufia-dashboard.html.erb +1 -36
  117. data/app/views/layouts/sufia.html.erb +49 -0
  118. data/app/views/my/_document_list.html.erb +1 -1
  119. data/app/views/my/_facet_limit.html.erb +2 -2
  120. data/app/views/my/_index_partials/_default_group.html.erb +10 -10
  121. data/app/views/my/_index_partials/_list_collections.html.erb +1 -1
  122. data/app/views/my/_sort_and_per_page.html.erb +8 -8
  123. data/app/views/records/edit_fields/_rights.html.erb +0 -1
  124. data/app/views/shared/_footer.html.erb +1 -1
  125. data/app/views/shared/_select_work_type_modal.html.erb +34 -0
  126. data/app/views/sufia/admin/_collections.html.erb +31 -0
  127. data/app/views/sufia/admin/_sidebar.html.erb +35 -23
  128. data/app/views/sufia/admin/admin_sets/_form.html.erb +38 -15
  129. data/app/views/sufia/admin/admin_sets/_form_metadata.html.erb +2 -0
  130. data/app/views/sufia/admin/admin_sets/_form_participant_table.html.erb +21 -0
  131. data/app/views/sufia/admin/admin_sets/_form_participants.html.erb +68 -0
  132. data/app/views/sufia/admin/admin_sets/_form_visibility.html.erb +58 -0
  133. data/app/views/sufia/admin/admin_sets/index.html.erb +29 -33
  134. data/app/views/sufia/admin/admin_sets/show.html.erb +3 -0
  135. data/app/views/sufia/admin/show.html.erb +22 -19
  136. data/app/views/sufia/batch_uploads/_form.html.erb +2 -1
  137. data/app/views/sufia/homepage/index.html.erb +11 -3
  138. data/app/views/sufia/uploads/_js_templates.html.erb +15 -11
  139. data/app/views/users/_user_row.html.erb +10 -0
  140. data/app/views/users/index.html.erb +1 -12
  141. data/config/features.rb +2 -0
  142. data/config/locales/sufia.en.yml +122 -37
  143. data/config/routes.rb +4 -1
  144. data/db/migrate/20161021175854_create_permission_template.rb +11 -0
  145. data/db/migrate/20161021180154_create_permission_template_access.rb +11 -0
  146. data/db/migrate/20161116222307_add_release_to_permission_templates.rb +6 -0
  147. data/lib/generators/sufia/install_generator.rb +12 -3
  148. data/lib/generators/sufia/templates/catalog_controller.rb +3 -13
  149. data/lib/generators/sufia/templates/workflow.json.erb +65 -0
  150. data/lib/generators/sufia/upgrade700_generator.rb +1 -1
  151. data/lib/generators/sufia/work/templates/locale.en.yml.erb +37 -0
  152. data/lib/generators/sufia/{work_generator.rb → work/work_generator.rb} +25 -5
  153. data/lib/sufia.rb +0 -1
  154. data/lib/sufia/engine.rb +7 -0
  155. data/lib/sufia/move_all_works_to_admin_set.rb +8 -0
  156. data/lib/sufia/version.rb +1 -1
  157. data/lib/tasks/migrate.rake +8 -0
  158. data/spec/actors/sufia/apply_permission_template_actor_spec.rb +64 -0
  159. data/spec/actors/sufia/create_with_remote_files_actor_spec.rb +8 -0
  160. data/spec/actors/sufia/default_admin_set_actor_spec.rb +43 -0
  161. data/spec/actors/sufia/interpret_visibility_actor_spec.rb +266 -0
  162. data/spec/authorities/qa/authorities/find_works_spec.rb +55 -0
  163. data/spec/controllers/batch_edits_controller_spec.rb +1 -6
  164. data/spec/controllers/citations_controller_spec.rb +49 -10
  165. data/spec/controllers/collections_controller_spec.rb +39 -0
  166. data/spec/controllers/curation_concerns/generic_works_controller_spec.rb +22 -1
  167. data/spec/controllers/dashboard_controller_spec.rb +0 -8
  168. data/spec/controllers/depositors_controller_spec.rb +2 -2
  169. data/spec/controllers/downloads_controller_spec.rb +2 -2
  170. data/spec/controllers/my/collections_controller_spec.rb +5 -0
  171. data/spec/controllers/my/shares_controller_spec.rb +5 -0
  172. data/spec/controllers/my/works_controller_spec.rb +5 -0
  173. data/spec/controllers/stats_controller_spec.rb +1 -1
  174. data/spec/controllers/sufia/admin/admin_sets_controller_spec.rb +33 -5
  175. data/spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb +36 -0
  176. data/spec/controllers/sufia/admin/permission_templates_controller_spec.rb +46 -0
  177. data/spec/controllers/sufia/admin_controller_spec.rb +6 -0
  178. data/spec/controllers/sufia/batch_uploads_controller_spec.rb +40 -42
  179. data/spec/controllers/sufia/homepage_controller_spec.rb +14 -0
  180. data/spec/controllers/sufia/trophies_controller_spec.rb +17 -4
  181. data/spec/controllers/users_controller_spec.rb +13 -4
  182. data/spec/factories/permission_template_accesses.rb +5 -0
  183. data/spec/factories/permission_templates.rb +5 -0
  184. data/spec/factories/sipity_entities.rb +7 -0
  185. data/spec/factories/users.rb +4 -0
  186. data/spec/factories/workflow_states.rb +6 -0
  187. data/spec/factories/workflows.rb +5 -0
  188. data/spec/features/admin_admin_set_spec.rb +6 -4
  189. data/spec/features/batch_edit_spec.rb +0 -1
  190. data/spec/features/collection_spec.rb +4 -4
  191. data/spec/features/edit_work_spec.rb +1 -0
  192. data/spec/features/work_show_spec.rb +10 -0
  193. data/spec/forms/sufia/forms/admin_set_form_spec.rb +2 -1
  194. data/spec/forms/sufia/forms/batch_edit_form_spec.rb +30 -0
  195. data/spec/forms/sufia/forms/permission_template_form_spec.rb +196 -0
  196. data/spec/forms/sufia/forms/work_form_spec.rb +35 -1
  197. data/spec/helpers/batch_edits_helper_spec.rb +4 -4
  198. data/spec/helpers/blacklight_helper_spec.rb +1 -1
  199. data/spec/helpers/sufia_helper_spec.rb +39 -7
  200. data/spec/indexers/sufia/collection_indexer_spec.rb +12 -0
  201. data/spec/javascripts/autocomplete_spec.js.coffee +46 -6
  202. data/spec/javascripts/visibility_component_spec.js +491 -0
  203. data/spec/jobs/batch_create_job_spec.rb +27 -28
  204. data/spec/lib/sufia/arkivo_spec.rb +14 -0
  205. data/spec/lib/sufia/controlled_vocabulary/importer/downloader_spec.rb +31 -0
  206. data/spec/lib/sufia/move_all_works_to_admin_set_spec.rb +13 -0
  207. data/spec/lib/sufia/zotero_spec.rb +8 -0
  208. data/spec/models/sufia/ability_spec.rb +54 -14
  209. data/spec/models/sufia/permission_template_spec.rb +144 -0
  210. data/spec/models/sufia/user_usage_stats_spec.rb +8 -2
  211. data/spec/presenters/sufia/homepage_presenter_spec.rb +1 -1
  212. data/spec/presenters/sufia/select_type_list_presenter_spec.rb +26 -0
  213. data/spec/presenters/sufia/select_type_presenter_spec.rb +21 -0
  214. data/spec/search_builder/sufia/admin_set_search_builder_spec.rb +57 -0
  215. data/spec/search_builder/sufia/catalog_search_builder_spec.rb +40 -14
  216. data/spec/search_builder/sufia/find_works_search_builder_spec.rb +60 -0
  217. data/spec/search_builder/sufia/my_shares_search_builder_spec.rb +4 -1
  218. data/spec/search_builder/sufia/single_admin_set_search_builder_spec.rb +5 -1
  219. data/spec/services/sufia/actor_factory_spec.rb +13 -5
  220. data/spec/services/sufia/admin_set_create_service_spec.rb +27 -0
  221. data/spec/services/sufia/admin_set_service_spec.rb +104 -17
  222. data/spec/services/sufia/workflow/changes_required_notification_spec.rb +32 -0
  223. data/spec/services/sufia/workflow/complete_notification_spec.rb +32 -0
  224. data/spec/services/sufia/workflow/pending_review_notification_spec.rb +31 -0
  225. data/spec/services/sufia/workflow/workflow_by_admin_set_strategy_spec.rb +22 -0
  226. data/spec/spec_helper.rb +24 -5
  227. data/spec/support/proxies.rb +1 -1
  228. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -0
  229. data/spec/views/_toolbar.html.erb_spec.rb +23 -6
  230. data/spec/views/batch_edits/edit.html.erb_spec.rb +7 -1
  231. data/spec/views/collections/_form_for_select_collection.html.erb_spec.rb +1 -3
  232. data/spec/views/curation_concerns/base/_find_work_widget.html.erb_spec.rb +22 -0
  233. data/spec/views/curation_concerns/base/_form.html.erb_spec.rb +7 -0
  234. data/spec/views/curation_concerns/base/_form_child_work_relationships.html.erb_spec.rb +1 -0
  235. data/spec/views/curation_concerns/base/_form_parent_work_relationships.html.erb_spec.rb +114 -0
  236. data/spec/views/curation_concerns/base/_form_progress.html.erb_spec.rb +3 -2
  237. data/spec/views/curation_concerns/base/_social_media.html.erb_spec.rb +1 -1
  238. data/spec/views/curation_concerns/base/edit.html.erb_spec.rb +1 -1
  239. data/spec/views/curation_concerns/base/show.html.erb_spec.rb +5 -1
  240. data/spec/views/curation_concerns/file_sets/_show_actions.html.erb_spec.rb +2 -2
  241. data/spec/views/dashboard/create_work_action.html.erb_spec.rb +27 -0
  242. data/spec/views/dashboard/index_spec.rb +7 -2
  243. data/spec/views/my/_sort_and_per_page.html.erb_spec.rb +33 -0
  244. data/spec/views/shared/select_work_type_modal.html.erb_spec.rb +32 -0
  245. data/spec/views/sufia/admin/admin_sets/_form.html.erb_spec.rb +18 -0
  246. data/spec/views/sufia/admin/admin_sets/_form_participants.html.erb_spec.rb +13 -0
  247. data/spec/views/sufia/admin/admin_sets/_form_visibility.html.erb_spec.rb +23 -0
  248. data/spec/views/sufia/batch_uploads/_form.html.erb_spec.rb +2 -12
  249. data/spec/views/sufia/homepage/index.html.erb_spec.rb +29 -8
  250. data/sufia.gemspec +5 -6
  251. data/tasks/sufia-dev.rake +6 -10
  252. data/template.rb +15 -0
  253. metadata +140 -28
  254. data/app/assets/stylesheets/sufia/widgets.css +0 -288
  255. data/app/helpers/sufia/citations_behaviors/formatters/endnote_formatter.rb +0 -49
  256. data/app/models/domain_term.rb +0 -4
  257. data/app/views/citations/file.html.erb +0 -0
  258. data/app/views/records/_rights_modal.html.erb +0 -1
  259. data/db/migrate/20160328222160_create_local_authorities.rb +0 -50
@@ -73,10 +73,11 @@ describe 'curation_concerns/base/_form_progress.html.erb', type: :view do
73
73
  assign(:form, form)
74
74
  end
75
75
 
76
- let(:work) { stub_model(GenericWork, id: '456') }
76
+ let(:work) { stub_model(GenericWork, id: '456', etag: '123456') }
77
77
 
78
- it "renders the deposit agreement already checked" do
78
+ it "renders the deposit agreement already checked and version" do
79
79
  expect(page).to have_selector("#agreement[checked]")
80
+ expect(page).to have_selector("input#generic_work_version[value=\"123456\"]", visible: false)
80
81
  end
81
82
  end
82
83
  end
@@ -13,6 +13,6 @@ describe 'curation_concerns/base/_social_media.html.erb', type: :view do
13
13
  expect(page).to have_link '', href: 'https://facebook.com/sharer/sharer.php?u=http%3A%2F%2Fexample.com%2F'
14
14
  expect(page).to have_link '', href: 'https://twitter.com/intent/tweet/?text=Example&url=http%3A%2F%2Fexample.com%2F'
15
15
  expect(page).to have_link '', href: 'https://plus.google.com/share?url=http%3A%2F%2Fexample.com%2F'
16
- expect(page).to have_link '', href: 'https://www.tumblr.com/widgets/share/tool?content=http%3A%2F%2Fexample.com%2F&posttype=link&shareSource=tumblr_share_button'
16
+ expect(page).to have_link '', href: 'https://www.tumblr.com/widgets/share/tool?canonicalUrl=http%3A%2F%2Fexample.com%2F&posttype=link&shareSource=tumblr_share_button'
17
17
  end
18
18
  end
@@ -19,7 +19,7 @@ describe 'curation_concerns/base/edit.html.erb', type: :view do
19
19
  end
20
20
 
21
21
  it "sets a header and draws the form" do
22
- expect(view).to receive(:provide).with(:page_title, 'A nice work // Work [456] // Sufia')
22
+ expect(view).to receive(:provide).with(:page_title, 'A nice work // Generic Work [456] // Sufia')
23
23
  expect(view).to receive(:provide).with(:page_header).and_yield
24
24
  render
25
25
  expect(rendered).to eq " <h1>Edit Work</h1>\n\na form\n"
@@ -1,7 +1,11 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'curation_concerns/base/show.html.erb', type: :view do
4
- let(:solr_document) { SolrDocument.new(id: '999', date_modified_dtsi: '2011-04-01') }
4
+ let(:solr_document) do
5
+ SolrDocument.new(id: '999',
6
+ date_modified_dtsi: '2011-04-01',
7
+ has_model_ssim: ['GenericWork'])
8
+ end
5
9
  let(:ability) { double }
6
10
  let(:presenter) do
7
11
  Sufia::WorkShowPresenter.new(solr_document, ability)
@@ -33,8 +33,8 @@ describe 'curation_concerns/file_sets/_show_actions.html.erb', type: :view do
33
33
  context 'when enabled' do
34
34
  let(:citations) { true }
35
35
 
36
- it 'appears on page' do
37
- expect(page).to have_selector('a#citations', count: 1)
36
+ it 'does not appear on page' do
37
+ expect(page).to have_no_selector('a#citations')
38
38
  end
39
39
  end
40
40
 
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'dashboard/_create_work_action.html.erb', type: :view do
4
+ before do
5
+ allow(view).to receive(:create_work_presenter).and_return(presenter)
6
+ allow(presenter).to receive(:first_model).and_yield(GenericWork)
7
+ render
8
+ end
9
+
10
+ context "when we have more than one model" do
11
+ let(:presenter) { instance_double(Sufia::SelectTypeListPresenter, many?: true) }
12
+
13
+ it "renders the select template" do
14
+ expect(rendered).to have_selector 'a[data-behavior="select-work"][data-target="#worktypes-to-create"][data-create-type="single"]'
15
+ expect(rendered).to have_link('Create Work', href: '#')
16
+ end
17
+ end
18
+
19
+ context "when we have one model" do
20
+ let(:presenter) { instance_double(Sufia::SelectTypeListPresenter, many?: false) }
21
+
22
+ it "doesn't draw the modal" do
23
+ expect(rendered).not_to include "modal"
24
+ expect(rendered).to have_link "Create Work", href: '/concern/generic_works/new'
25
+ end
26
+ end
27
+ end
@@ -2,6 +2,7 @@ RSpec.describe "dashboard/index.html.erb", type: :view do
2
2
  let(:user) { create(:user, display_name: "Charles Francis Xavier") }
3
3
  let(:ability) { instance_double("Ability") }
4
4
  before do
5
+ stub_template('dashboard/_create_work_action.html.erb' => "Create Work Stub")
5
6
  allow(user).to receive(:title).and_return("Professor, Head")
6
7
  allow(user).to receive(:department).and_return("Xavier’s School for Gifted Youngsters")
7
8
  allow(user).to receive(:telephone).and_return("814.865.8399")
@@ -11,13 +12,17 @@ RSpec.describe "dashboard/index.html.erb", type: :view do
11
12
  allow(user).to receive(:total_file_views).and_return(1)
12
13
  allow(user).to receive(:total_file_downloads).and_return(3)
13
14
  allow(user).to receive(:avatar).and_return(nil)
15
+
14
16
  allow(controller).to receive(:current_user).and_return(user)
15
17
  allow(controller).to receive(:current_ability).and_return(ability)
16
- allow(ability).to receive(:can?).with(:create, GenericWork).and_return(can_create_work)
18
+
17
19
  allow(ability).to receive(:can?).with(:create, Collection).and_return(can_create_collection)
18
20
  allow(ability).to receive(:can?).with(:edit, user).and_return(can_edit_user)
21
+
22
+ allow(view).to receive(:can_ever_create_works?).and_return(true)
19
23
  allow(view).to receive(:number_of_works).and_return("15")
20
24
  allow(view).to receive(:number_of_collections).and_return("3")
25
+
21
26
  assign(:activity, [])
22
27
  assign(:notifications, [])
23
28
  end
@@ -31,7 +36,7 @@ RSpec.describe "dashboard/index.html.erb", type: :view do
31
36
  let(:heading) { view.content_for(:page_header) }
32
37
 
33
38
  it "displays welcome message and links" do
34
- expect(heading).to have_link("Create Work", href: new_curation_concerns_generic_work_path)
39
+ expect(heading).to have_content "Create Work Stub"
35
40
  expect(heading).to have_link("Create Collection", href: new_collection_path)
36
41
  expect(heading).to have_link("View Works", href: sufia.dashboard_works_path)
37
42
  expect(heading).to include "My Dashboard"
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'my/_sort_and_per_page.html.erb', type: :view do
4
+ let(:mock_response) { double(response: { 'numFound' => 7 }) }
5
+ let(:sort_fields) { double(empty?: true) }
6
+
7
+ before do
8
+ @response = mock_response
9
+ allow(view).to receive(:sort_fields).and_return(sort_fields)
10
+ end
11
+
12
+ context "on my works page" do
13
+ before do
14
+ allow(view).to receive(:on_my_works?).and_return(true)
15
+ render
16
+ end
17
+ it "has buttons" do
18
+ expect(rendered).to have_selector('button', text: 'Add to Collection')
19
+ expect(rendered).to have_selector('input[value="Edit Selected"]')
20
+ end
21
+ end
22
+
23
+ context "not on my works page (i.e. Works shared with me)" do
24
+ before do
25
+ allow(view).to receive(:on_my_works?).and_return(false)
26
+ render
27
+ end
28
+ it "has buttons" do
29
+ expect(rendered).not_to have_selector('button', text: 'Add to Collection')
30
+ expect(rendered).to have_selector('input[value="Edit Selected"]')
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,32 @@
1
+ RSpec.describe 'shared/_select_work_type_modal.html.erb', type: :view do
2
+ let(:presenter) { instance_double Sufia::SelectTypeListPresenter }
3
+ let(:row1) do
4
+ instance_double(Sufia::SelectTypePresenter,
5
+ icon_class: 'icon',
6
+ name: 'Generic Work',
7
+ description: 'Workhorse',
8
+ concern: GenericWork)
9
+ end
10
+ let(:row2) do
11
+ instance_double(Sufia::SelectTypePresenter,
12
+ icon_class: 'icon',
13
+ name: 'Atlas',
14
+ description: 'Atlas of places',
15
+ concern: Atlas)
16
+ end
17
+ let(:results) { [GenericWork, Atlas] }
18
+
19
+ before do
20
+ allow(presenter).to receive(:each).and_yield(row1).and_yield(row2)
21
+ allow(view).to receive(:create_work_presenter).and_return(presenter)
22
+ render
23
+ end
24
+
25
+ it 'draws the modal' do
26
+ expect(rendered).to have_selector '#worktypes-to-create.modal'
27
+ expect(rendered).to have_content 'Generic Work'
28
+ expect(rendered).to have_content 'Atlas'
29
+ expect(rendered).to have_selector 'input[type="radio"][data-single="/concern/generic_works/new"][data-batch="/batch_uploads/new?payload_concern=GenericWork"]'
30
+ expect(rendered).to have_selector 'input[type="radio"][data-single="/concern/atlas/new"][data-batch="/batch_uploads/new?payload_concern=Atlas"]'
31
+ end
32
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'sufia/admin/admin_sets/_form.html.erb', type: :view do
4
+ let(:admin_set) { create(:admin_set) }
5
+ let!(:workflow) { Sipity::Workflow.create!(name: "default", label: "default") }
6
+ let!(:permission_template) { Sufia::PermissionTemplate.find_or_create_by(admin_set_id: admin_set.id, workflow_name: 'default') }
7
+ before do
8
+ @form = Sufia::Forms::AdminSetForm.new(admin_set, permission_template)
9
+ render
10
+ end
11
+ it "has the edit form" do
12
+ expect(rendered).to have_select('admin_set[workflow_name]', selected: 'default')
13
+ end
14
+ it "has the metadata fields" do
15
+ expect(rendered).to have_selector('input[type=text][name="admin_set[title]"]')
16
+ expect(rendered).to have_selector('textarea[name="admin_set[description]"]')
17
+ end
18
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'sufia/admin/admin_sets/_form_participants.html.erb', type: :view do
4
+ let(:admin_set) { create(:admin_set) }
5
+ let(:permission_template) { Sufia::PermissionTemplate.find_or_create_by(admin_set_id: admin_set.id) }
6
+ before do
7
+ @form = Sufia::Forms::AdminSetForm.new(admin_set, permission_template)
8
+ render
9
+ end
10
+ it "has the required selectors" do
11
+ expect(rendered).to have_selector('#participants #user-participants-form input[type=text]')
12
+ end
13
+ end
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe 'sufia/admin/admin_sets/_form_visibility.html.erb', type: :view do
4
+ let(:admin_set) { create(:admin_set) }
5
+ let(:permission_template) { Sufia::PermissionTemplate.find_or_create_by(admin_set_id: admin_set.id) }
6
+ before do
7
+ @form = Sufia::Forms::AdminSetForm.new(admin_set, permission_template)
8
+ render
9
+ end
10
+ it "has the release form" do
11
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[release_period]"][value=now]')
12
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[release_period]"][value=fixed]')
13
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[release_varies]"][value=before]')
14
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[release_varies]"][value=embargo]')
15
+ expect(rendered).to have_selector('#visibility select[name="sufia_permission_template[release_embargo]"]')
16
+ expect(rendered).to have_selector('#visibility input[type=date][name="sufia_permission_template[release_date]"]')
17
+ end
18
+ it "has the visilibility form" do
19
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[visibility]"][value=open]')
20
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[visibility]"][value=authenticated]')
21
+ expect(rendered).to have_selector('#visibility input[type=radio][name="sufia_permission_template[visibility]"][value=restricted]')
22
+ end
23
+ end
@@ -7,16 +7,8 @@ describe 'sufia/batch_uploads/_form.html.erb', type: :view do
7
7
  let(:user) { stub_model(User) }
8
8
 
9
9
  before do
10
- view.lookup_context.view_paths.push "#{CurationConcerns::Engine.root}/app/views/curation_concerns/base"
11
- view.lookup_context.view_paths.push 'app/views/sufia/batch_uploads'
12
- view.lookup_context.view_paths.push 'app/views/curation_concerns/base'
13
- allow(view).to receive(:curation_concern).and_return(work)
10
+ stub_template "curation_concerns/base/_guts4form.html.erb" => "Form guts"
14
11
  assign(:form, form)
15
- allow(controller).to receive_messages(current_user: user,
16
- controller_name: 'batch_uploads',
17
- action_name: 'new',
18
- repository: CurationConcerns::GenericWorksController.new.repository,
19
- blacklight_config: CurationConcerns::GenericWorksController.new.blacklight_config)
20
12
  end
21
13
 
22
14
  let(:page) do
@@ -28,8 +20,6 @@ describe 'sufia/batch_uploads/_form.html.erb', type: :view do
28
20
  expect(page).to have_selector("form[action='/batch_uploads']")
29
21
  # No title, because it's captured per file (e.g. Display label)
30
22
  expect(page).not_to have_selector("input#generic_work_title")
31
- expect(page).to have_link("New Work", href: "/concern/generic_works/new")
32
- expect(page).to have_link("Cancel", href: "/dashboard")
33
- expect(rendered).to match(/Display label/)
23
+ expect(view.content_for(:files_tab)).to have_link("New Work", href: "/concern/generic_works/new")
34
24
  end
35
25
  end
@@ -5,6 +5,7 @@ describe "sufia/homepage/index.html.erb", type: :view do
5
5
 
6
6
  describe "share your work button" do
7
7
  before do
8
+ allow(view).to receive(:signed_in?).and_return(signed_in)
8
9
  assign(:presenter, presenter)
9
10
  allow(controller).to receive(:current_ability).and_return(ability)
10
11
  allow(presenter).to receive(:display_share_button?).and_return(display_share_button)
@@ -12,16 +13,36 @@ describe "sufia/homepage/index.html.erb", type: :view do
12
13
  stub_template "sufia/homepage/_home_content.html.erb" => "home content"
13
14
  render
14
15
  end
15
- context "when the button always displays" do
16
- let(:display_share_button) { true }
17
- it "displays" do
18
- expect(rendered).to have_content t("sufia.share_button")
16
+
17
+ context "when not signed in" do
18
+ let(:signed_in) { false }
19
+ context "when the button always displays" do
20
+ let(:display_share_button) { true }
21
+ it "displays" do
22
+ expect(rendered).to have_content t("sufia.share_button")
23
+ end
24
+ end
25
+ context "when the button displays for users with rights" do
26
+ let(:display_share_button) { false }
27
+ it "does not display" do
28
+ expect(rendered).not_to have_content t("sufia.share_button")
29
+ end
19
30
  end
20
31
  end
21
- context "when the button displays for users with rights" do
22
- let(:display_share_button) { false }
23
- it "does not display" do
24
- expect(rendered).not_to have_content t("sufia.share_button")
32
+
33
+ context "when signed in" do
34
+ let(:signed_in) { true }
35
+ context "when the button always displays" do
36
+ let(:display_share_button) { true }
37
+ it "displays" do
38
+ expect(rendered).to have_content t("sufia.share_button")
39
+ end
40
+ end
41
+ context "when the button displays for users with rights" do
42
+ let(:display_share_button) { false }
43
+ it "does not display" do
44
+ expect(rendered).not_to have_content t("sufia.share_button")
45
+ end
25
46
  end
26
47
  end
27
48
  end
data/sufia.gemspec CHANGED
@@ -18,13 +18,12 @@ Gem::Specification.new do |spec|
18
18
  spec.version = Sufia::VERSION
19
19
  spec.license = 'Apache2'
20
20
 
21
- spec.add_dependency 'curation_concerns', '~> 1.6', '>= 1.6.1'
22
- # This is not required, but helps bundler resolve a bundle faster:
23
- spec.add_dependency 'hydra-head', '>= 10.1'
21
+ spec.add_dependency 'curation_concerns', '~> 1.7.4'
22
+ spec.add_dependency 'hydra-head', '>= 10.4.0'
24
23
  spec.add_dependency 'hydra-batch-edit', '~> 2.0'
25
24
  spec.add_dependency 'browse-everything', '>= 0.10.3'
26
25
  spec.add_dependency 'blacklight', '~> 6.6'
27
- spec.add_dependency 'blacklight-gallery', '~> 0.1'
26
+ spec.add_dependency 'blacklight-gallery', '~> 0.7'
28
27
  spec.add_dependency 'tinymce-rails', '~> 4.1'
29
28
  spec.add_dependency 'tinymce-rails-imageupload', '~> 4.0.16.beta'
30
29
  spec.add_dependency 'daemons', '~> 1.1'
@@ -46,7 +45,7 @@ Gem::Specification.new do |spec|
46
45
  spec.add_dependency 'almond-rails', '~> 0.0.1'
47
46
  spec.add_dependency 'qa', '~> 0.8' # questioning_authority
48
47
  spec.add_dependency 'flipflop', '~> 2.2'
49
- spec.add_dependency 'jquery-datatables-rails', '~> 3.3.0'
48
+ spec.add_dependency 'jquery-datatables-rails', '~> 3.4.0'
50
49
  spec.add_dependency 'rdf-rdfxml'
51
50
 
52
51
  spec.add_development_dependency 'engine_cart', '~> 1.0'
@@ -63,7 +62,7 @@ Gem::Specification.new do |spec|
63
62
  spec.add_development_dependency "equivalent-xml", '~> 0.5'
64
63
  spec.add_development_dependency "jasmine", '~> 2.3'
65
64
  spec.add_development_dependency 'rubocop', '~> 0.42.0'
66
- spec.add_development_dependency 'rubocop-rspec', '~> 1.5'
65
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.8.0'
67
66
  spec.add_development_dependency 'shoulda-matchers', '~> 3.1'
68
67
  spec.add_development_dependency 'rails-controller-testing', '~> 0'
69
68
  end
data/tasks/sufia-dev.rake CHANGED
@@ -1,7 +1,6 @@
1
- require 'rspec/core'
2
1
  require 'rspec/core/rake_task'
3
- require 'solr_wrapper'
4
- require 'fcrepo_wrapper'
2
+ require 'solr_wrapper' # necessary for rake_support to work
3
+ require 'fcrepo_wrapper' # necessary for rake_support to work
5
4
  require 'engine_cart/rake_task'
6
5
  require 'rubocop/rake_task'
7
6
  require 'active_fedora/rake_support'
@@ -11,10 +10,7 @@ RuboCop::RakeTask.new(:rubocop) do |task|
11
10
  task.fail_on_error = true
12
11
  end
13
12
 
14
- desc 'Run specs and style checker'
15
- task :spec do
16
- RSpec::Core::RakeTask.new(:spec)
17
- end
13
+ RSpec::Core::RakeTask.new(:spec)
18
14
 
19
15
  desc 'Spin up test servers and run specs'
20
16
  task :spec_with_app_load do
@@ -30,6 +26,6 @@ task ci: ['rubocop', 'engine_cart:generate'] do
30
26
  Rake::Task['spec_with_app_load'].invoke
31
27
  end
32
28
 
33
- def reset_statefile!
34
- FileUtils.rm_f('/tmp/minter-state')
35
- end
29
+ def reset_statefile!
30
+ FileUtils.rm_f('/tmp/minter-state')
31
+ end
data/template.rb ADDED
@@ -0,0 +1,15 @@
1
+ gem 'sufia', '7.2.0'
2
+ gem 'flipflop', github: 'jcoyne/flipflop', branch: 'hydra'
3
+
4
+ run 'bundle install'
5
+
6
+ generate 'sufia:install', '-f'
7
+
8
+ # Support Rails 4.2 and 5.0
9
+ begin
10
+ rails_command 'db:migrate'
11
+ rails_command 'curation_concerns:workflow:load'
12
+ rescue NoMethodError
13
+ rake 'db:migrate'
14
+ rake 'curation_concerns:workflow:load'
15
+ end
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: 7.2.0
4
+ version: 7.3.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2016-10-01 00:00:00.000000000 Z
15
+ date: 2017-02-09 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: curation_concerns
@@ -20,34 +20,28 @@ dependencies:
20
20
  requirements:
21
21
  - - "~>"
22
22
  - !ruby/object:Gem::Version
23
- version: '1.6'
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: 1.6.1
23
+ version: 1.7.4
27
24
  type: :runtime
28
25
  prerelease: false
29
26
  version_requirements: !ruby/object:Gem::Requirement
30
27
  requirements:
31
28
  - - "~>"
32
29
  - !ruby/object:Gem::Version
33
- version: '1.6'
34
- - - ">="
35
- - !ruby/object:Gem::Version
36
- version: 1.6.1
30
+ version: 1.7.4
37
31
  - !ruby/object:Gem::Dependency
38
32
  name: hydra-head
39
33
  requirement: !ruby/object:Gem::Requirement
40
34
  requirements:
41
35
  - - ">="
42
36
  - !ruby/object:Gem::Version
43
- version: '10.1'
37
+ version: 10.4.0
44
38
  type: :runtime
45
39
  prerelease: false
46
40
  version_requirements: !ruby/object:Gem::Requirement
47
41
  requirements:
48
42
  - - ">="
49
43
  - !ruby/object:Gem::Version
50
- version: '10.1'
44
+ version: 10.4.0
51
45
  - !ruby/object:Gem::Dependency
52
46
  name: hydra-batch-edit
53
47
  requirement: !ruby/object:Gem::Requirement
@@ -96,14 +90,14 @@ dependencies:
96
90
  requirements:
97
91
  - - "~>"
98
92
  - !ruby/object:Gem::Version
99
- version: '0.1'
93
+ version: '0.7'
100
94
  type: :runtime
101
95
  prerelease: false
102
96
  version_requirements: !ruby/object:Gem::Requirement
103
97
  requirements:
104
98
  - - "~>"
105
99
  - !ruby/object:Gem::Version
106
- version: '0.1'
100
+ version: '0.7'
107
101
  - !ruby/object:Gem::Dependency
108
102
  name: tinymce-rails
109
103
  requirement: !ruby/object:Gem::Requirement
@@ -404,14 +398,14 @@ dependencies:
404
398
  requirements:
405
399
  - - "~>"
406
400
  - !ruby/object:Gem::Version
407
- version: 3.3.0
401
+ version: 3.4.0
408
402
  type: :runtime
409
403
  prerelease: false
410
404
  version_requirements: !ruby/object:Gem::Requirement
411
405
  requirements:
412
406
  - - "~>"
413
407
  - !ruby/object:Gem::Version
414
- version: 3.3.0
408
+ version: 3.4.0
415
409
  - !ruby/object:Gem::Dependency
416
410
  name: rdf-rdfxml
417
411
  requirement: !ruby/object:Gem::Requirement
@@ -634,14 +628,14 @@ dependencies:
634
628
  requirements:
635
629
  - - "~>"
636
630
  - !ruby/object:Gem::Version
637
- version: '1.5'
631
+ version: 1.8.0
638
632
  type: :development
639
633
  prerelease: false
640
634
  version_requirements: !ruby/object:Gem::Requirement
641
635
  requirements:
642
636
  - - "~>"
643
637
  - !ruby/object:Gem::Version
644
- version: '1.5'
638
+ version: 1.8.0
645
639
  - !ruby/object:Gem::Dependency
646
640
  name: shoulda-matchers
647
641
  requirement: !ruby/object:Gem::Requirement
@@ -701,9 +695,13 @@ files:
701
695
  - LICENSE
702
696
  - README.md
703
697
  - Rakefile
698
+ - app/actors/sufia/apply_permission_template_actor.rb
704
699
  - app/actors/sufia/create_with_files_actor.rb
705
700
  - app/actors/sufia/create_with_remote_files_actor.rb
701
+ - app/actors/sufia/default_admin_set_actor.rb
702
+ - app/actors/sufia/interpret_visibility_actor.rb
706
703
  - app/assets/images/audio.png
704
+ - app/assets/images/collection.png
707
705
  - app/assets/images/default.png
708
706
  - app/assets/images/favicon.ico
709
707
  - app/assets/images/hydra/powered_by_hydra.png
@@ -713,11 +711,15 @@ files:
713
711
  - app/assets/images/work.png
714
712
  - app/assets/images/zotero.png
715
713
  - app/assets/javascripts/sufia.js
714
+ - app/assets/javascripts/sufia/admin/admin_set/participants.es6
715
+ - app/assets/javascripts/sufia/admin/admin_set/visibility.es6
716
+ - app/assets/javascripts/sufia/admin/admin_set_controls.es6
716
717
  - app/assets/javascripts/sufia/app.js
717
718
  - app/assets/javascripts/sufia/autocomplete.es6
718
719
  - app/assets/javascripts/sufia/autocomplete/language.es6
719
720
  - app/assets/javascripts/sufia/autocomplete/location.es6
720
721
  - app/assets/javascripts/sufia/autocomplete/subject.es6
722
+ - app/assets/javascripts/sufia/autocomplete/work.es6
721
723
  - app/assets/javascripts/sufia/batch.js
722
724
  - app/assets/javascripts/sufia/batch_edit.js
723
725
  - app/assets/javascripts/sufia/batch_select_all.js
@@ -754,11 +756,13 @@ files:
754
756
  - app/assets/javascripts/sufia/save_work/visibility_component.es6
755
757
  - app/assets/javascripts/sufia/search.js
756
758
  - app/assets/javascripts/sufia/select_submit.js
759
+ - app/assets/javascripts/sufia/select_work_type.es6
757
760
  - app/assets/javascripts/sufia/sorting.js
758
761
  - app/assets/javascripts/sufia/tabs.js
759
762
  - app/assets/javascripts/sufia/trophy.js
760
763
  - app/assets/javascripts/sufia/uploader.js
761
764
  - app/assets/javascripts/sufia/user_search.js
765
+ - app/assets/javascripts/sufia/workflow_actions_affix.js
762
766
  - app/assets/stylesheets/fileupload/jquery.fileupload-ui.scss
763
767
  - app/assets/stylesheets/sufia/_batch-edit.scss
764
768
  - app/assets/stylesheets/sufia/_browse_everything_overrides.scss
@@ -772,6 +776,7 @@ files:
772
776
  - app/assets/stylesheets/sufia/_file_sets.scss
773
777
  - app/assets/stylesheets/sufia/_file_upload.scss
774
778
  - app/assets/stylesheets/sufia/_fixedsticky.scss
779
+ - app/assets/stylesheets/sufia/_footer.scss
775
780
  - app/assets/stylesheets/sufia/_form-progress.scss
776
781
  - app/assets/stylesheets/sufia/_form.scss
777
782
  - app/assets/stylesheets/sufia/_header.scss
@@ -781,6 +786,7 @@ files:
781
786
  - app/assets/stylesheets/sufia/_nestable.scss
782
787
  - app/assets/stylesheets/sufia/_proxy-rights.scss
783
788
  - app/assets/stylesheets/sufia/_representative-media.scss
789
+ - app/assets/stylesheets/sufia/_select_work_type.scss
784
790
  - app/assets/stylesheets/sufia/_settings.scss
785
791
  - app/assets/stylesheets/sufia/_styles.scss
786
792
  - app/assets/stylesheets/sufia/_sufia.scss
@@ -789,7 +795,8 @@ files:
789
795
  - app/assets/stylesheets/sufia/_variables.scss
790
796
  - app/assets/stylesheets/sufia/_work-show.scss
791
797
  - app/assets/stylesheets/sufia/admin.scss
792
- - app/assets/stylesheets/sufia/widgets.css
798
+ - app/assets/stylesheets/sufia/blacklight_gallery.scss
799
+ - app/authorities/qa/authorities/find_works.rb
793
800
  - app/builders/sufia/bootstrap_breadcrumbs_builder.rb
794
801
  - app/builders/sufia/form_builder.rb
795
802
  - app/controllers/api/items_controller.rb
@@ -836,6 +843,8 @@ files:
836
843
  - app/controllers/stats_controller.rb
837
844
  - app/controllers/sufia/admin/admin_sets_controller.rb
838
845
  - app/controllers/sufia/admin/features_controller.rb
846
+ - app/controllers/sufia/admin/permission_template_accesses_controller.rb
847
+ - app/controllers/sufia/admin/permission_templates_controller.rb
839
848
  - app/controllers/sufia/admin/stats_controller.rb
840
849
  - app/controllers/sufia/admin/strategies_controller.rb
841
850
  - app/controllers/sufia/admin_controller.rb
@@ -853,6 +862,7 @@ files:
853
862
  - app/forms/sufia/forms/batch_upload_form.rb
854
863
  - app/forms/sufia/forms/collection_form.rb
855
864
  - app/forms/sufia/forms/file_set_edit_form.rb
865
+ - app/forms/sufia/forms/permission_template_form.rb
856
866
  - app/forms/sufia/forms/work_form.rb
857
867
  - app/helpers/batch_edits_helper.rb
858
868
  - app/helpers/contact_form_helper.rb
@@ -865,7 +875,6 @@ files:
865
875
  - app/helpers/sufia/citations_behaviors/formatters.rb
866
876
  - app/helpers/sufia/citations_behaviors/formatters/apa_formatter.rb
867
877
  - app/helpers/sufia/citations_behaviors/formatters/chicago_formatter.rb
868
- - app/helpers/sufia/citations_behaviors/formatters/endnote_formatter.rb
869
878
  - app/helpers/sufia/citations_behaviors/formatters/mla_formatter.rb
870
879
  - app/helpers/sufia/citations_behaviors/formatters/open_url_formatter.rb
871
880
  - app/helpers/sufia/citations_behaviors/name_behavior.rb
@@ -877,6 +886,7 @@ files:
877
886
  - app/helpers/sufia/permissions_helper.rb
878
887
  - app/helpers/sufia/sufia_helper_behavior.rb
879
888
  - app/helpers/trophy_helper.rb
889
+ - app/indexers/sufia/collection_indexer.rb
880
890
  - app/indexers/sufia/work_indexer.rb
881
891
  - app/jobs/attach_files_to_work_job.rb
882
892
  - app/jobs/batch_create_job.rb
@@ -909,7 +919,6 @@ files:
909
919
  - app/models/concerns/sufia/works/metadata.rb
910
920
  - app/models/concerns/sufia/works/trophies.rb
911
921
  - app/models/content_block.rb
912
- - app/models/domain_term.rb
913
922
  - app/models/featured_work.rb
914
923
  - app/models/featured_work_list.rb
915
924
  - app/models/file_download_stat.rb
@@ -924,6 +933,8 @@ files:
924
933
  - app/models/sufia/feature.rb
925
934
  - app/models/sufia/orcid_validator.rb
926
935
  - app/models/sufia/pageview.rb
936
+ - app/models/sufia/permission_template.rb
937
+ - app/models/sufia/permission_template_access.rb
927
938
  - app/models/sufia/statistic.rb
928
939
  - app/models/sufia/uploaded_file.rb
929
940
  - app/models/tinymce_asset.rb
@@ -938,7 +949,10 @@ files:
938
949
  - app/presenters/sufia/file_set_presenter.rb
939
950
  - app/presenters/sufia/file_usage.rb
940
951
  - app/presenters/sufia/homepage_presenter.rb
952
+ - app/presenters/sufia/model_icon.rb
941
953
  - app/presenters/sufia/presenter_renderer.rb
954
+ - app/presenters/sufia/select_type_list_presenter.rb
955
+ - app/presenters/sufia/select_type_presenter.rb
942
956
  - app/presenters/sufia/stats_usage_presenter.rb
943
957
  - app/presenters/sufia/trophy_presenter.rb
944
958
  - app/presenters/sufia/user_profile_presenter.rb
@@ -948,7 +962,9 @@ files:
948
962
  - app/search_builders/deposit_search_builder.rb
949
963
  - app/search_builders/parent_collection_search_builder.rb
950
964
  - app/search_builders/sufia/admin_set_member_search_builder.rb
965
+ - app/search_builders/sufia/admin_set_search_builder.rb
951
966
  - app/search_builders/sufia/catalog_search_builder.rb
967
+ - app/search_builders/sufia/find_works_search_builder.rb
952
968
  - app/search_builders/sufia/homepage_search_builder.rb
953
969
  - app/search_builders/sufia/my_collections_search_builder.rb
954
970
  - app/search_builders/sufia/my_highlights_search_builder.rb
@@ -958,6 +974,7 @@ files:
958
974
  - app/search_builders/sufia/search_builder.rb
959
975
  - app/search_builders/sufia/single_admin_set_search_builder.rb
960
976
  - app/services/sufia/actor_factory.rb
977
+ - app/services/sufia/admin_set_create_service.rb
961
978
  - app/services/sufia/admin_set_service.rb
962
979
  - app/services/sufia/analytics.rb
963
980
  - app/services/sufia/audit_failure_service.rb
@@ -966,6 +983,7 @@ files:
966
983
  - app/services/sufia/change_content_depositor_service.rb
967
984
  - app/services/sufia/collection_member_service.rb
968
985
  - app/services/sufia/collection_size_service.rb
986
+ - app/services/sufia/collection_thumbnail_path_service.rb
969
987
  - app/services/sufia/file_set_csv_service.rb
970
988
  - app/services/sufia/import_url_failure_service.rb
971
989
  - app/services/sufia/import_url_success_service.rb
@@ -984,6 +1002,11 @@ files:
984
1002
  - app/services/sufia/statistics/works/over_time.rb
985
1003
  - app/services/sufia/user_stat_importer.rb
986
1004
  - app/services/sufia/work_thumbnail_path_service.rb
1005
+ - app/services/sufia/workflow/abstract_notification.rb
1006
+ - app/services/sufia/workflow/changes_required_notification.rb
1007
+ - app/services/sufia/workflow/complete_notification.rb
1008
+ - app/services/sufia/workflow/pending_review_notification.rb
1009
+ - app/services/sufia/workflow/workflow_by_admin_set_strategy.rb
987
1010
  - app/uploaders/sufia/avatar_uploader.rb
988
1011
  - app/uploaders/sufia/uploaded_file_uploader.rb
989
1012
  - app/uploaders/tinymce_asset_uploader.rb
@@ -1013,7 +1036,6 @@ files:
1013
1036
  - app/views/catalog/_thumbnail_list_default.html.erb
1014
1037
  - app/views/catalog/index.html.erb
1015
1038
  - app/views/catalog/recent.js.erb
1016
- - app/views/citations/file.html.erb
1017
1039
  - app/views/citations/work.html.erb
1018
1040
  - app/views/collections/_batch_edits_actions.html.erb
1019
1041
  - app/views/collections/_collection.html.erb
@@ -1045,10 +1067,12 @@ files:
1045
1067
  - app/views/curation_concerns/base/_attribute_rows.html.erb
1046
1068
  - app/views/curation_concerns/base/_browse_everything.html.erb
1047
1069
  - app/views/curation_concerns/base/_citations.html.erb
1070
+ - app/views/curation_concerns/base/_find_work_widget.html.erb
1048
1071
  - app/views/curation_concerns/base/_form.html.erb
1049
1072
  - app/views/curation_concerns/base/_form_child_work_relationships.html.erb
1050
1073
  - app/views/curation_concerns/base/_form_files.html.erb
1051
1074
  - app/views/curation_concerns/base/_form_metadata.html.erb
1075
+ - app/views/curation_concerns/base/_form_parent_work_relationships.html.erb
1052
1076
  - app/views/curation_concerns/base/_form_progress.html.erb
1053
1077
  - app/views/curation_concerns/base/_form_relationships.html.erb
1054
1078
  - app/views/curation_concerns/base/_form_share.html.erb
@@ -1065,6 +1089,7 @@ files:
1065
1089
  - app/views/curation_concerns/base/_social_media.html.erb
1066
1090
  - app/views/curation_concerns/base/_work_description.erb
1067
1091
  - app/views/curation_concerns/base/_work_title.erb
1092
+ - app/views/curation_concerns/base/_workflow_actions_widget.erb
1068
1093
  - app/views/curation_concerns/base/edit.html.erb
1069
1094
  - app/views/curation_concerns/base/new.html.erb
1070
1095
  - app/views/curation_concerns/base/show.html.erb
@@ -1093,6 +1118,7 @@ files:
1093
1118
  - app/views/curation_concerns/file_sets/show.html.erb
1094
1119
  - app/views/curation_concerns/permissions/confirm.html.erb
1095
1120
  - app/views/curation_concerns/permissions/confirm_access.html.erb
1121
+ - app/views/dashboard/_create_work_action.html.erb
1096
1122
  - app/views/dashboard/_index_partials/_contents.html.erb
1097
1123
  - app/views/dashboard/_index_partials/_heading_actions.html.erb
1098
1124
  - app/views/dashboard/_index_partials/_heading_greetings.html.erb
@@ -1112,6 +1138,7 @@ files:
1112
1138
  - app/views/layouts/curation_concerns/1_column.html.erb
1113
1139
  - app/views/layouts/homepage.html.erb
1114
1140
  - app/views/layouts/sufia-dashboard.html.erb
1141
+ - app/views/layouts/sufia.html.erb
1115
1142
  - app/views/mailbox/_notifications.html.erb
1116
1143
  - app/views/mailbox/index.html.erb
1117
1144
  - app/views/my/_batch_edits_actions.html.erb
@@ -1135,7 +1162,6 @@ files:
1135
1162
  - app/views/my/facet.html.erb
1136
1163
  - app/views/my/index.html.erb
1137
1164
  - app/views/pages/show.html.erb
1138
- - app/views/records/_rights_modal.html.erb
1139
1165
  - app/views/records/edit_fields/_based_near.html.erb
1140
1166
  - app/views/records/edit_fields/_default.html.erb
1141
1167
  - app/views/records/edit_fields/_description.html.erb
@@ -1161,6 +1187,7 @@ files:
1161
1187
  - app/views/records/show_fields/_title.html.erb
1162
1188
  - app/views/shared/_citations.html.erb
1163
1189
  - app/views/shared/_footer.html.erb
1190
+ - app/views/shared/_select_work_type_modal.html.erb
1164
1191
  - app/views/static/agreement.html.erb
1165
1192
  - app/views/static/help.html.erb
1166
1193
  - app/views/static/mendeley.html.erb
@@ -1168,9 +1195,14 @@ files:
1168
1195
  - app/views/static/zotero.html.erb
1169
1196
  - app/views/stats/file.html.erb
1170
1197
  - app/views/stats/work.html.erb
1198
+ - app/views/sufia/admin/_collections.html.erb
1171
1199
  - app/views/sufia/admin/_menu.html.erb
1172
1200
  - app/views/sufia/admin/_sidebar.html.erb
1173
1201
  - app/views/sufia/admin/admin_sets/_form.html.erb
1202
+ - app/views/sufia/admin/admin_sets/_form_metadata.html.erb
1203
+ - app/views/sufia/admin/admin_sets/_form_participant_table.html.erb
1204
+ - app/views/sufia/admin/admin_sets/_form_participants.html.erb
1205
+ - app/views/sufia/admin/admin_sets/_form_visibility.html.erb
1174
1206
  - app/views/sufia/admin/admin_sets/_sort_and_per_page.html.erb
1175
1207
  - app/views/sufia/admin/admin_sets/edit.html.erb
1176
1208
  - app/views/sufia/admin/admin_sets/index.html.erb
@@ -1226,6 +1258,7 @@ files:
1226
1258
  - app/views/users/_trophy_edit.html.erb
1227
1259
  - app/views/users/_user.html.erb
1228
1260
  - app/views/users/_user_info.html.erb
1261
+ - app/views/users/_user_row.html.erb
1229
1262
  - app/views/users/_user_util_links_extra.html.erb
1230
1263
  - app/views/users/_vitals.html.erb
1231
1264
  - app/views/users/_zotero.html.erb
@@ -1241,7 +1274,6 @@ files:
1241
1274
  - db/migrate/20160328222156_add_social_to_users.rb
1242
1275
  - db/migrate/20160328222157_add_ldap_attrs_to_user.rb
1243
1276
  - db/migrate/20160328222158_add_avatars_to_users.rb
1244
- - db/migrate/20160328222160_create_local_authorities.rb
1245
1277
  - db/migrate/20160328222161_create_trophies.rb
1246
1278
  - db/migrate/20160328222162_add_linkedin_to_users.rb
1247
1279
  - db/migrate/20160328222163_create_tinymce_assets.rb
@@ -1264,6 +1296,9 @@ files:
1264
1296
  - db/migrate/20160415212015_create_features.rb
1265
1297
  - db/migrate/20160510000007_change_featured_work_generic_file_id_to_work_id.rb
1266
1298
  - db/migrate/20160516190435_add_arkivo_to_users.rb
1299
+ - db/migrate/20161021175854_create_permission_template.rb
1300
+ - db/migrate/20161021180154_create_permission_template_access.rb
1301
+ - db/migrate/20161116222307_add_release_to_permission_templates.rb
1267
1302
  - lib/generators/sufia/arkivo_api_generator.rb
1268
1303
  - lib/generators/sufia/assets_generator.rb
1269
1304
  - lib/generators/sufia/config_generator.rb
@@ -1280,8 +1315,10 @@ files:
1280
1315
  - lib/generators/sufia/templates/config/zotero.yml
1281
1316
  - lib/generators/sufia/templates/sufia.scss
1282
1317
  - lib/generators/sufia/templates/sufia_helper.rb
1318
+ - lib/generators/sufia/templates/workflow.json.erb
1283
1319
  - lib/generators/sufia/upgrade700_generator.rb
1284
- - lib/generators/sufia/work_generator.rb
1320
+ - lib/generators/sufia/work/templates/locale.en.yml.erb
1321
+ - lib/generators/sufia/work/work_generator.rb
1285
1322
  - lib/sufia.rb
1286
1323
  - lib/sufia/arkivo.rb
1287
1324
  - lib/sufia/arkivo/actor.rb
@@ -1294,6 +1331,7 @@ files:
1294
1331
  - lib/sufia/controlled_vocabulary/importer/language.rb
1295
1332
  - lib/sufia/engine.rb
1296
1333
  - lib/sufia/inflections.rb
1334
+ - lib/sufia/move_all_works_to_admin_set.rb
1297
1335
  - lib/sufia/redis_event_store.rb
1298
1336
  - lib/sufia/resource_sync.rb
1299
1337
  - lib/sufia/resource_sync/capability_list_writer.rb
@@ -1302,6 +1340,7 @@ files:
1302
1340
  - lib/sufia/version.rb
1303
1341
  - lib/sufia/zotero.rb
1304
1342
  - lib/sufia/zotero/config.rb
1343
+ - lib/tasks/migrate.rake
1305
1344
  - solr/config/_rest_managed.json
1306
1345
  - solr/config/admin-extra.html
1307
1346
  - solr/config/elevate.xml
@@ -1319,8 +1358,12 @@ files:
1319
1358
  - solr/config/xslt/example_rss.xsl
1320
1359
  - solr/config/xslt/luke.xsl
1321
1360
  - spec/.gitignore
1361
+ - spec/actors/sufia/apply_permission_template_actor_spec.rb
1322
1362
  - spec/actors/sufia/create_with_files_actor_spec.rb
1323
1363
  - spec/actors/sufia/create_with_remote_files_actor_spec.rb
1364
+ - spec/actors/sufia/default_admin_set_actor_spec.rb
1365
+ - spec/actors/sufia/interpret_visibility_actor_spec.rb
1366
+ - spec/authorities/qa/authorities/find_works_spec.rb
1324
1367
  - spec/config/sufia_events_spec.rb
1325
1368
  - spec/controllers/api/items_controller_spec.rb
1326
1369
  - spec/controllers/api/zotero_controller_spec.rb
@@ -1349,6 +1392,8 @@ files:
1349
1392
  - spec/controllers/stats_controller_spec.rb
1350
1393
  - spec/controllers/sufia/admin/admin_sets_controller_spec.rb
1351
1394
  - spec/controllers/sufia/admin/features_controller_spec.rb
1395
+ - spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
1396
+ - spec/controllers/sufia/admin/permission_templates_controller_spec.rb
1352
1397
  - spec/controllers/sufia/admin/stats_controller_spec.rb
1353
1398
  - spec/controllers/sufia/admin/strategies_controller_spec.rb
1354
1399
  - spec/controllers/sufia/admin_controller_spec.rb
@@ -1369,8 +1414,13 @@ files:
1369
1414
  - spec/factories/file_sets.rb
1370
1415
  - spec/factories/generic_works.rb
1371
1416
  - spec/factories/operations.rb
1417
+ - spec/factories/permission_template_accesses.rb
1418
+ - spec/factories/permission_templates.rb
1372
1419
  - spec/factories/proxy_deposit_requests.rb
1420
+ - spec/factories/sipity_entities.rb
1373
1421
  - spec/factories/users.rb
1422
+ - spec/factories/workflow_states.rb
1423
+ - spec/factories/workflows.rb
1374
1424
  - spec/features/admin_admin_set_spec.rb
1375
1425
  - spec/features/batch_create_spec.rb
1376
1426
  - spec/features/batch_edit_spec.rb
@@ -1423,6 +1473,7 @@ files:
1423
1473
  - spec/forms/sufia/forms/batch_edit_form_spec.rb
1424
1474
  - spec/forms/sufia/forms/batch_upload_form_spec.rb
1425
1475
  - spec/forms/sufia/forms/collection_form_spec.rb
1476
+ - spec/forms/sufia/forms/permission_template_form_spec.rb
1426
1477
  - spec/forms/sufia/forms/work_form_spec.rb
1427
1478
  - spec/helpers/batch_edits_helper_spec.rb
1428
1479
  - spec/helpers/blacklight_helper_spec.rb
@@ -1431,6 +1482,7 @@ files:
1431
1482
  - spec/helpers/sufia/collections_helper_spec.rb
1432
1483
  - spec/helpers/sufia_helper_spec.rb
1433
1484
  - spec/helpers/trophy_helper_spec.rb
1485
+ - spec/indexers/sufia/collection_indexer_spec.rb
1434
1486
  - spec/indexers/sufia/work_indexer_spec.rb
1435
1487
  - spec/javascripts/autocomplete_spec.js.coffee
1436
1488
  - spec/javascripts/checklist_item_spec.js
@@ -1448,6 +1500,7 @@ files:
1448
1500
  - spec/javascripts/support/jasmine_helper.rb
1449
1501
  - spec/javascripts/tabs_spec.js.coffee
1450
1502
  - spec/javascripts/uploaded_files_spec.js
1503
+ - spec/javascripts/visibility_component_spec.js
1451
1504
  - spec/jobs/attach_files_to_work_job_spec.rb
1452
1505
  - spec/jobs/batch_create_job_spec.rb
1453
1506
  - spec/jobs/content_delete_event_job_spec.rb
@@ -1464,13 +1517,17 @@ files:
1464
1517
  - spec/lib/sufia/arkivo/create_subscription_job_spec.rb
1465
1518
  - spec/lib/sufia/arkivo/metadata_munger_spec.rb
1466
1519
  - spec/lib/sufia/arkivo/schema_validator_spec.rb
1520
+ - spec/lib/sufia/arkivo_spec.rb
1467
1521
  - spec/lib/sufia/configuration_spec.rb
1522
+ - spec/lib/sufia/controlled_vocabulary/importer/downloader_spec.rb
1468
1523
  - spec/lib/sufia/controlled_vocabulary/importer/language_spec.rb
1524
+ - spec/lib/sufia/move_all_works_to_admin_set_spec.rb
1469
1525
  - spec/lib/sufia/redis_event_store_spec.rb
1470
1526
  - spec/lib/sufia/resource_sync/capability_list_writer_spec.rb
1471
1527
  - spec/lib/sufia/resource_sync/resource_list_writer_spec.rb
1472
1528
  - spec/lib/sufia/resource_sync/source_description_writer_spec.rb
1473
1529
  - spec/lib/sufia/zotero/config_spec.rb
1530
+ - spec/lib/sufia/zotero_spec.rb
1474
1531
  - spec/models/collection_spec.rb
1475
1532
  - spec/models/content_block_spec.rb
1476
1533
  - spec/models/featured_work_list_spec.rb
@@ -1484,6 +1541,7 @@ files:
1484
1541
  - spec/models/sufia/ability_spec.rb
1485
1542
  - spec/models/sufia/download_spec.rb
1486
1543
  - spec/models/sufia/pageview_spec.rb
1544
+ - spec/models/sufia/permission_template_spec.rb
1487
1545
  - spec/models/sufia/uploaded_file_spec.rb
1488
1546
  - spec/models/sufia/user_usage_stats_spec.rb
1489
1547
  - spec/models/trophy_spec.rb
@@ -1498,6 +1556,8 @@ files:
1498
1556
  - spec/presenters/sufia/file_usage_spec.rb
1499
1557
  - spec/presenters/sufia/homepage_presenter_spec.rb
1500
1558
  - spec/presenters/sufia/presenter_renderer_spec.rb
1559
+ - spec/presenters/sufia/select_type_list_presenter_spec.rb
1560
+ - spec/presenters/sufia/select_type_presenter_spec.rb
1501
1561
  - spec/presenters/sufia/trophy_presenter_spec.rb
1502
1562
  - spec/presenters/sufia/user_profile_presenter_spec.rb
1503
1563
  - spec/presenters/sufia/work_show_presenter_spec.rb
@@ -1510,10 +1570,13 @@ files:
1510
1570
  - spec/routing/ownership_transfers_route_spec.rb
1511
1571
  - spec/routing/route_spec.rb
1512
1572
  - spec/routing/stats_route_spec.rb
1573
+ - spec/search_builder/sufia/admin_set_search_builder_spec.rb
1513
1574
  - spec/search_builder/sufia/catalog_search_builder_spec.rb
1575
+ - spec/search_builder/sufia/find_works_search_builder_spec.rb
1514
1576
  - spec/search_builder/sufia/my_shares_search_builder_spec.rb
1515
1577
  - spec/search_builder/sufia/single_admin_set_search_builder_spec.rb
1516
1578
  - spec/services/sufia/actor_factory_spec.rb
1579
+ - spec/services/sufia/admin_set_create_service_spec.rb
1517
1580
  - spec/services/sufia/admin_set_service_spec.rb
1518
1581
  - spec/services/sufia/audit_failure_service_spec.rb
1519
1582
  - spec/services/sufia/batch_create_failure_service_spec.rb
@@ -1535,6 +1598,10 @@ files:
1535
1598
  - spec/services/sufia/statistics/works/count_spec.rb
1536
1599
  - spec/services/sufia/statistics/works/over_time_spec.rb
1537
1600
  - spec/services/sufia/user_stat_importer_spec.rb
1601
+ - spec/services/sufia/workflow/changes_required_notification_spec.rb
1602
+ - spec/services/sufia/workflow/complete_notification_spec.rb
1603
+ - spec/services/sufia/workflow/pending_review_notification_spec.rb
1604
+ - spec/services/sufia/workflow/workflow_by_admin_set_strategy_spec.rb
1538
1605
  - spec/spec_helper.rb
1539
1606
  - spec/support/backport_test_helpers.rb
1540
1607
  - spec/support/features.rb
@@ -1566,8 +1633,10 @@ files:
1566
1633
  - spec/views/curation_concerns/base/_attribute_rows.html.erb_spec.rb
1567
1634
  - spec/views/curation_concerns/base/_browse_everything.html.erb_spec.rb
1568
1635
  - spec/views/curation_concerns/base/_citations.html.erb_spec.rb
1636
+ - spec/views/curation_concerns/base/_find_work_widget.html.erb_spec.rb
1569
1637
  - spec/views/curation_concerns/base/_form.html.erb_spec.rb
1570
1638
  - spec/views/curation_concerns/base/_form_child_work_relationships.html.erb_spec.rb
1639
+ - spec/views/curation_concerns/base/_form_parent_work_relationships.html.erb_spec.rb
1571
1640
  - spec/views/curation_concerns/base/_form_progress.html.erb_spec.rb
1572
1641
  - spec/views/curation_concerns/base/_form_relationships.html.erb_spec.rb
1573
1642
  - spec/views/curation_concerns/base/_items.html.erb_spec.rb
@@ -1585,16 +1654,22 @@ files:
1585
1654
  - spec/views/curation_concerns/file_sets/media_display/_default.html.erb_spec.rb
1586
1655
  - spec/views/curation_concerns/file_sets/show.html.erb_spec.rb
1587
1656
  - spec/views/curation_concerns/permissions/confirm.html.erb_spec.rb
1657
+ - spec/views/dashboard/create_work_action.html.erb_spec.rb
1588
1658
  - spec/views/dashboard/index_spec.rb
1589
1659
  - spec/views/my/_list_collections.html.erb_spec.rb
1590
1660
  - spec/views/my/_list_works.html.erb_spec.rb
1661
+ - spec/views/my/_sort_and_per_page.html.erb_spec.rb
1591
1662
  - spec/views/my/facet.html.erb_spec.rb
1592
1663
  - spec/views/records/edit_fields/_based_near.html.erb_spec.rb
1593
1664
  - spec/views/records/edit_fields/_description.html.erb_spec.rb
1594
1665
  - spec/views/records/edit_fields/_in_works_ids.html.erb_spec.rb
1595
1666
  - spec/views/records/edit_fields/_language.html.erb_spec.rb
1596
1667
  - spec/views/records/edit_fields/_subject.html.erb_spec.rb
1668
+ - spec/views/shared/select_work_type_modal.html.erb_spec.rb
1597
1669
  - spec/views/stats_file.html.erb_spec.rb
1670
+ - spec/views/sufia/admin/admin_sets/_form.html.erb_spec.rb
1671
+ - spec/views/sufia/admin/admin_sets/_form_participants.html.erb_spec.rb
1672
+ - spec/views/sufia/admin/admin_sets/_form_visibility.html.erb_spec.rb
1598
1673
  - spec/views/sufia/admin/admin_sets/index.html.erb_spec.rb
1599
1674
  - spec/views/sufia/admin/stats/show.html.erb_spec.rb
1600
1675
  - spec/views/sufia/batch_uploads/_form.html.erb_spec.rb
@@ -1614,6 +1689,7 @@ files:
1614
1689
  - tasks/stats_tasks.rake
1615
1690
  - tasks/sufia-dev.rake
1616
1691
  - tasks/sufia_user.rake
1692
+ - template.rb
1617
1693
  - vendor/assets/fonts/fontawesome-webfont.svg
1618
1694
  - vendor/assets/fonts/fontawesome-webfont.ttf
1619
1695
  - vendor/assets/fonts/fontawesome-webfont.woff
@@ -1642,20 +1718,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
1642
1718
  version: '0'
1643
1719
  required_rubygems_version: !ruby/object:Gem::Requirement
1644
1720
  requirements:
1645
- - - ">="
1721
+ - - ">"
1646
1722
  - !ruby/object:Gem::Version
1647
- version: '0'
1723
+ version: 1.3.1
1648
1724
  requirements: []
1649
1725
  rubyforge_project:
1650
- rubygems_version: 2.5.1
1726
+ rubygems_version: 2.6.8
1651
1727
  signing_key:
1652
1728
  specification_version: 4
1653
1729
  summary: Sufia was originally extracted from ScholarSphere developed by Penn State
1654
1730
  University. It's now used and maintained by an active community of adopters.
1655
1731
  test_files:
1656
1732
  - spec/.gitignore
1733
+ - spec/actors/sufia/apply_permission_template_actor_spec.rb
1657
1734
  - spec/actors/sufia/create_with_files_actor_spec.rb
1658
1735
  - spec/actors/sufia/create_with_remote_files_actor_spec.rb
1736
+ - spec/actors/sufia/default_admin_set_actor_spec.rb
1737
+ - spec/actors/sufia/interpret_visibility_actor_spec.rb
1738
+ - spec/authorities/qa/authorities/find_works_spec.rb
1659
1739
  - spec/config/sufia_events_spec.rb
1660
1740
  - spec/controllers/api/items_controller_spec.rb
1661
1741
  - spec/controllers/api/zotero_controller_spec.rb
@@ -1684,6 +1764,8 @@ test_files:
1684
1764
  - spec/controllers/stats_controller_spec.rb
1685
1765
  - spec/controllers/sufia/admin/admin_sets_controller_spec.rb
1686
1766
  - spec/controllers/sufia/admin/features_controller_spec.rb
1767
+ - spec/controllers/sufia/admin/permission_template_accesses_controller_spec.rb
1768
+ - spec/controllers/sufia/admin/permission_templates_controller_spec.rb
1687
1769
  - spec/controllers/sufia/admin/stats_controller_spec.rb
1688
1770
  - spec/controllers/sufia/admin/strategies_controller_spec.rb
1689
1771
  - spec/controllers/sufia/admin_controller_spec.rb
@@ -1704,8 +1786,13 @@ test_files:
1704
1786
  - spec/factories/file_sets.rb
1705
1787
  - spec/factories/generic_works.rb
1706
1788
  - spec/factories/operations.rb
1789
+ - spec/factories/permission_template_accesses.rb
1790
+ - spec/factories/permission_templates.rb
1707
1791
  - spec/factories/proxy_deposit_requests.rb
1792
+ - spec/factories/sipity_entities.rb
1708
1793
  - spec/factories/users.rb
1794
+ - spec/factories/workflow_states.rb
1795
+ - spec/factories/workflows.rb
1709
1796
  - spec/features/admin_admin_set_spec.rb
1710
1797
  - spec/features/batch_create_spec.rb
1711
1798
  - spec/features/batch_edit_spec.rb
@@ -1758,6 +1845,7 @@ test_files:
1758
1845
  - spec/forms/sufia/forms/batch_edit_form_spec.rb
1759
1846
  - spec/forms/sufia/forms/batch_upload_form_spec.rb
1760
1847
  - spec/forms/sufia/forms/collection_form_spec.rb
1848
+ - spec/forms/sufia/forms/permission_template_form_spec.rb
1761
1849
  - spec/forms/sufia/forms/work_form_spec.rb
1762
1850
  - spec/helpers/batch_edits_helper_spec.rb
1763
1851
  - spec/helpers/blacklight_helper_spec.rb
@@ -1766,6 +1854,7 @@ test_files:
1766
1854
  - spec/helpers/sufia/collections_helper_spec.rb
1767
1855
  - spec/helpers/sufia_helper_spec.rb
1768
1856
  - spec/helpers/trophy_helper_spec.rb
1857
+ - spec/indexers/sufia/collection_indexer_spec.rb
1769
1858
  - spec/indexers/sufia/work_indexer_spec.rb
1770
1859
  - spec/javascripts/autocomplete_spec.js.coffee
1771
1860
  - spec/javascripts/checklist_item_spec.js
@@ -1783,6 +1872,7 @@ test_files:
1783
1872
  - spec/javascripts/support/jasmine_helper.rb
1784
1873
  - spec/javascripts/tabs_spec.js.coffee
1785
1874
  - spec/javascripts/uploaded_files_spec.js
1875
+ - spec/javascripts/visibility_component_spec.js
1786
1876
  - spec/jobs/attach_files_to_work_job_spec.rb
1787
1877
  - spec/jobs/batch_create_job_spec.rb
1788
1878
  - spec/jobs/content_delete_event_job_spec.rb
@@ -1799,13 +1889,17 @@ test_files:
1799
1889
  - spec/lib/sufia/arkivo/create_subscription_job_spec.rb
1800
1890
  - spec/lib/sufia/arkivo/metadata_munger_spec.rb
1801
1891
  - spec/lib/sufia/arkivo/schema_validator_spec.rb
1892
+ - spec/lib/sufia/arkivo_spec.rb
1802
1893
  - spec/lib/sufia/configuration_spec.rb
1894
+ - spec/lib/sufia/controlled_vocabulary/importer/downloader_spec.rb
1803
1895
  - spec/lib/sufia/controlled_vocabulary/importer/language_spec.rb
1896
+ - spec/lib/sufia/move_all_works_to_admin_set_spec.rb
1804
1897
  - spec/lib/sufia/redis_event_store_spec.rb
1805
1898
  - spec/lib/sufia/resource_sync/capability_list_writer_spec.rb
1806
1899
  - spec/lib/sufia/resource_sync/resource_list_writer_spec.rb
1807
1900
  - spec/lib/sufia/resource_sync/source_description_writer_spec.rb
1808
1901
  - spec/lib/sufia/zotero/config_spec.rb
1902
+ - spec/lib/sufia/zotero_spec.rb
1809
1903
  - spec/models/collection_spec.rb
1810
1904
  - spec/models/content_block_spec.rb
1811
1905
  - spec/models/featured_work_list_spec.rb
@@ -1819,6 +1913,7 @@ test_files:
1819
1913
  - spec/models/sufia/ability_spec.rb
1820
1914
  - spec/models/sufia/download_spec.rb
1821
1915
  - spec/models/sufia/pageview_spec.rb
1916
+ - spec/models/sufia/permission_template_spec.rb
1822
1917
  - spec/models/sufia/uploaded_file_spec.rb
1823
1918
  - spec/models/sufia/user_usage_stats_spec.rb
1824
1919
  - spec/models/trophy_spec.rb
@@ -1833,6 +1928,8 @@ test_files:
1833
1928
  - spec/presenters/sufia/file_usage_spec.rb
1834
1929
  - spec/presenters/sufia/homepage_presenter_spec.rb
1835
1930
  - spec/presenters/sufia/presenter_renderer_spec.rb
1931
+ - spec/presenters/sufia/select_type_list_presenter_spec.rb
1932
+ - spec/presenters/sufia/select_type_presenter_spec.rb
1836
1933
  - spec/presenters/sufia/trophy_presenter_spec.rb
1837
1934
  - spec/presenters/sufia/user_profile_presenter_spec.rb
1838
1935
  - spec/presenters/sufia/work_show_presenter_spec.rb
@@ -1845,10 +1942,13 @@ test_files:
1845
1942
  - spec/routing/ownership_transfers_route_spec.rb
1846
1943
  - spec/routing/route_spec.rb
1847
1944
  - spec/routing/stats_route_spec.rb
1945
+ - spec/search_builder/sufia/admin_set_search_builder_spec.rb
1848
1946
  - spec/search_builder/sufia/catalog_search_builder_spec.rb
1947
+ - spec/search_builder/sufia/find_works_search_builder_spec.rb
1849
1948
  - spec/search_builder/sufia/my_shares_search_builder_spec.rb
1850
1949
  - spec/search_builder/sufia/single_admin_set_search_builder_spec.rb
1851
1950
  - spec/services/sufia/actor_factory_spec.rb
1951
+ - spec/services/sufia/admin_set_create_service_spec.rb
1852
1952
  - spec/services/sufia/admin_set_service_spec.rb
1853
1953
  - spec/services/sufia/audit_failure_service_spec.rb
1854
1954
  - spec/services/sufia/batch_create_failure_service_spec.rb
@@ -1870,6 +1970,10 @@ test_files:
1870
1970
  - spec/services/sufia/statistics/works/count_spec.rb
1871
1971
  - spec/services/sufia/statistics/works/over_time_spec.rb
1872
1972
  - spec/services/sufia/user_stat_importer_spec.rb
1973
+ - spec/services/sufia/workflow/changes_required_notification_spec.rb
1974
+ - spec/services/sufia/workflow/complete_notification_spec.rb
1975
+ - spec/services/sufia/workflow/pending_review_notification_spec.rb
1976
+ - spec/services/sufia/workflow/workflow_by_admin_set_strategy_spec.rb
1873
1977
  - spec/spec_helper.rb
1874
1978
  - spec/support/backport_test_helpers.rb
1875
1979
  - spec/support/features.rb
@@ -1901,8 +2005,10 @@ test_files:
1901
2005
  - spec/views/curation_concerns/base/_attribute_rows.html.erb_spec.rb
1902
2006
  - spec/views/curation_concerns/base/_browse_everything.html.erb_spec.rb
1903
2007
  - spec/views/curation_concerns/base/_citations.html.erb_spec.rb
2008
+ - spec/views/curation_concerns/base/_find_work_widget.html.erb_spec.rb
1904
2009
  - spec/views/curation_concerns/base/_form.html.erb_spec.rb
1905
2010
  - spec/views/curation_concerns/base/_form_child_work_relationships.html.erb_spec.rb
2011
+ - spec/views/curation_concerns/base/_form_parent_work_relationships.html.erb_spec.rb
1906
2012
  - spec/views/curation_concerns/base/_form_progress.html.erb_spec.rb
1907
2013
  - spec/views/curation_concerns/base/_form_relationships.html.erb_spec.rb
1908
2014
  - spec/views/curation_concerns/base/_items.html.erb_spec.rb
@@ -1920,16 +2026,22 @@ test_files:
1920
2026
  - spec/views/curation_concerns/file_sets/media_display/_default.html.erb_spec.rb
1921
2027
  - spec/views/curation_concerns/file_sets/show.html.erb_spec.rb
1922
2028
  - spec/views/curation_concerns/permissions/confirm.html.erb_spec.rb
2029
+ - spec/views/dashboard/create_work_action.html.erb_spec.rb
1923
2030
  - spec/views/dashboard/index_spec.rb
1924
2031
  - spec/views/my/_list_collections.html.erb_spec.rb
1925
2032
  - spec/views/my/_list_works.html.erb_spec.rb
2033
+ - spec/views/my/_sort_and_per_page.html.erb_spec.rb
1926
2034
  - spec/views/my/facet.html.erb_spec.rb
1927
2035
  - spec/views/records/edit_fields/_based_near.html.erb_spec.rb
1928
2036
  - spec/views/records/edit_fields/_description.html.erb_spec.rb
1929
2037
  - spec/views/records/edit_fields/_in_works_ids.html.erb_spec.rb
1930
2038
  - spec/views/records/edit_fields/_language.html.erb_spec.rb
1931
2039
  - spec/views/records/edit_fields/_subject.html.erb_spec.rb
2040
+ - spec/views/shared/select_work_type_modal.html.erb_spec.rb
1932
2041
  - spec/views/stats_file.html.erb_spec.rb
2042
+ - spec/views/sufia/admin/admin_sets/_form.html.erb_spec.rb
2043
+ - spec/views/sufia/admin/admin_sets/_form_participants.html.erb_spec.rb
2044
+ - spec/views/sufia/admin/admin_sets/_form_visibility.html.erb_spec.rb
1933
2045
  - spec/views/sufia/admin/admin_sets/index.html.erb_spec.rb
1934
2046
  - spec/views/sufia/admin/stats/show.html.erb_spec.rb
1935
2047
  - spec/views/sufia/batch_uploads/_form.html.erb_spec.rb