zizia 5.2.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +17 -3
  3. data/.github_changelog_generator +1 -1
  4. data/CHANGELOG.md +194 -17
  5. data/README.md +39 -21
  6. data/app/assets/stylesheets/zizia/_button.scss +10 -0
  7. data/app/assets/stylesheets/zizia/zizia.scss +1 -5
  8. data/app/controllers/zizia/csv_import_details_controller.rb +3 -3
  9. data/app/helpers/zizia/application_helper.rb +6 -0
  10. data/app/importers/modular_importer.rb +10 -6
  11. data/app/lib/zizia/metadata_details.rb +14 -14
  12. data/app/uploaders/zizia/csv_manifest_validator.rb +2 -2
  13. data/app/views/zizia/csv_import_details/_pre_ingest_files_table.html.erb +31 -22
  14. data/app/views/zizia/csv_import_details/show.html.erb +5 -1
  15. data/app/views/zizia/csv_imports/_record_count.html.erb +1 -1
  16. data/config/initializers/content_deposit_event_job_prepends.rb +10 -0
  17. data/config/initializers/file_set_attached_event_job_prepends.rb +12 -0
  18. data/config/initializers/prepends.rb +2 -0
  19. data/db/migrate/20191114021032_add_status_to_pre_ingest_file.rb +5 -0
  20. data/db/migrate/20191210223833_add_status_to_pre_ingest_work.rb +5 -0
  21. data/lib/zizia/hyrax/hyrax_basic_metadata_mapper.rb +10 -1
  22. data/lib/zizia/parser.rb +6 -6
  23. data/lib/zizia/version.rb +1 -1
  24. data/spec/dummy/.gitignore +1 -1
  25. data/spec/dummy/app/models/work.rb +1 -1
  26. data/spec/dummy/db/schema.rb +2 -0
  27. data/spec/dummy/db/test.sqlite3 +0 -0
  28. data/spec/dummy/spec/fixtures/csv_import/csv_files_with_problems/extra - headers.csv +4 -4
  29. data/spec/dummy/spec/fixtures/csv_import/good/all_fields.csv +2 -2
  30. data/spec/dummy/spec/fixtures/csv_import/good/all_fields_multi.csv +2 -0
  31. data/spec/dummy/spec/support/capybara.rb +1 -0
  32. data/spec/dummy/spec/system/csv_import_details_page_spec.rb +29 -4
  33. data/spec/dummy/spec/system/import_csv_with_warnings_spec.rb +1 -1
  34. data/spec/dummy/spec/system/import_file_status_spec.rb +95 -0
  35. data/spec/dummy/spec/system/import_from_csv_spec.rb +8 -9
  36. data/spec/factories/pre_ingest_work.rb +0 -1
  37. data/spec/models/zizia/application_job_spec.rb +12 -0
  38. data/spec/support/hyrax/basic_metadata.rb +3 -0
  39. data/spec/zizia/csv_format_validator_spec.rb +1 -1
  40. data/spec/zizia/hyrax/hyrax_basic_metadata_mapper_spec.rb +5 -1
  41. data/zizia.gemspec +12 -10
  42. metadata +84 -35
  43. data/.travis.yml +0 -12
@@ -31,7 +31,7 @@ RSpec.describe 'Importing records from a CSV file', type: :system, js: true do
31
31
  # We expect to see the title of the collection on the page
32
32
  expect(page).to have_content 'Testing Collection'
33
33
 
34
- expect(page).to have_content 'This import will create or update 3 records.'
34
+ expect(page).to have_content 'This import will process 3 row(s).'
35
35
 
36
36
  # There is a link so the user can cancel.
37
37
  expect(page).to have_link 'Cancel', href: '/csv_imports/new?locale=en'
