zizia 4.3.1.alpha.01 → 4.4.0.alpha.01
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/zizia/csv_import_details_controller.rb +18 -0
- data/app/views/zizia/csv_import_details/index.html.erb +26 -0
- data/app/views/zizia/csv_import_details/show.html.erb +33 -0
- data/app/views/zizia/csv_imports/show.html.erb +1 -1
- data/config/routes.rb +3 -0
- data/lib/zizia/version.rb +1 -1
- data/spec/dummy/spec/system/csv_import_details_page_spec.rb +18 -0
- data/spec/dummy/spec/system/import_from_csv_spec.rb +7 -0
- data/spec/factories/csv_import.rb +13 -0
- data/spec/factories/csv_import_detail.rb +16 -0
- data/zizia.gemspec +1 -0
- metadata +21 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d6cb2fdcaac771b4c720b937920c89af5cef59a765f49a4a85341b62583ebdc
|
4
|
+
data.tar.gz: 98f4e13cdebe4e66978e061f6b44a445bc6bb8d4012e4ffa001ad65924858cf6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4aadd2145031bee0548b90678d89be2138cf3ae0b4b2d14907706da2b361f34da1387fc6c419da79a346f33747077eedb6f39391d541335c1336d1d44611845b
|
7
|
+
data.tar.gz: e910f466363fec180fdbdb7fb11cd73f4eb248151d9bb5eb1f194ca21a60c4ed4922a0e6cd10adc771a89950410d5bf525aa73f7e3650ed840748b299c4e423c
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Zizia
|
3
|
+
class CsvImportDetailsController < ApplicationController
|
4
|
+
def index
|
5
|
+
@csv_import_details = Zizia::CsvImportDetail.order(:id).page csv_import_detail_params[:page]
|
6
|
+
end
|
7
|
+
|
8
|
+
def show
|
9
|
+
@csv_import_detail = Zizia::CsvImportDetail.find(csv_import_detail_params["id"])
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def csv_import_detail_params
|
15
|
+
params.permit(:id, :page)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<h3>CSV Imports</h3>
|
2
|
+
<table class="table table-striped">
|
3
|
+
<tr>
|
4
|
+
<th>ID</th>
|
5
|
+
<th>Associated User</th>
|
6
|
+
<th>CSV File</th>
|
7
|
+
<th>Total Size in Bytes</th>
|
8
|
+
</tr>
|
9
|
+
<% @csv_import_details.each do |csv_import_detail| %>
|
10
|
+
<tr>
|
11
|
+
<td>
|
12
|
+
<%= link_to csv_import_detail.id, url_for(csv_import_detail) %>
|
13
|
+
</td>
|
14
|
+
<td>
|
15
|
+
<%= User.find(csv_import_detail.csv_import.user_id).email %>
|
16
|
+
</td>
|
17
|
+
<td>
|
18
|
+
<%= csv_import_detail.csv_import.manifest %>
|
19
|
+
</td>
|
20
|
+
<td>
|
21
|
+
<%= csv_import_detail.total_size %>
|
22
|
+
</td>
|
23
|
+
</tr>
|
24
|
+
<% end %>
|
25
|
+
</table>
|
26
|
+
<%= paginate @csv_import_details %>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<div>
|
2
|
+
<h3>About the Import:</h3>
|
3
|
+
<ul>
|
4
|
+
<li>Import created by: <%= User.find(@csv_import_detail.csv_import.user_id) %>
|
5
|
+
</li>
|
6
|
+
<li>CSV File: <%= @csv_import_detail.csv_import.manifest %></li>
|
7
|
+
<li>Total Size in Bytes: <%= @csv_import_detail.total_size %></li>
|
8
|
+
</ul>
|
9
|
+
|
10
|
+
<h3>Files</h3>
|
11
|
+
<table id="files-table" class="dataTable display responsive nowrap table table-striped works-list" style="width:100%">
|
12
|
+
<tr>
|
13
|
+
<th>Filename</th>
|
14
|
+
<th>Size in Bytes</th>
|
15
|
+
<th>Row Number</th>
|
16
|
+
</tr>
|
17
|
+
|
18
|
+
<% @csv_import_detail.pre_ingest_files.each do |pre_ingest_file| %>
|
19
|
+
<tr>
|
20
|
+
<td>
|
21
|
+
<%= pre_ingest_file.filename %>
|
22
|
+
</td>
|
23
|
+
<td>
|
24
|
+
<%= pre_ingest_file.size %>
|
25
|
+
</td>
|
26
|
+
<td>
|
27
|
+
Row number:
|
28
|
+
<%= pre_ingest_file.row_number %>
|
29
|
+
</td>
|
30
|
+
</tr>
|
31
|
+
<% end %>
|
32
|
+
</table>
|
33
|
+
</div>
|
@@ -22,7 +22,7 @@
|
|
22
22
|
<div class="col-md-6">
|
23
23
|
<div class='well'>
|
24
24
|
<p> Your records will be imported in the background. To check the current status, please check the background job status page. </p><br />
|
25
|
-
<div class="text-center"> <%= link_to 'Background Job Status', '/
|
25
|
+
<div class="text-center"> <%= link_to 'Background Job Status', '/csv_import_details/index', class: "btn btn-primary btn-lg" %> </div>
|
26
26
|
</div>
|
27
27
|
</div>
|
28
28
|
</div>
|
data/config/routes.rb
CHANGED
@@ -6,4 +6,7 @@ Zizia::Engine.routes.draw do
|
|
6
6
|
|
7
7
|
get 'importer_documentation/guide', to: 'metadata_details#show'
|
8
8
|
get 'importer_documentation/profile', to: 'metadata_details#profile'
|
9
|
+
|
10
|
+
get 'csv_import_details/index'
|
11
|
+
get 'csv_import_details/show/:id', to: 'csv_import_details#show', as: 'csv_import_detail'
|
9
12
|
end
|
data/lib/zizia/version.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe 'viewing the csv import detail page' do
|
4
|
+
let(:user) { FactoryBot.create(:user) }
|
5
|
+
let(:csv_import) { FactoryBot.create(:csv_import) }
|
6
|
+
let(:csv_import_detail) { FactoryBot.create(:csv_import_detail) }
|
7
|
+
|
8
|
+
it 'displays the metadata when you visit the page' do
|
9
|
+
user.save
|
10
|
+
csv_import.user_id = user.id
|
11
|
+
csv_import.save
|
12
|
+
csv_import_detail.save
|
13
|
+
visit ('/csv_import_details/index')
|
14
|
+
expect(page).to have_content('CSV Imports ID')
|
15
|
+
click_on '1'
|
16
|
+
expect(page).to have_content('Total Size in Bytes')
|
17
|
+
end
|
18
|
+
end
|
@@ -237,6 +237,13 @@ RSpec.describe 'Importing records from a CSV file', :perform_jobs, :clean, type:
|
|
237
237
|
work = Work.where(title: "*haberdashery*").first
|
238
238
|
expect(work.title.first).to match(/Interior/)
|
239
239
|
expect(work.file_sets.first.label).to eq('cat.jpg')
|
240
|
+
|
241
|
+
|
242
|
+
# Viewing additional details after an import
|
243
|
+
visit "/csv_import_details/index"
|
244
|
+
expect(page).to have_content('Total Size in Bytes')
|
245
|
+
find(:xpath, '//*[@id="content-wrapper"]/table/tbody/tr[2]/td[1]/a').click
|
246
|
+
expect(page).to have_content('dog.jpg')
|
240
247
|
end
|
241
248
|
end
|
242
249
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This will guess the User class
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :csv_import, class: Zizia::CsvImport do
|
5
|
+
id { 1 }
|
6
|
+
user_id { 1 }
|
7
|
+
created_at { Time.current }
|
8
|
+
updated_at { Time.current }
|
9
|
+
manifest { Rails.root.join('spec', 'fixtures', 'csv_imports', 'good', 'all_fields.csv') }
|
10
|
+
fedora_collection_id { '1' }
|
11
|
+
update_actor_stack { 'HyraxDefault' }
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# This will guess the User class
|
3
|
+
FactoryBot.define do
|
4
|
+
factory :csv_import_detail, class: Zizia::CsvImportDetail do
|
5
|
+
csv_import_id { 1 }
|
6
|
+
created_at { Time.current }
|
7
|
+
updated_at { Time.current }
|
8
|
+
depositor_id { FactoryBot.build(:user).id }
|
9
|
+
collection_id { '1' }
|
10
|
+
batch_id { '1' }
|
11
|
+
success_count { 1 }
|
12
|
+
failure_count { 0 }
|
13
|
+
deduplication_field { 'identifier' }
|
14
|
+
update_actor_stack { 'HyraxDefault' }
|
15
|
+
end
|
16
|
+
end
|
data/zizia.gemspec
CHANGED
@@ -17,6 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.required_ruby_version = '>= 2.3.4'
|
18
18
|
|
19
19
|
gem.add_dependency 'active-fedora'
|
20
|
+
gem.add_dependency 'kaminari'
|
20
21
|
gem.add_dependency 'rails', '~> 5.1.4'
|
21
22
|
gem.add_dependency 'carrierwave'
|
22
23
|
gem.add_dependency 'rails-controller-testing'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zizia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0.alpha.01
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Data Curation Experts
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: kaminari
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rails
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -644,6 +658,7 @@ files:
|
|
644
658
|
- app/assets/stylesheets/zizia/application.css
|
645
659
|
- app/assets/stylesheets/zizia/zizia.scss
|
646
660
|
- app/config/usage.yml
|
661
|
+
- app/controllers/zizia/csv_import_details_controller.rb
|
647
662
|
- app/controllers/zizia/csv_imports_controller.rb
|
648
663
|
- app/controllers/zizia/metadata_details_controller.rb
|
649
664
|
- app/helpers/zizia/application_helper.rb
|
@@ -661,6 +676,8 @@ files:
|
|
661
676
|
- app/uploaders/zizia/csv_manifest_uploader.rb
|
662
677
|
- app/uploaders/zizia/csv_manifest_validator.rb
|
663
678
|
- app/views/layouts/zizia/application.html.erb
|
679
|
+
- app/views/zizia/csv_import_details/index.html.erb
|
680
|
+
- app/views/zizia/csv_import_details/show.html.erb
|
664
681
|
- app/views/zizia/csv_imports/_actions.html.erb
|
665
682
|
- app/views/zizia/csv_imports/_collection_selection.html.erb
|
666
683
|
- app/views/zizia/csv_imports/_error.html.erb
|
@@ -1437,6 +1454,7 @@ files:
|
|
1437
1454
|
- spec/dummy/spec/models/qa/local_authority_spec.rb
|
1438
1455
|
- spec/dummy/spec/rails_helper.rb
|
1439
1456
|
- spec/dummy/spec/spec_helper.rb
|
1457
|
+
- spec/dummy/spec/system/csv_import_details_page_spec.rb
|
1440
1458
|
- spec/dummy/spec/system/import_csv_with_warnings_spec.rb
|
1441
1459
|
- spec/dummy/spec/system/import_from_csv_spec.rb
|
1442
1460
|
- spec/dummy/spec/system/import_from_csv_with_errors_spec.rb
|
@@ -1458,6 +1476,8 @@ files:
|
|
1458
1476
|
- spec/dummy/test/test_helper.rb
|
1459
1477
|
- spec/dummy/vendor/.keep
|
1460
1478
|
- spec/factories/collection.rb
|
1479
|
+
- spec/factories/csv_import.rb
|
1480
|
+
- spec/factories/csv_import_detail.rb
|
1461
1481
|
- spec/factories/user.rb
|
1462
1482
|
- spec/fixtures/bad_example.csv
|
1463
1483
|
- spec/fixtures/csv_import/csv_files_with_problems/extra - headers.csv
|