iqvoc 4.13.2 → 4.14.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +6 -8
- data/Gemfile.lock +381 -331
- data/app/aides/inline_data_helper.rb +3 -3
- data/app/aides/skos_exporter.rb +1 -1
- data/app/assets/javascripts/iqvoc/iqvoc.js +0 -20
- data/app/assets/stylesheets/iqvoc/_manifest.scss +1 -0
- data/app/assets/stylesheets/iqvoc/_search_results.scss +14 -0
- data/app/controllers/collections/versions_controller.rb +12 -47
- data/app/controllers/collections_controller.rb +15 -8
- data/app/controllers/concepts/alphabetical_controller.rb +1 -1
- data/app/controllers/concepts/hierarchical_controller.rb +9 -13
- data/app/controllers/concepts/versions_controller.rb +13 -48
- data/app/controllers/concepts_controller.rb +19 -15
- data/app/controllers/concepts_movement_controller.rb +1 -1
- data/app/controllers/dashboard_controller.rb +5 -5
- data/app/controllers/imports_controller.rb +9 -6
- data/app/controllers/reverse_matches_controller.rb +2 -4
- data/app/controllers/search_results_controller.rb +13 -19
- data/app/helpers/application_helper.rb +0 -8
- data/app/helpers/link_helper.rb +13 -9
- data/app/helpers/rdf_helper.rb +9 -5
- data/app/jobs/reverse_match_job.rb +8 -4
- data/app/models/ability.rb +7 -7
- data/app/models/collection/base.rb +17 -8
- data/app/models/concept/base.rb +17 -7
- data/app/models/concept/relation/base.rb +1 -1
- data/app/models/concept/relation/reverse_relation_extension.rb +9 -5
- data/app/models/concerns/search_extension.rb +0 -17
- data/app/models/concerns/versioning.rb +1 -31
- data/app/models/dataset/adaptors/iqvoc/alphabetical_search_adaptor.rb +2 -2
- data/app/models/dataset/adaptors/iqvoc/http_adaptor.rb +2 -2
- data/app/models/dataset/adaptors/iqvoc/search_adaptor.rb +2 -2
- data/app/models/export.rb +1 -1
- data/app/models/label/base.rb +5 -5
- data/app/models/note/base.rb +1 -1
- data/app/models/user.rb +2 -0
- data/app/uploaders/rdf_uploader.rb +1 -1
- data/app/views/collections/_data.html.erb +2 -2
- data/app/views/collections/show_unpublished.html.erb +3 -11
- data/app/views/concepts/notifications/_referenced_concepts.html.erb +0 -1
- data/app/views/concepts/show_published.html.erb +2 -0
- data/app/views/concepts/show_unpublished.html.erb +5 -11
- data/app/views/dashboard/_table.html.erb +0 -8
- data/app/views/pages/version.html.erb +1 -1
- data/app/views/partials/concept/_edit_link_base.html.erb +2 -2
- data/app/views/partials/concept/relation/_edit_base.html.erb +13 -10
- data/app/views/search_results/_detailed_search.html.erb +27 -0
- data/app/views/search_results/_form.html.erb +21 -9
- data/app/views/search_results/index.html.erb +4 -4
- data/app/views/search_results/sections/_change_note.html.erb +28 -25
- data/app/views/search_results/sections/_collection.html.erb +5 -5
- data/app/views/search_results/sections/_datasets.html.erb +8 -20
- data/app/views/search_results/sections/_klass.html.erb +7 -9
- data/app/views/search_results/sections/_languages.html.erb +4 -14
- data/app/views/search_results/sections/_mode.html.erb +8 -10
- data/app/views/search_results/sections/_options.html.erb +6 -8
- data/app/views/search_results/sections/_terms.html.erb +13 -10
- data/app/views/search_results/sections/_type.html.erb +13 -13
- data/config/application.rb +1 -1
- data/config/boot.rb +1 -1
- data/config/database.yml +21 -15
- data/config/database.yml.postgresql +1 -1
- data/config/engine.rb +1 -0
- data/config/initializers/active_record.rb +2 -0
- data/config/initializers/content_security_policy.rb +21 -26
- data/config/initializers/filter_parameter_logging.rb +4 -2
- data/config/initializers/inflections.rb +4 -4
- data/config/initializers/iqvoc.rb +1 -0
- data/config/locales/de.yml +13 -18
- data/config/locales/en.yml +13 -18
- data/config/locales/pt.yml +0 -7
- data/config/routes.rb +0 -4
- data/db/migrate/20231012135837_remove_locked_by.rb +6 -0
- data/db/schema.rb +31 -34
- data/iqvoc.gemspec +7 -5
- data/lib/iqvoc/configuration/concept.rb +2 -0
- data/lib/iqvoc/configuration/core.rb +4 -0
- data/lib/iqvoc/configuration/instance_configuration.rb +2 -2
- data/lib/iqvoc/environments/development.rb +5 -2
- data/lib/iqvoc/environments/production.rb +7 -28
- data/lib/iqvoc/environments/test.rb +1 -1
- data/lib/iqvoc/version.rb +1 -1
- data/test/controllers/concepts_movement_controller_test.rb +0 -2
- data/test/controllers/reverse_match_test.rb +1 -1
- data/test/integration/collection_browsing_test.rb +45 -0
- data/test/integration/collection_circularity_test.rb +3 -3
- data/test/integration/concept_collection_assignment_test.rb +1 -1
- data/test/integration/create_concept_test.rb +15 -0
- data/test/integration/reverse_match_job_test.rb +39 -7
- data/test/integration/search_test.rb +9 -9
- data/test/integration/version_page_test.rb +26 -0
- data/test/models/concept_test.rb +37 -0
- data/test/models/deep_cloning_test.rb +9 -7
- data/test/test_helper.rb +3 -0
- metadata +81 -67
- data/app/views/search_results/sections/_note.html.erb +0 -6
- data/bin/bundle +0 -3
- data/bin/delayed_job +0 -5
- data/bin/rails +0 -4
- data/bin/rake +0 -4
- data/bin/setup +0 -36
- data/bin/update +0 -31
- data/bin/yarn +0 -17
@@ -41,9 +41,13 @@ class ReverseMatchJobTest < ActiveSupport::TestCase
|
|
41
41
|
{ rel: 'remove_match', href: 'http://0.0.0.0:3000/airsoft/remove_match', method: 'patch' }
|
42
42
|
]}.to_json
|
43
43
|
|
44
|
-
stub_request(:get,
|
45
|
-
|
46
|
-
|
44
|
+
stub_request(:get, "http://try.iqvoc.com/").
|
45
|
+
with(
|
46
|
+
headers: {
|
47
|
+
'Accept'=>'application/json',
|
48
|
+
'User-Agent'=>"Faraday v#{Faraday::VERSION}"
|
49
|
+
}).
|
50
|
+
to_return(status: 200, body: body, headers: {})
|
47
51
|
|
48
52
|
@worker = Delayed::Worker.new
|
49
53
|
DatabaseCleaner.start
|
@@ -56,7 +60,12 @@ class ReverseMatchJobTest < ActiveSupport::TestCase
|
|
56
60
|
test 'successfull job' do
|
57
61
|
status, body = status_and_body(:mapping_added)
|
58
62
|
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
59
|
-
.with(:
|
63
|
+
.with(headers: {
|
64
|
+
'Accept' => '*/*',
|
65
|
+
'Content-Type' => 'application/json',
|
66
|
+
'Referer' => 'http://try.iqvoc.com/',
|
67
|
+
'User-Agent'=>"Faraday v#{Faraday::VERSION}"
|
68
|
+
})
|
60
69
|
.to_return(status: status, body: body.to_json, headers: {})
|
61
70
|
|
62
71
|
job = @reverse_match_service.build_job(:add_match, @airsoft, 'http://try.iqvoc.com', 'Match::SKOS::BroadMatch')
|
@@ -70,7 +79,8 @@ class ReverseMatchJobTest < ActiveSupport::TestCase
|
|
70
79
|
|
71
80
|
test 'job timeout' do
|
72
81
|
status, body = status_and_body(:mapping_added)
|
73
|
-
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
82
|
+
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
83
|
+
.to_timeout
|
74
84
|
|
75
85
|
job = @reverse_match_service.build_job(:add_match, @airsoft, 'http://try.iqvoc.com', 'Match::SKOS::BroadMatch')
|
76
86
|
@reverse_match_service.add(job)
|
@@ -83,9 +93,26 @@ class ReverseMatchJobTest < ActiveSupport::TestCase
|
|
83
93
|
assert_equal 'timeout_error', job.error_message
|
84
94
|
end
|
85
95
|
|
96
|
+
test 'failed connection' do
|
97
|
+
status, body = status_and_body(:mapping_added)
|
98
|
+
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
99
|
+
.to_raise(Errno::ECONNREFUSED)
|
100
|
+
|
101
|
+
job = @reverse_match_service.build_job(:add_match, @airsoft, 'http://try.iqvoc.com', 'Match::SKOS::BroadMatch')
|
102
|
+
@reverse_match_service.add(job)
|
103
|
+
|
104
|
+
job = Delayed::Job.last
|
105
|
+
@worker.run(job)
|
106
|
+
|
107
|
+
assert_equal 1, @airsoft.jobs.size
|
108
|
+
|
109
|
+
assert_equal 'connection_failed', job.error_message
|
110
|
+
end
|
111
|
+
|
86
112
|
test 'unknown resource' do
|
87
113
|
status, body = status_and_body(:mapping_added)
|
88
|
-
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
114
|
+
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
115
|
+
.to_return(status: 404)
|
89
116
|
|
90
117
|
job = @reverse_match_service.build_job(:add_match, @airsoft, 'http://try.iqvoc.com', 'Match::SKOS::BroadMatch')
|
91
118
|
@reverse_match_service.add(job)
|
@@ -101,7 +128,12 @@ class ReverseMatchJobTest < ActiveSupport::TestCase
|
|
101
128
|
test 'unknown match class' do
|
102
129
|
status, body = status_and_body(:unknown_match)
|
103
130
|
stub_request(:patch, 'http://0.0.0.0:3000/airsoft/add_match?match_class=match_skos_broadmatch&uri=http://try.iqvoc.com/airsoft')
|
104
|
-
.with(:
|
131
|
+
.with(headers: {
|
132
|
+
'Accept' => '*/*',
|
133
|
+
'Content-Type' => 'application/json',
|
134
|
+
'Referer' => 'http://try.iqvoc.com/',
|
135
|
+
'User-Agent'=>'Faraday v1.10.3'
|
136
|
+
})
|
105
137
|
.to_return(status: status, body: body.to_json, headers: {})
|
106
138
|
|
107
139
|
job = @reverse_match_service.build_job(:add_match, @airsoft, 'http://try.iqvoc.com', 'Match::SKOS::BroadMatch')
|
@@ -47,9 +47,9 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
47
47
|
visit search_path(lang: 'en', format: 'html')
|
48
48
|
|
49
49
|
[{
|
50
|
-
|
51
|
-
|
52
|
-
|
50
|
+
type: 'Labels', query: 'Forest', query_type: 'contain keyword',
|
51
|
+
amount: 1, result: 'Forest'
|
52
|
+
}].each { |q|
|
53
53
|
find('#t').select q[:type]
|
54
54
|
fill_in 'Search term(s)', with: q[:query]
|
55
55
|
find('#qt').select q[:query_type]
|
@@ -62,7 +62,7 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
62
62
|
click_button('Search')
|
63
63
|
|
64
64
|
assert page.has_css?('.search-result', count: q[:amount]),
|
65
|
-
|
65
|
+
"Page has #{page.all(:css, '.search-result').count} '.search-result' nodes. Should be #{q[:amount]}."
|
66
66
|
|
67
67
|
within('.search-result') do
|
68
68
|
assert page.has_content?(q[:result]), "Could not find '#{q[:result]}' within '.search-result'."
|
@@ -74,7 +74,7 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
74
74
|
visit search_path(lang: 'en', format: 'html')
|
75
75
|
|
76
76
|
find('#t').select 'Labels'
|
77
|
-
find('#qt').select '
|
77
|
+
find('#qt').select 'contain keyword'
|
78
78
|
fill_in 'Search term(s)', with: 'Alpha'
|
79
79
|
click_button('Search')
|
80
80
|
assert page.has_css?('.search-result', count: 1)
|
@@ -119,7 +119,7 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
119
119
|
visit search_path(lang: 'en', format: 'html')
|
120
120
|
|
121
121
|
find('#t').select 'Labels'
|
122
|
-
find('#qt').select '
|
122
|
+
find('#qt').select 'contain keyword'
|
123
123
|
fill_in 'Search term(s)', with: 'res'
|
124
124
|
find('#c').select @collection.to_s
|
125
125
|
|
@@ -160,7 +160,7 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
160
160
|
visit search_path(lang: 'en', format: 'html')
|
161
161
|
|
162
162
|
find('#t').select 'Notes'
|
163
|
-
find('#qt').select '
|
163
|
+
find('#qt').select 'contain keyword'
|
164
164
|
fill_in 'Search term(s)', with: 'ipsum'
|
165
165
|
find('#c').select @collection.to_s
|
166
166
|
|
@@ -179,7 +179,7 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
179
179
|
visit search_path(lang: 'en', format: 'html')
|
180
180
|
|
181
181
|
find('#t').select 'Labels'
|
182
|
-
find('#qt').select '
|
182
|
+
find('#qt').select 'exactly match'
|
183
183
|
fill_in 'Search term(s)', with: ''
|
184
184
|
find('#c').select @collection.to_s
|
185
185
|
|
@@ -208,7 +208,7 @@ class SearchTest < ActionDispatch::IntegrationTest
|
|
208
208
|
visit search_path(lang: 'en', format: 'html')
|
209
209
|
|
210
210
|
find('#t').select 'Labels'
|
211
|
-
find('#qt').select '
|
211
|
+
find('#qt').select 'contain keyword'
|
212
212
|
fill_in 'Search term(s)', with: 'sample_'
|
213
213
|
|
214
214
|
click_button('Search')
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Copyright 2011-2023 innoQ Deutschland GmbH
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
|
15
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), '../integration_test_helper')
|
16
|
+
|
17
|
+
class VersionPageTest < ActionDispatch::IntegrationTest
|
18
|
+
|
19
|
+
test 'visit version page' do
|
20
|
+
visit version_path(lang: 'de')
|
21
|
+
|
22
|
+
assert page.body.include? 'iQvoc core version:'
|
23
|
+
assert page.body.include? Iqvoc::VERSION
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/test/models/concept_test.rb
CHANGED
@@ -249,4 +249,41 @@ class ConceptTest < ActiveSupport::TestCase
|
|
249
249
|
refute wolf_concept.publishable?
|
250
250
|
assert wolf_concept.errors.full_messages_for(:base).include? I18n.t('txt.models.concept.no_self_reference')
|
251
251
|
end
|
252
|
+
|
253
|
+
test 'expired concepts scopes' do
|
254
|
+
assert_equal 0, Iqvoc::Concept.base_class.not_expired.count
|
255
|
+
assert_equal 0, Iqvoc::Concept.base_class.expired.count
|
256
|
+
|
257
|
+
wolf_concept = Iqvoc::Concept.base_class.new(origin: 'wolf').publish.tap do |c|
|
258
|
+
RDFAPI.devour c, 'skos:prefLabel', '"Wolf"@en'
|
259
|
+
c.save
|
260
|
+
end
|
261
|
+
refute wolf_concept.expired?
|
262
|
+
|
263
|
+
assert_equal 1, Iqvoc::Concept.base_class.not_expired.count
|
264
|
+
assert_equal 0, Iqvoc::Concept.base_class.expired.count
|
265
|
+
|
266
|
+
# expired until tomorrow
|
267
|
+
wolf_concept.expired_at = Date.tomorrow
|
268
|
+
wolf_concept.save
|
269
|
+
refute wolf_concept.expired?
|
270
|
+
|
271
|
+
assert_equal 1, Iqvoc::Concept.base_class.not_expired.count
|
272
|
+
assert_equal 0, Iqvoc::Concept.base_class.expired.count
|
273
|
+
|
274
|
+
# expired from today
|
275
|
+
wolf_concept.expired_at = Date.today
|
276
|
+
wolf_concept.save
|
277
|
+
assert wolf_concept.expired?
|
278
|
+
|
279
|
+
assert_equal 0, Iqvoc::Concept.base_class.not_expired.count
|
280
|
+
assert_equal 1, Iqvoc::Concept.base_class.expired.count
|
281
|
+
|
282
|
+
wolf_concept.expired_at = Date.yesterday
|
283
|
+
wolf_concept.save
|
284
|
+
assert wolf_concept.expired?
|
285
|
+
|
286
|
+
assert_equal 0, Iqvoc::Concept.base_class.not_expired.count
|
287
|
+
assert_equal 1, Iqvoc::Concept.base_class.expired.count
|
288
|
+
end
|
252
289
|
end
|
@@ -60,14 +60,14 @@ class DeepCloningTest < ActiveSupport::TestCase
|
|
60
60
|
|
61
61
|
@root_collection = Iqvoc::Collection.base_class.new(origin: 'root_collection1').tap do |c|
|
62
62
|
RDFAPI.devour c, 'skos:prefLabel', '"Root Collection"@en'
|
63
|
-
RDFAPI.devour c, 'skos:member', @root_concept1
|
64
|
-
RDFAPI.devour c, 'skos:member', @root_concept2
|
65
|
-
RDFAPI.devour c, 'skos:member', @child_concept
|
66
|
-
RDFAPI.devour c, 'skos:member', @sub_collection
|
67
63
|
c.publish
|
68
64
|
c.save
|
69
65
|
end
|
70
66
|
|
67
|
+
@root_collection.concepts << @root_concept1
|
68
|
+
@root_collection.concepts << @root_concept2
|
69
|
+
@root_collection.concepts << @child_concept
|
70
|
+
@root_collection.subcollections << @sub_collection
|
71
71
|
end
|
72
72
|
|
73
73
|
def after_setup
|
@@ -78,14 +78,16 @@ class DeepCloningTest < ActiveSupport::TestCase
|
|
78
78
|
assert_equal @root_concept1, @child_concept.broader_relations.first.target
|
79
79
|
|
80
80
|
assert_equal 3, @root_collection.concepts.size
|
81
|
-
|
81
|
+
[@root_concept1, @root_concept2, @child_concept].each do |concept|
|
82
|
+
@root_collection.concepts.include? concept
|
83
|
+
end
|
82
84
|
|
83
85
|
assert_equal 1, @root_collection.subcollections.size
|
84
86
|
assert_equal @sub_collection, @root_collection.subcollections.first
|
85
87
|
end
|
86
88
|
|
87
89
|
test 'should deep clone concept' do
|
88
|
-
root_concept_dup = @root_concept1.branch
|
90
|
+
root_concept_dup = @root_concept1.branch
|
89
91
|
root_concept_dup.save
|
90
92
|
|
91
93
|
# test narrower
|
@@ -103,7 +105,7 @@ class DeepCloningTest < ActiveSupport::TestCase
|
|
103
105
|
end
|
104
106
|
|
105
107
|
test 'should deep clone collection' do
|
106
|
-
root_collection_dup = @root_collection.branch
|
108
|
+
root_collection_dup = @root_collection.branch
|
107
109
|
root_collection_dup.save
|
108
110
|
|
109
111
|
# test subcollections
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: iqvoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.14.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Glaser
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2024-02-01 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: rails
|
@@ -19,48 +19,42 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - "~>"
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
23
|
-
- - ">="
|
24
|
-
- !ruby/object:Gem::Version
|
25
|
-
version: 6.1.5.1
|
22
|
+
version: 7.0.8
|
26
23
|
type: :runtime
|
27
24
|
prerelease: false
|
28
25
|
version_requirements: !ruby/object:Gem::Requirement
|
29
26
|
requirements:
|
30
27
|
- - "~>"
|
31
28
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
33
|
-
- - ">="
|
34
|
-
- !ruby/object:Gem::Version
|
35
|
-
version: 6.1.5.1
|
29
|
+
version: 7.0.8
|
36
30
|
- !ruby/object:Gem::Dependency
|
37
31
|
name: puma
|
38
32
|
requirement: !ruby/object:Gem::Requirement
|
39
33
|
requirements:
|
40
|
-
- - "
|
34
|
+
- - ">="
|
41
35
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
36
|
+
version: '0'
|
43
37
|
type: :runtime
|
44
38
|
prerelease: false
|
45
39
|
version_requirements: !ruby/object:Gem::Requirement
|
46
40
|
requirements:
|
47
|
-
- - "
|
41
|
+
- - ">="
|
48
42
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
43
|
+
version: '0'
|
50
44
|
- !ruby/object:Gem::Dependency
|
51
45
|
name: bootsnap
|
52
46
|
requirement: !ruby/object:Gem::Requirement
|
53
47
|
requirements:
|
54
48
|
- - ">="
|
55
49
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
50
|
+
version: '0'
|
57
51
|
type: :runtime
|
58
52
|
prerelease: false
|
59
53
|
version_requirements: !ruby/object:Gem::Requirement
|
60
54
|
requirements:
|
61
55
|
- - ">="
|
62
56
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
57
|
+
version: '0'
|
64
58
|
- !ruby/object:Gem::Dependency
|
65
59
|
name: bundler
|
66
60
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,16 +171,16 @@ dependencies:
|
|
177
171
|
name: faraday
|
178
172
|
requirement: !ruby/object:Gem::Requirement
|
179
173
|
requirements:
|
180
|
-
- -
|
174
|
+
- - ">="
|
181
175
|
- !ruby/object:Gem::Version
|
182
|
-
version: 0
|
176
|
+
version: '0'
|
183
177
|
type: :runtime
|
184
178
|
prerelease: false
|
185
179
|
version_requirements: !ruby/object:Gem::Requirement
|
186
180
|
requirements:
|
187
|
-
- -
|
181
|
+
- - ">="
|
188
182
|
- !ruby/object:Gem::Version
|
189
|
-
version: 0
|
183
|
+
version: '0'
|
190
184
|
- !ruby/object:Gem::Dependency
|
191
185
|
name: faraday_middleware
|
192
186
|
requirement: !ruby/object:Gem::Requirement
|
@@ -313,6 +307,20 @@ dependencies:
|
|
313
307
|
- - ">="
|
314
308
|
- !ruby/object:Gem::Version
|
315
309
|
version: '0'
|
310
|
+
- !ruby/object:Gem::Dependency
|
311
|
+
name: net-http
|
312
|
+
requirement: !ruby/object:Gem::Requirement
|
313
|
+
requirements:
|
314
|
+
- - ">="
|
315
|
+
- !ruby/object:Gem::Version
|
316
|
+
version: '0'
|
317
|
+
type: :runtime
|
318
|
+
prerelease: false
|
319
|
+
version_requirements: !ruby/object:Gem::Requirement
|
320
|
+
requirements:
|
321
|
+
- - ">="
|
322
|
+
- !ruby/object:Gem::Version
|
323
|
+
version: '0'
|
316
324
|
- !ruby/object:Gem::Dependency
|
317
325
|
name: database_cleaner
|
318
326
|
requirement: !ruby/object:Gem::Requirement
|
@@ -355,6 +363,20 @@ dependencies:
|
|
355
363
|
- - ">="
|
356
364
|
- !ruby/object:Gem::Version
|
357
365
|
version: '0'
|
366
|
+
- !ruby/object:Gem::Dependency
|
367
|
+
name: carrierwave-i18n
|
368
|
+
requirement: !ruby/object:Gem::Requirement
|
369
|
+
requirements:
|
370
|
+
- - ">="
|
371
|
+
- !ruby/object:Gem::Version
|
372
|
+
version: '0'
|
373
|
+
type: :runtime
|
374
|
+
prerelease: false
|
375
|
+
version_requirements: !ruby/object:Gem::Requirement
|
376
|
+
requirements:
|
377
|
+
- - ">="
|
378
|
+
- !ruby/object:Gem::Version
|
379
|
+
version: '0'
|
358
380
|
- !ruby/object:Gem::Dependency
|
359
381
|
name: rack-mini-profiler
|
360
382
|
requirement: !ruby/object:Gem::Requirement
|
@@ -390,14 +412,7 @@ email:
|
|
390
412
|
- till.schulte-coerne@innoq.com
|
391
413
|
- frederik.dohr@innoq.com
|
392
414
|
- marc.jansing@innoq.com
|
393
|
-
executables:
|
394
|
-
- bundle
|
395
|
-
- delayed_job
|
396
|
-
- rails
|
397
|
-
- rake
|
398
|
-
- setup
|
399
|
-
- update
|
400
|
-
- yarn
|
415
|
+
executables: []
|
401
416
|
extensions: []
|
402
417
|
extra_rdoc_files: []
|
403
418
|
files:
|
@@ -472,6 +487,7 @@ files:
|
|
472
487
|
- app/assets/stylesheets/_framework.scss
|
473
488
|
- app/assets/stylesheets/iqvoc/_bootstrap_overrides.scss
|
474
489
|
- app/assets/stylesheets/iqvoc/_manifest.scss
|
490
|
+
- app/assets/stylesheets/iqvoc/_search_results.scss
|
475
491
|
- app/assets/stylesheets/iqvoc/components/_components.scss
|
476
492
|
- app/assets/stylesheets/iqvoc/components/_datepicker.scss
|
477
493
|
- app/assets/stylesheets/iqvoc/components/_entity_select.scss
|
@@ -708,6 +724,7 @@ files:
|
|
708
724
|
- app/views/partials/note/skos/change_note/_search_result.html.erb
|
709
725
|
- app/views/partials/note/skos/definition/_search_result.html.erb
|
710
726
|
- app/views/rdf/dataset.iqrdf
|
727
|
+
- app/views/search_results/_detailed_search.html.erb
|
711
728
|
- app/views/search_results/_form.html.erb
|
712
729
|
- app/views/search_results/_header.html.erb
|
713
730
|
- app/views/search_results/_result_list.html.erb
|
@@ -721,7 +738,6 @@ files:
|
|
721
738
|
- app/views/search_results/sections/_klass.html.erb
|
722
739
|
- app/views/search_results/sections/_languages.html.erb
|
723
740
|
- app/views/search_results/sections/_mode.html.erb
|
724
|
-
- app/views/search_results/sections/_note.html.erb
|
725
741
|
- app/views/search_results/sections/_options.html.erb
|
726
742
|
- app/views/search_results/sections/_terms.html.erb
|
727
743
|
- app/views/search_results/sections/_type.html.erb
|
@@ -733,13 +749,6 @@ files:
|
|
733
749
|
- app/views/users/edit.html.erb
|
734
750
|
- app/views/users/index.html.erb
|
735
751
|
- app/views/users/new.html.erb
|
736
|
-
- bin/bundle
|
737
|
-
- bin/delayed_job
|
738
|
-
- bin/rails
|
739
|
-
- bin/rake
|
740
|
-
- bin/setup
|
741
|
-
- bin/update
|
742
|
-
- bin/yarn
|
743
752
|
- config/application.rb
|
744
753
|
- config/boot.rb
|
745
754
|
- config/cable.yml
|
@@ -839,6 +848,7 @@ files:
|
|
839
848
|
- db/migrate/20200529053158_extend_users.rb
|
840
849
|
- db/migrate/20200901143030_add_collection_type_index.rb
|
841
850
|
- db/migrate/20220107114201_add_fk_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb
|
851
|
+
- db/migrate/20231012135837_remove_locked_by.rb
|
842
852
|
- db/schema.rb
|
843
853
|
- db/seeds.rb
|
844
854
|
- iqvoc.gemspec
|
@@ -875,6 +885,7 @@ files:
|
|
875
885
|
- test/integration/authentication_test.rb
|
876
886
|
- test/integration/browse_concepts_and_labels_test.rb
|
877
887
|
- test/integration/client_edit_concept_test.rb
|
888
|
+
- test/integration/collection_browsing_test.rb
|
878
889
|
- test/integration/collection_circularity_test.rb
|
879
890
|
- test/integration/concept_browsing_test.rb
|
880
891
|
- test/integration/concept_collection_assignment_test.rb
|
@@ -893,6 +904,7 @@ files:
|
|
893
904
|
- test/integration/tree_test.rb
|
894
905
|
- test/integration/untranslated_test.rb
|
895
906
|
- test/integration/user_management_test.rb
|
907
|
+
- test/integration/version_page_test.rb
|
896
908
|
- test/integration_test_helper.rb
|
897
909
|
- test/models/concept_scheme_test.rb
|
898
910
|
- test/models/concept_test.rb
|
@@ -929,53 +941,55 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
929
941
|
- !ruby/object:Gem::Version
|
930
942
|
version: '0'
|
931
943
|
requirements: []
|
932
|
-
rubygems_version: 3.
|
944
|
+
rubygems_version: 3.4.10
|
933
945
|
signing_key:
|
934
946
|
specification_version: 4
|
935
947
|
summary: iQvoc
|
936
948
|
test_files:
|
937
949
|
- test/authentication.rb
|
938
|
-
- test/
|
950
|
+
- test/controllers/concepts_movement_controller_test.rb
|
951
|
+
- test/controllers/hierarchy_test.rb
|
952
|
+
- test/controllers/rdf_rendering_test.rb
|
953
|
+
- test/controllers/reverse_match_test.rb
|
939
954
|
- test/integration/alphabetical_test.rb
|
940
|
-
- test/integration/
|
941
|
-
- test/integration/reverse_match_job_test.rb
|
942
|
-
- test/integration/concept_collection_assignment_test.rb
|
955
|
+
- test/integration/api_documentation_test.rb
|
943
956
|
- test/integration/authentication_test.rb
|
944
|
-
- test/integration/import_test.rb
|
945
|
-
- test/integration/instance_configuration_browsing_test.rb
|
946
|
-
- test/integration/search_test.rb
|
947
|
-
- test/integration/dashboard_test.rb
|
948
|
-
- test/integration/export_test.rb
|
949
|
-
- test/integration/concept_browsing_test.rb
|
950
|
-
- test/integration/tree_test.rb
|
951
|
-
- test/integration/note_annotations_test.rb
|
952
957
|
- test/integration/browse_concepts_and_labels_test.rb
|
953
958
|
- test/integration/client_edit_concept_test.rb
|
959
|
+
- test/integration/collection_browsing_test.rb
|
960
|
+
- test/integration/collection_circularity_test.rb
|
961
|
+
- test/integration/concept_browsing_test.rb
|
962
|
+
- test/integration/concept_collection_assignment_test.rb
|
954
963
|
- test/integration/concept_scheme_browsing_test.rb
|
955
|
-
- test/integration/api_documentation_test.rb
|
956
|
-
- test/integration/navigation_test.rb
|
957
964
|
- test/integration/create_concept_test.rb
|
958
|
-
- test/integration/
|
965
|
+
- test/integration/dashboard_test.rb
|
966
|
+
- test/integration/edit_collections_test.rb
|
967
|
+
- test/integration/edit_concepts_test.rb
|
968
|
+
- test/integration/export_test.rb
|
969
|
+
- test/integration/import_test.rb
|
970
|
+
- test/integration/instance_configuration_browsing_test.rb
|
971
|
+
- test/integration/navigation_test.rb
|
972
|
+
- test/integration/note_annotations_test.rb
|
973
|
+
- test/integration/reverse_match_job_test.rb
|
974
|
+
- test/integration/search_test.rb
|
975
|
+
- test/integration/tree_test.rb
|
959
976
|
- test/integration/untranslated_test.rb
|
960
|
-
- test/integration/
|
961
|
-
- test/
|
962
|
-
- test/
|
963
|
-
- test/models/
|
964
|
-
- test/models/skos_export_test.rb
|
965
|
-
- test/models/skos_import_test.rb
|
966
|
-
- test/models/instance_configuration_test.rb
|
977
|
+
- test/integration/user_management_test.rb
|
978
|
+
- test/integration/version_page_test.rb
|
979
|
+
- test/integration_test_helper.rb
|
980
|
+
- test/models/concept_scheme_test.rb
|
967
981
|
- test/models/concept_test.rb
|
968
982
|
- test/models/deep_cloning_test.rb
|
969
|
-
- test/models/concept_scheme_test.rb
|
970
|
-
- test/models/origin_test.rb
|
971
|
-
- test/models/skos_collection_import_test.rb
|
972
983
|
- test/models/hygiene_test.rb
|
984
|
+
- test/models/inline_data_test.rb
|
985
|
+
- test/models/instance_configuration_test.rb
|
973
986
|
- test/models/note_test.rb
|
987
|
+
- test/models/origin_test.rb
|
988
|
+
- test/models/rdf_sync_test.rb
|
974
989
|
- test/models/rdfapi_test.rb
|
990
|
+
- test/models/skos_collection_import_test.rb
|
991
|
+
- test/models/skos_export_test.rb
|
992
|
+
- test/models/skos_import_test.rb
|
993
|
+
- test/models/testdata.nt
|
975
994
|
- test/models/zeitwerk_compliance_test.rb
|
976
995
|
- test/test_helper.rb
|
977
|
-
- test/controllers/reverse_match_test.rb
|
978
|
-
- test/controllers/rdf_rendering_test.rb
|
979
|
-
- test/controllers/concepts_movement_controller_test.rb
|
980
|
-
- test/controllers/hierarchy_test.rb
|
981
|
-
- test/integration_test_helper.rb
|
data/bin/bundle
DELETED
data/bin/delayed_job
DELETED
data/bin/rails
DELETED
data/bin/rake
DELETED
data/bin/setup
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require "fileutils"
|
3
|
-
|
4
|
-
# path to your application root.
|
5
|
-
APP_ROOT = File.expand_path('..', __dir__)
|
6
|
-
|
7
|
-
def system!(*args)
|
8
|
-
system(*args) || abort("\n== Command #{args} failed ==")
|
9
|
-
end
|
10
|
-
|
11
|
-
FileUtils.chdir APP_ROOT do
|
12
|
-
# This script is a way to set up or update your development environment automatically.
|
13
|
-
# This script is idempotent, so that you can run it at any time and get an expectable outcome.
|
14
|
-
# Add necessary setup steps to this file.
|
15
|
-
|
16
|
-
puts '== Installing dependencies =='
|
17
|
-
system! 'gem install bundler --conservative'
|
18
|
-
system('bundle check') || system!('bundle install')
|
19
|
-
|
20
|
-
# Install JavaScript dependencies
|
21
|
-
system! 'bin/yarn'
|
22
|
-
|
23
|
-
# puts "\n== Copying sample files =="
|
24
|
-
# unless File.exist?('config/database.yml')
|
25
|
-
# FileUtils.cp 'config/database.yml.sample', 'config/database.yml'
|
26
|
-
# end
|
27
|
-
|
28
|
-
puts "\n== Preparing database =="
|
29
|
-
system! 'bin/rails db:prepare'
|
30
|
-
|
31
|
-
puts "\n== Removing old logs and tempfiles =="
|
32
|
-
system! 'bin/rails log:clear tmp:clear'
|
33
|
-
|
34
|
-
puts "\n== Restarting application server =="
|
35
|
-
system! 'bin/rails restart'
|
36
|
-
end
|
data/bin/update
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
require 'fileutils'
|
3
|
-
include FileUtils
|
4
|
-
|
5
|
-
# path to your application root.
|
6
|
-
APP_ROOT = File.expand_path('..', __dir__)
|
7
|
-
|
8
|
-
def system!(*args)
|
9
|
-
system(*args) || abort("\n== Command #{args} failed ==")
|
10
|
-
end
|
11
|
-
|
12
|
-
chdir APP_ROOT do
|
13
|
-
# This script is a way to update your development environment automatically.
|
14
|
-
# Add necessary update steps to this file.
|
15
|
-
|
16
|
-
puts '== Installing dependencies =='
|
17
|
-
system! 'gem install bundler --conservative'
|
18
|
-
system('bundle check') || system!('bundle install')
|
19
|
-
|
20
|
-
# Install JavaScript dependencies if using Yarn
|
21
|
-
# system('bin/yarn')
|
22
|
-
|
23
|
-
puts "\n== Updating database =="
|
24
|
-
system! 'bin/rails db:migrate'
|
25
|
-
|
26
|
-
puts "\n== Removing old logs and tempfiles =="
|
27
|
-
system! 'bin/rails log:clear tmp:clear'
|
28
|
-
|
29
|
-
puts "\n== Restarting application server =="
|
30
|
-
system! 'bin/rails restart'
|
31
|
-
end
|