@@ -0,0 +1,95 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+ include Warden::Test::Helpers
4
+
5
+ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type: :system, js: true do
6
+ before do
7
+ allow(CharacterizeJob).to receive(:perform_later)
8
+ ENV['IMPORT_PATH'] = File.join(fixture_path, 'images')
9
+ end
10
+
11
+ let(:csv_file) { File.join(fixture_path, 'csv_import', 'good', 'all_fields_multi.csv') }
12
+
13
+ context 'logged in as an admin user' do
14
+ let(:collection) { FactoryBot.build(:collection, title: ['Testing Collection']) }
15
+ let(:admin_user) { FactoryBot.create(:admin) }
16
+
17
+ let(:admin_set_id) { AdminSet.find_or_create_default_admin_set_id }
18
+ let(:permission_template) { Hyrax::PermissionTemplate.find_or_create_by!(source_id: admin_set_id) }
19
+ let(:workflow) { Sipity::Workflow.create!(active: true, name: 'test-workflow', permission_template: permission_template) }
20
+
21
+ before do
22
+ # Create a single action that can be taken
23
+ Sipity::WorkflowAction.create!(name: 'submit', workflow: workflow)
24
+
25
+ # Grant the user access to deposit into the admin set.
26
+ Hyrax::PermissionTemplateAccess.create!(
27
+ permission_template_id: permission_template.id,
28
+ agent_type: 'user',
29
+ agent_id: admin_user.user_key,
30
+ access: 'deposit'
31
+ )
32
+
33
+ collection.save!
34
+ login_as admin_user
35
+ end
36
+
37
+ it 'starts the import' do
38
+ visit '/csv_imports/new'
39
+ expect(page).to have_content 'Testing Collection'
40
+ expect(page).not_to have_content '["Testing Collection"]'
41
+
42
+ # Fill in and submit the form
43
+ select 'Testing Collection', from: "csv_import[fedora_collection_id]"
44
+ select 'Update Existing Metadata, create new works', from: "csv_import[update_actor_stack]"
45
+ attach_file('csv_import[manifest]', csv_file, make_visible: true)
46
+
47
+ expect(page).to have_content('You sucessfully uploaded this CSV: all_fields_multi.csv')
48
+
49
+ click_on 'Preview Import'
50
+
51
+ # We expect to see the title of the collection on the page
52
+ expect(page).to have_content 'Testing Collection'
53
+
54
+ expect(page).to have_content 'This import will process 1 row(s).'
55
+
56
+ # There is a link so the user can cancel.
57
+ expect(page).to have_link 'Cancel', href: '/csv_imports/new?locale=en'
58
+
59
+ expect(page).not_to have_content 'deduplication_key'
60
+
61
+ # After reading the warnings, the user decides
62
+ # to continue with the import.
63
+ click_on 'Start Import'
64
+
65
+ # The show page for the CsvImport
66
+ expect(page).to have_content 'all_fields_multi.csv'
67
+ expect(page).to have_content 'Start time'
68
+
69
+ # We expect to see the title of the collection on the page
70
+ expect(page).to have_content 'Testing Collection'
71
+ expect(Work.count).to eq 1
72
+
73
+ # Ensure that all the fields got assigned as expected
74
+ work = Work.where(title: "*haberdashery*").first
75
+ expect(work.title.first).to match(/haberdashery/)
76
+ expect(Zizia::PreIngestFile.last.status).to eq('attached')
77
+
78
+ expect(Zizia::PreIngestWork.find_by(deduplication_key: work.deduplication_key).pre_ingest_files.count).to eq(2)
79
+
80
+ # Everything should have the attached status now
81
+ expect(Zizia::PreIngestWork.find_by(deduplication_key: work.deduplication_key)
82
+ .pre_ingest_files.first.status).to eq('attached')
83
+ expect(Zizia::PreIngestWork.find_by(deduplication_key: work.deduplication_key).pre_ingest_files.last.status).to eq('attached')
84
+ expect(Zizia::PreIngestWork.find_by(deduplication_key: work.deduplication_key).status).to eq('attached')
85
+ visit('/csv_import_details/index')
86
+ click_on '1'
87
+ expect(page).to have_content 'View Files'
88
+ click_on 'View Files'
89
+ expect(page.html).not_to match(/glyphicon-question-sign/)
90
+ expect(page.html).to match(/glyphicon-ok-sign/)
91
+ expect(page).to have_content('dog.jpg')
92
+ expect(page).to have_content('cat.jpg')
93
+ end
94
+ end
95
+ end
@@ -4,6 +4,7 @@ include Warden::Test::Helpers
4
4
 
5
5
  RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type: :system, js: true do
6
6
  before do
7
+ allow(CharacterizeJob).to receive(:perform_later)
7
8
  ENV['IMPORT_PATH'] = File.join(fixture_path, 'images')
8
9
  end
9
10
 
@@ -32,7 +33,6 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
32
33
  access: 'deposit'
33
34
  )
34
35
 
35
- allow(CharacterizeJob).to receive(:perform_later) # There is no fits installed on travis-ci
36
36
  collection.save!
37
37
  login_as admin_user
38
38
  end
@@ -54,7 +54,7 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
54
54
  # We expect to see the title of the collection on the page
55
55
  expect(page).to have_content 'Testing Collection'
56
56
 
57
- expect(page).to have_content 'This import will create or update 1 records.'
57
+ expect(page).to have_content 'This import will process 1 row(s).'
58
58
 
59
59
  # There is a link so the user can cancel.
60
60
  expect(page).to have_link 'Cancel', href: '/csv_imports/new?locale=en'
@@ -93,8 +93,7 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
93
93
  visit "/concern/works/#{work.id}"
94
94
  expect(page).to have_content work.title.first
95
95
  # Controlled vocabulary location should have been resolved to its label name
96
- expect(page).to have_content "Montana"
97
- expect(page).to have_content "United States"
96
+ expect(page).to have_content "Los Angeles"
98
97
 
99
98
  # The license value resolves to a controlled field from creative commons
100
99
  expect(page).to have_link "Attribution 4.0"
@@ -116,7 +115,7 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
116
115
  # We expect to see the title of the collection on the page
117
116
  expect(page).to have_content 'Testing Collection'
118
117
 
119
- expect(page).to have_content 'This import will create or update 1 records.'
118
+ expect(page).to have_content 'This import will process 1 row(s).'
120
119
  # There is a link so the user can cancel.
121
120
  expect(page).to have_link 'Cancel', href: '/csv_imports/new?locale=en'
122
121
 
@@ -171,7 +170,7 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
171
170
  # We expect to see the title of the collection on the page
172
171
  expect(page).to have_content 'Testing Collection'
173
172
 
174
- expect(page).to have_content 'This import will create or update 2 records.'
173
+ expect(page).to have_content 'This import will process 2 row(s).'
175
174
 
176
175
  # There is a link so the user can cancel.
177
176
  expect(page).to have_link 'Cancel', href: '/csv_imports/new?locale=en'
@@ -218,8 +217,7 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
218
217
  # We expect to see the title of the collection on the page
219
218
  expect(page).to have_content 'Testing Collection'
220
219
 
221
- expect(page).to have_content 'This import will create or update 1 records.'
222
-
220
+ expect(page).to have_content 'This import will process 1 row(s).'
223
221
  # There is a link so the user can cancel.
224
222
  expect(page).to have_link 'Cancel', href: '/csv_imports/new?locale=en'
225
223
 
@@ -247,11 +245,12 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
247
245
  visit "/csv_import_details/index"
248
246
  expect(page).to have_content('Total Size')
249
247
  click_on '4'
248
+ click_on 'View Files'
250
249
  expect(page).to have_content('dog.jpg')
251
250
  expect(page).to have_content('cat.jpg')
252
251
  expect(page).to have_content('5.74 MB')
253
252
  expect(page).to have_content('abc/123')
254
- expect(page).to have_content('This work\'s metadata has not been indexed yet.')
253
+ expect(page).to have_content('haberdashery')
255
254
  expect(page).to have_content('Date Created')
256
255
  end
257
256
  end
@@ -2,7 +2,6 @@
2
2
  # This will guess the User class
3
3
  FactoryBot.define do
4
4
  factory :pre_ingest_work, class: Zizia::PreIngestWork do
5
- id { 1 }
6
5
  created_at { Time.current }
7
6
  updated_at { Time.current }
8
7
  csv_import_detail_id { 1 }
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+ require 'rails_helper'
3
+
4
+ RSpec.describe Zizia::ApplicationJob do
5
+ let(:application_job) { described_class.new }
6
+
7
+ context 'when including Zizia' do
8
+ it 'has its own ApplicationJob class' do
9
+ expect(application_job).to be_kind_of(ActiveJob::Base)
10
+ end
11
+ end
12
+ end
@@ -25,6 +25,9 @@ module Hyrax
25
25
  work.property :related_url, predicate: ::RDF::RDFS.seeAlso
26
26
  work.property :bibliographic_citation, predicate: ::RDF::Vocab::DC.bibliographicCitation
27
27
  work.property :source, predicate: ::RDF::Vocab::DC.source
28
+
29
+ # From Zizia
30
+ work.property :deduplication_key, predicate: ::RDF::Vocab::BF2.identifiedBy
28
31
  end
29
32
  end
30
33
  end
@@ -32,7 +32,7 @@ describe Zizia::CsvFormatValidator do
32
32
  expect(validator.validate(parser: invalid_parser))
33
33
  .to contain_exactly a_validator_error
34
34
  .with(validator: validator.class,
35
- name: CSV::MalformedCSVError)
35
+ name: CSV::MalformedCSVError)
36
36
  end
37
37
  end
38
38
  end
@@ -23,12 +23,16 @@ describe Zizia::HyraxBasicMetadataMapper do
23
23
  [:visibility, :files]
24
24
  end
25
25
 
26
+ let(:zizia_fields) do
27
+ [:deduplication_key]
28
+ end
29
+
26
30
  it_behaves_like 'a Zizia::Mapper' do
27
31
  let(:metadata) do
28
32
  { title: ['A Title for a Record'],
29
33
  my_custom_field: ['This gets ignored'] }
30
34
  end
31
- let(:expected_fields) { core_fields + basic_fields + tenejo_fields }
35
+ let(:expected_fields) { core_fields + basic_fields + tenejo_fields + zizia_fields }
32
36
  end
33
37
 
34
38
  context 'with metadata, but some missing fields' do
@@ -18,14 +18,15 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.add_dependency 'active-fedora'
20
20
  gem.add_dependency 'kaminari'
21
- gem.add_dependency 'rails', '~> 5.1.4'
21
+ gem.add_dependency 'rails', '~> 5', '< 5.3'
22
22
  gem.add_dependency 'carrierwave'
23
23
  gem.add_dependency 'rails-controller-testing'
24
24
 
25
- gem.add_development_dependency 'bixby'
26
- gem.add_development_dependency 'bootstrap-sass', '~> 3.0'
25
+ gem.add_development_dependency 'bixby', '~> 2'
26
+ gem.add_development_dependency 'bootstrap-sass', '~> 3'
27
+ gem.add_development_dependency 'bundler', '~> 2'
27
28
  gem.add_development_dependency 'byebug'
28
- gem.add_development_dependency 'capybara', '~> 2.13'
29
+ gem.add_development_dependency 'capybara', '~> 3'
29
30
  gem.add_development_dependency 'coffee-rails', '~> 4.2'
30
31
  gem.add_development_dependency 'coveralls'
31
32
  gem.add_development_dependency 'devise'
@@ -34,12 +35,13 @@ Gem::Specification.new do |gem|
34
35
  gem.add_development_dependency 'fcrepo_wrapper'
35
36
  gem.add_development_dependency 'ffaker'
36
37
  gem.add_development_dependency 'font-awesome-rails'
38
+ gem.add_development_dependency 'github_changelog_generator'
37
39
  gem.add_development_dependency 'hydra-role-management'
38
- gem.add_development_dependency 'hyrax', '~> 2.5.1'
40
+ gem.add_development_dependency 'hyrax', '>= 2.5.1', '< 3.0'
39
41
  gem.add_development_dependency 'hyrax-spec'
40
42
  gem.add_development_dependency 'jbuilder', '~> 2.5'
41
43
  gem.add_development_dependency 'jquery-rails'
42
- gem.add_development_dependency 'listen', '>= 3.0.5', '< 3.2'
44
+ gem.add_development_dependency 'listen', '>= 3.0.5', '~> 3'
43
45
  gem.add_development_dependency 'puma', '~> 3.7'
44
46
  gem.add_development_dependency 'rake'
45
47
  gem.add_development_dependency 'riiif', '~> 2.0'
@@ -48,17 +50,17 @@ Gem::Specification.new do |gem|
48
50
  gem.add_development_dependency 'rspec'
49
51
  gem.add_development_dependency 'rspec-rails'
50
52
  gem.add_development_dependency 'rspec_junit_formatter'
51
- gem.add_development_dependency "sass-rails", "~> 5.0.4"
53
+ gem.add_development_dependency 'sass-rails', '>= 5.0'
52
54
  gem.add_development_dependency 'selenium-webdriver'
53
55
  gem.add_development_dependency 'solr_wrapper', '>= 0.3'
54
56
  gem.add_development_dependency 'spring'
55
- gem.add_development_dependency 'spring-watcher-listen', '~> 2.0.0'
56
- gem.add_development_dependency 'sqlite3', '~> 1.3.0'
57
+ gem.add_development_dependency 'spring-watcher-listen', '~> 2'
58
+ gem.add_development_dependency 'sqlite3', '~> 1.3'
57
59
  gem.add_development_dependency 'turbolinks', '~> 5'
58
60
  gem.add_development_dependency 'twitter-typeahead-rails', '0.11.1.pre.corejavascript'
59
61
  gem.add_development_dependency 'uglifier', '>= 1.3.0'
60
62
  gem.add_development_dependency 'web-console', '>= 3.3.0'
61
63
  gem.add_development_dependency 'yard'
62
- gem.add_development_dependency 'font-awesome-sass', '~> 4.4.0'
64
+ gem.add_development_dependency 'font-awesome-sass', '~> 4.4'
63
65
  gem.add_development_dependency 'sidekiq'
64
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zizia
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 6.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Data Curation Experts
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-06 00:00:00.000000000 Z
11
+ date: 2020-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active-fedora
@@ -44,14 +44,20 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 5.1.4
47
+ version: '5'
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '5.3'
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
55
  - - "~>"
53
56
  - !ruby/object:Gem::Version
54
- version: 5.1.4
57
+ version: '5'
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.3'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: carrierwave
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -84,30 +90,44 @@ dependencies:
84
90
  name: bixby
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
- - - ">="
93
+ - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '0'
95
+ version: '2'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
- - - ">="
100
+ - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '0'
102
+ version: '2'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: bootstrap-sass
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
107
  - - "~>"
102
108
  - !ruby/object:Gem::Version
103
- version: '3.0'
109
+ version: '3'
104
110
  type: :development
105
111
  prerelease: false
106
112
  version_requirements: !ruby/object:Gem::Requirement
107
113
  requirements:
108
114
  - - "~>"
109
115
  - !ruby/object:Gem::Version
110
- version: '3.0'
116
+ version: '3'
117
+ - !ruby/object:Gem::Dependency
118
+ name: bundler
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '2'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '2'
111
131
  - !ruby/object:Gem::Dependency
112
132
  name: byebug
113
133
  requirement: !ruby/object:Gem::Requirement
@@ -128,14 +148,14 @@ dependencies:
128
148
  requirements:
129
149
  - - "~>"
130
150
  - !ruby/object:Gem::Version
131
- version: '2.13'
151
+ version: '3'
132
152
  type: :development
133
153
  prerelease: false
134
154
  version_requirements: !ruby/object:Gem::Requirement
135
155
  requirements:
136
156
  - - "~>"
137
157
  - !ruby/object:Gem::Version
138
- version: '2.13'
158
+ version: '3'
139
159
  - !ruby/object:Gem::Dependency
140
160
  name: coffee-rails
141
161
  requirement: !ruby/object:Gem::Requirement
@@ -248,6 +268,20 @@ dependencies:
248
268
  - - ">="
249
269
  - !ruby/object:Gem::Version
250
270
  version: '0'
271
+ - !ruby/object:Gem::Dependency
272
+ name: github_changelog_generator
273
+ requirement: !ruby/object:Gem::Requirement
274
+ requirements:
275
+ - - ">="
276
+ - !ruby/object:Gem::Version
277
+ version: '0'
278
+ type: :development
279
+ prerelease: false
280
+ version_requirements: !ruby/object:Gem::Requirement
281
+ requirements:
282
+ - - ">="
283
+ - !ruby/object:Gem::Version
284
+ version: '0'
251
285
  - !ruby/object:Gem::Dependency
252
286
  name: hydra-role-management
253
287
  requirement: !ruby/object:Gem::Requirement
@@ -266,16 +300,22 @@ dependencies:
266
300
  name: hyrax
267
301
  requirement: !ruby/object:Gem::Requirement
268
302
  requirements:
269
- - - "~>"
303
+ - - ">="
270
304
  - !ruby/object:Gem::Version
271
305
  version: 2.5.1
306
+ - - "<"
307
+ - !ruby/object:Gem::Version
308
+ version: '3.0'
272
309
  type: :development
273
310
  prerelease: false
274
311
  version_requirements: !ruby/object:Gem::Requirement
275
312
  requirements:
276
- - - "~>"
313
+ - - ">="
277
314
  - !ruby/object:Gem::Version
278
315
  version: 2.5.1
316
+ - - "<"
317
+ - !ruby/object:Gem::Version
318
+ version: '3.0'
279
319
  - !ruby/object:Gem::Dependency
280
320
  name: hyrax-spec
281
321
  requirement: !ruby/object:Gem::Requirement
@@ -325,9 +365,9 @@ dependencies:
325
365
  - - ">="
326
366
  - !ruby/object:Gem::Version
327
367
  version: 3.0.5
328
- - - "<"
368
+ - - "~>"
329
369
  - !ruby/object:Gem::Version
330
- version: '3.2'
370
+ version: '3'
331
371
  type: :development
332
372
  prerelease: false
333
373
  version_requirements: !ruby/object:Gem::Requirement
@@ -335,9 +375,9 @@ dependencies:
335
375
  - - ">="
336
376
  - !ruby/object:Gem::Version
337
377
  version: 3.0.5
338
- - - "<"
378
+ - - "~>"
339
379
  - !ruby/object:Gem::Version
340
- version: '3.2'
380
+ version: '3'
341
381
  - !ruby/object:Gem::Dependency
342
382
  name: puma
343
383
  requirement: !ruby/object:Gem::Requirement
@@ -454,16 +494,16 @@ dependencies:
454
494
  name: sass-rails
455
495
  requirement: !ruby/object:Gem::Requirement
456
496
  requirements:
457
- - - "~>"
497
+ - - ">="
458
498
  - !ruby/object:Gem::Version
459
- version: 5.0.4
499
+ version: '5.0'
460
500
  type: :development
461
501
  prerelease: false
462
502
  version_requirements: !ruby/object:Gem::Requirement
463
503
  requirements:
464
- - - "~>"
504
+ - - ">="
465
505
  - !ruby/object:Gem::Version
466
- version: 5.0.4
506
+ version: '5.0'
467
507
  - !ruby/object:Gem::Dependency
468
508
  name: selenium-webdriver
469
509
  requirement: !ruby/object:Gem::Requirement
@@ -512,28 +552,28 @@ dependencies:
512
552
  requirements:
513
553
  - - "~>"
514
554
  - !ruby/object:Gem::Version
515
- version: 2.0.0
555
+ version: '2'
516
556
  type: :development
517
557
  prerelease: false
518
558
  version_requirements: !ruby/object:Gem::Requirement
519
559
  requirements:
520
560
  - - "~>"
521
561
  - !ruby/object:Gem::Version
522
- version: 2.0.0
562
+ version: '2'
523
563
  - !ruby/object:Gem::Dependency
524
564
  name: sqlite3
525
565
  requirement: !ruby/object:Gem::Requirement
526
566
  requirements:
527
567
  - - "~>"
528
568
  - !ruby/object:Gem::Version
529
- version: 1.3.0
569
+ version: '1.3'
530
570
  type: :development
531
571
  prerelease: false
532
572
  version_requirements: !ruby/object:Gem::Requirement
533
573
  requirements:
534
574
  - - "~>"
535
575
  - !ruby/object:Gem::Version
536
- version: 1.3.0
576
+ version: '1.3'
537
577
  - !ruby/object:Gem::Dependency
538
578
  name: turbolinks
539
579
  requirement: !ruby/object:Gem::Requirement
@@ -610,14 +650,14 @@ dependencies:
610
650
  requirements:
611
651
  - - "~>"
612
652
  - !ruby/object:Gem::Version
613
- version: 4.4.0
653
+ version: '4.4'
614
654
  type: :development
615
655
  prerelease: false
616
656
  version_requirements: !ruby/object:Gem::Requirement
617
657
  requirements:
618
658
  - - "~>"
619
659
  - !ruby/object:Gem::Version
620
- version: 4.4.0
660
+ version: '4.4'
621
661
  - !ruby/object:Gem::Dependency
622
662
  name: sidekiq
623
663
  requirement: !ruby/object:Gem::Requirement
@@ -632,7 +672,7 @@ dependencies:
632
672
  - - ">="
633
673
  - !ruby/object:Gem::Version
634
674
  version: '0'
635
- description:
675
+ description:
636
676
  email:
637
677
  - administrator@curationexperts.com
638
678
  executables: []
@@ -646,7 +686,6 @@ files:
646
686
  - ".rubocop.yml"
647
687
  - ".rubocop_todo.yml"
648
688
  - ".solr_wrapper"
649
- - ".travis.yml"
650
689
  - CHANGELOG.md
651
690
  - Gemfile
652
691
  - README.md
@@ -656,6 +695,7 @@ files:
656
695
  - app/assets/javascripts/zizia/DisplayUploadedFile.es6
657
696
  - app/assets/javascripts/zizia/application.js
658
697
  - app/assets/javascripts/zizia/zizia.js
698
+ - app/assets/stylesheets/zizia/_button.scss
659
699
  - app/assets/stylesheets/zizia/_field_guide.scss
660
700
  - app/assets/stylesheets/zizia/_file_upload.scss
661
701
  - app/assets/stylesheets/zizia/_import_table.scss
@@ -702,6 +742,9 @@ files:
702
742
  - app/views/zizia/importer_documentation/guide.html.erb
703
743
  - app/views/zizia/metadata_details/show.html.erb
704
744
  - bin/rails
745
+ - config/initializers/content_deposit_event_job_prepends.rb
746
+ - config/initializers/file_set_attached_event_job_prepends.rb
747
+ - config/initializers/prepends.rb
705
748
  - config/routes.rb
706
749
  - db/migrate/201901162141281_create_zizia_csv_imports.rb
707
750
  - db/migrate/201901162203121_add_manifest_to_zizia_csv_imports.rb
@@ -723,6 +766,8 @@ files:
723
766
  - db/migrate/20191031131041_add_deduplication_key_to_pre_ingest_work.rb
724
767
  - db/migrate/20191105165518_add_uniqueness_constraint_to_pre_ingest_work_deduplication_key.rb
725
768
  - db/migrate/20191105211127_remove_uniqueness_constraint_to_pre_ingest_work_deduplication_key.rb
769
+ - db/migrate/20191114021032_add_status_to_pre_ingest_file.rb
770
+ - db/migrate/20191210223833_add_status_to_pre_ingest_work.rb
726
771
  - docs/_config.yml
727
772
  - docs/customizing_metadata.md
728
773
  - docs/index.md
@@ -955,6 +1000,7 @@ files:
955
1000
  - spec/dummy/db/migrate/20190918193046_rename_minter_state_random_to_rand.noid_rails_engine.rb
956
1001
  - spec/dummy/db/schema.rb
957
1002
  - spec/dummy/db/seeds.rb
1003
+ - spec/dummy/db/test.sqlite3
958
1004
  - spec/dummy/lib/assets/.keep
959
1005
  - spec/dummy/lib/tasks/.keep
960
1006
  - spec/dummy/log/.keep
@@ -1465,6 +1511,7 @@ files:
1465
1511
  - spec/dummy/spec/fixtures/csv_import/good/all_fields.csv
1466
1512
  - spec/dummy/spec/fixtures/csv_import/good/all_fields_complete_update.csv
1467
1513
  - spec/dummy/spec/fixtures/csv_import/good/all_fields_metadata_update.csv
1514
+ - spec/dummy/spec/fixtures/csv_import/good/all_fields_multi.csv
1468
1515
  - spec/dummy/spec/fixtures/csv_import/good/all_fields_only_new.csv
1469
1516
  - spec/dummy/spec/fixtures/images/animals/cat.png
1470
1517
  - spec/dummy/spec/fixtures/images/birds.jpg
@@ -1481,6 +1528,7 @@ files:
1481
1528
  - spec/dummy/spec/support/capybara.rb
1482
1529
  - spec/dummy/spec/system/csv_import_details_page_spec.rb
1483
1530
  - spec/dummy/spec/system/import_csv_with_warnings_spec.rb
1531
+ - spec/dummy/spec/system/import_file_status_spec.rb
1484
1532
  - spec/dummy/spec/system/import_from_csv_spec.rb
1485
1533
  - spec/dummy/spec/system/import_from_csv_with_errors_spec.rb
1486
1534
  - spec/dummy/spec/system/import_with_no_collection_spec.rb
@@ -1522,6 +1570,7 @@ files:
1522
1570
  - spec/integration/csv_import_detail_spec.rb
1523
1571
  - spec/integration/import_hyrax_csv.rb
1524
1572
  - spec/models/csv_import_spec.rb
1573
+ - spec/models/zizia/application_job_spec.rb
1525
1574
  - spec/models/zizia/csv_import_detail_spec.rb
1526
1575
  - spec/models/zizia/pre_ingest_file_spec.rb
1527
1576
  - spec/models/zizia/pre_ingest_work_spec.rb
@@ -1546,11 +1595,11 @@ files:
1546
1595
  - spec/zizia/version_spec.rb
1547
1596
  - spec/zizia_spec.rb
1548
1597
  - zizia.gemspec
1549
- homepage:
1598
+ homepage:
1550
1599
  licenses:
1551
1600
  - Apache-2.0
1552
1601
  metadata: {}
1553
- post_install_message:
1602
+ post_install_message:
1554
1603
  rdoc_options: []
1555
1604
  require_paths:
1556
1605
  - lib
@@ -1565,8 +1614,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1565
1614
  - !ruby/object:Gem::Version
1566
1615
  version: '0'
1567
1616
  requirements: []
1568
- rubygems_version: 3.0.4
1569
- signing_key:
1617
+ rubygems_version: 3.1.2
1618
+ signing_key:
1570
1619
  specification_version: 4
1571
1620
  summary: Hyrax importers.
1572
1621
  test_files: []