iqvoc 4.13.0 → 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/CHANGELOG.md +11 -1
- data/Gemfile +13 -16
- data/Gemfile.lock +415 -326
- data/README.md +7 -6
- data/app/aides/inline_data_helper.rb +3 -3
- data/app/aides/skos_exporter.rb +1 -1
- data/app/assets/javascripts/framework.js +3 -3
- data/app/assets/javascripts/iqvoc/hover_menues.js +14 -0
- data/app/assets/javascripts/iqvoc/iqvoc.js +46 -61
- data/app/assets/javascripts/iqvoc/manifest.js +2 -1
- data/app/assets/javascripts/iqvoc/treeview.js +2 -1
- data/app/assets/stylesheets/iqvoc/_manifest.scss +1 -0
- data/app/assets/stylesheets/iqvoc/_search_results.scss +14 -0
- data/app/assets/stylesheets/iqvoc/components/_entity_select.scss +5 -8
- data/app/assets/stylesheets/iqvoc/components/_simplete.scss +2 -1
- data/app/assets/stylesheets/iqvoc/components/_treeview.scss +1 -0
- data/app/assets/stylesheets/iqvoc/hacks/_hacks.scss +1 -1
- data/app/controllers/collections/versions_controller.rb +13 -48
- data/app/controllers/collections_controller.rb +16 -9
- data/app/controllers/concepts/alphabetical_controller.rb +2 -2
- data/app/controllers/concepts/hierarchical_controller.rb +9 -13
- data/app/controllers/concepts/scheme_controller.rb +2 -1
- data/app/controllers/concepts/versions_controller.rb +14 -49
- data/app/controllers/concepts_controller.rb +28 -18
- data/app/controllers/concepts_movement_controller.rb +1 -1
- data/app/controllers/dashboard_controller.rb +5 -5
- data/app/controllers/hierarchy_controller.rb +1 -1
- data/app/controllers/imports_controller.rb +9 -6
- data/app/controllers/reverse_matches_controller.rb +2 -4
- data/app/controllers/search_results_controller.rb +16 -19
- data/app/controllers/triplestore_sync_controller.rb +2 -2
- data/app/controllers/users_controller.rb +1 -1
- data/app/helpers/application_helper.rb +6 -11
- data/app/helpers/concepts_helper.rb +3 -3
- data/app/helpers/link_helper.rb +10 -6
- data/app/helpers/navigation_helper.rb +24 -13
- 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/abstract_user.rb +1 -1
- data/app/models/collection/base.rb +17 -8
- data/app/models/concept/base.rb +25 -6
- data/app/models/concept/relation/base.rb +1 -1
- data/app/models/concept/relation/reverse_relation_extension.rb +9 -5
- data/app/models/concept/skos/base.rb +0 -10
- data/app/models/concept/validations.rb +6 -4
- data/app/models/concerns/search_extension.rb +0 -17
- data/app/models/concerns/versioning.rb +2 -32
- data/app/models/dataset/adaptors/iqvoc/alphabetical_search_adaptor.rb +2 -2
- data/app/models/dataset/adaptors/iqvoc/http_adaptor.rb +3 -3
- data/app/models/dataset/adaptors/iqvoc/label_adaptor.rb +1 -1
- data/app/models/dataset/adaptors/iqvoc/search_adaptor.rb +3 -3
- data/app/models/export.rb +1 -1
- data/app/models/label/base.rb +5 -5
- data/app/models/labeling/skos/base.rb +14 -10
- data/app/models/note/base.rb +1 -1
- data/app/models/user.rb +2 -0
- data/app/models/user_session.rb +0 -3
- data/app/services/rdf_sync_service.rb +3 -3
- 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/alphabetical/_search_result.html.erb +3 -1
- data/app/views/concepts/hierarchical/_treeview.html.erb +4 -1
- data/app/views/concepts/notifications/_referenced_concepts.html.erb +0 -1
- data/app/views/concepts/scheme/show.html.erb +1 -3
- 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/errors/server_error.html.erb +1 -2
- data/app/views/pages/version.html.erb +1 -1
- data/app/views/partials/collection/_member.html.erb +1 -1
- data/app/views/partials/concept/_edit_link_base.html.erb +2 -2
- data/app/views/partials/concept/relation/_base.html.erb +4 -4
- data/app/views/partials/concept/relation/_edit_base.html.erb +13 -10
- data/app/views/partials/concept/relation/skos/_narrower.html.erb +1 -1
- data/app/views/partials/concept/relation/skos/broader/_mono.html.erb +2 -2
- data/app/views/partials/concept/relation/skos/broader/_poly.html.erb +2 -2
- data/app/views/partials/labeling/skos/_base.html.erb +1 -1
- data/app/views/partials/labeling/skos/_edit_base.html.erb +2 -1
- data/app/views/partials/labeling/skos/_search_result.html.erb +3 -0
- data/app/views/partials/match/_panel.html.erb +2 -2
- data/app/views/partials/notation/_base.html.erb +1 -1
- 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 +8 -0
- 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 +15 -10
- data/config/boot.rb +3 -3
- data/config/cable.yml +1 -1
- data/config/database.yml +17 -16
- data/config/database.yml.postgresql +1 -1
- data/config/engine.rb +1 -1
- data/config/environment.rb +1 -1
- data/config/initializers/active_record.rb +2 -0
- data/config/initializers/backtrace_silencers.rb +4 -3
- data/config/initializers/content_security_policy.rb +21 -21
- data/config/initializers/filter_parameter_logging.rb +6 -2
- data/config/initializers/inflections.rb +4 -4
- data/config/initializers/iqvoc.rb +1 -0
- data/config/initializers/permissions_policy.rb +11 -0
- data/config/initializers/wrap_parameters.rb +3 -3
- data/config/initializers/zeitwerk.rb +6 -0
- data/config/locales/activerecord.de.yml +2 -2
- data/config/locales/de.yml +18 -19
- data/config/locales/en.yml +16 -17
- data/config/locales/pt.yml +0 -7
- data/config/puma.rb +10 -4
- data/config/routes.rb +0 -4
- data/db/migrate/20220107114201_add_fk_constraint_to_active_storage_attachments_for_blob_id.active_storage.rb +10 -0
- data/db/migrate/20231012135837_remove_locked_by.rb +6 -0
- data/db/schema.rb +36 -39
- data/iqvoc.gemspec +14 -13
- data/lib/iqvoc/configuration/concept.rb +2 -0
- data/lib/iqvoc/configuration/core.rb +13 -2
- data/lib/iqvoc/configuration/instance_configuration.rb +3 -3
- data/lib/iqvoc/environments/development.rb +23 -9
- data/lib/iqvoc/environments/production.rb +21 -19
- data/lib/iqvoc/environments/test.rb +15 -8
- data/lib/iqvoc/version.rb +1 -1
- data/lib/tasks/sync.rake +1 -1
- data/test/authentication.rb +1 -1
- data/test/controllers/concepts_movement_controller_test.rb +0 -2
- data/test/controllers/hierarchy_test.rb +4 -4
- data/test/controllers/reverse_match_test.rb +1 -1
- data/test/integration/client_edit_concept_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 +7 -7
- 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 +12 -12
- data/test/integration/version_page_test.rb +26 -0
- data/test/integration_test_helper.rb +2 -2
- data/test/models/concept_test.rb +37 -0
- data/test/models/deep_cloning_test.rb +9 -7
- data/test/models/rdf_sync_test.rb +3 -3
- data/test/models/zeitwerk_compliance_test.rb +7 -0
- data/test/test_helper.rb +3 -0
- metadata +69 -222
- data/app/views/search_results/sections/_note.html.erb +0 -6
- data/config/initializers/new_framework_defaults_5_1.rb +0 -14
- data/config/initializers/sqlite3_booleans.rb +0 -1
- data/public/422.html +0 -58
- data/public/assets/fonts/FiraMono-Regular-0b6138c5b386dc9125473fd851926f29.ttf +0 -0
- data/public/assets/fonts/FiraMono-Regular-690950e8d89c92cba41eeeb13f1de93e.woff +0 -0
- data/public/assets/fonts/FiraMono-Regular-98f97ed2dbf9d94d4fa5df048434b88d.eot +0 -0
- data/public/assets/fonts/FiraMono-Regular.eot +0 -0
- data/public/assets/fonts/FiraMono-Regular.ttf +0 -0
- data/public/assets/fonts/FiraMono-Regular.woff +0 -0
- data/public/assets/fonts/FiraSans-Bold-0de5f536bd0dc370449c0c67a49a6fe7.eot +0 -0
- data/public/assets/fonts/FiraSans-Bold-25037ef8d155e38b5df0c242a4c6cf2d.ttf +0 -0
- data/public/assets/fonts/FiraSans-Bold-494219a9639084eb9528ff47f79fcda1.woff +0 -0
- data/public/assets/fonts/FiraSans-Bold.eot +0 -0
- data/public/assets/fonts/FiraSans-Bold.ttf +0 -0
- data/public/assets/fonts/FiraSans-Bold.woff +0 -0
- data/public/assets/fonts/FiraSans-BoldItalic-5b3b812df9e1cb2b1f34baad65a2bdfb.ttf +0 -0
- data/public/assets/fonts/FiraSans-BoldItalic-90b8087c48feff2e828f658c49de5399.eot +0 -0
- data/public/assets/fonts/FiraSans-BoldItalic-b10e46158d50bf9b78968112acf87310.woff +0 -0
- data/public/assets/fonts/FiraSans-BoldItalic.eot +0 -0
- data/public/assets/fonts/FiraSans-BoldItalic.ttf +0 -0
- data/public/assets/fonts/FiraSans-BoldItalic.woff +0 -0
- data/public/assets/fonts/FiraSans-Book-659d252627051e785260ba445da8930f.woff +0 -0
- data/public/assets/fonts/FiraSans-Book-abc65ceb7bfaed729bff7a9d1367b7d4.eot +0 -0
- data/public/assets/fonts/FiraSans-Book-f0410501d5ecc5fe66bcdbc02b482c81.ttf +0 -0
- data/public/assets/fonts/FiraSans-Book.eot +0 -0
- data/public/assets/fonts/FiraSans-Book.ttf +0 -0
- data/public/assets/fonts/FiraSans-Book.woff +0 -0
- data/public/assets/fonts/FiraSans-ExtraLight-140f15ee97cb2099ff01c2b57dcd1a24.woff +0 -0
- data/public/assets/fonts/FiraSans-ExtraLight-28e5c2679df66406ebd117fbdded6753.eot +0 -0
- data/public/assets/fonts/FiraSans-ExtraLight-c15de70ebceffce178cbd2e82aa2c373.ttf +0 -0
- data/public/assets/fonts/FiraSans-ExtraLight.eot +0 -0
- data/public/assets/fonts/FiraSans-ExtraLight.ttf +0 -0
- data/public/assets/fonts/FiraSans-ExtraLight.woff +0 -0
- data/public/assets/fonts/FiraSans-Italic-ac4cb18fe14a7c90f29cdd2ce499ba59.woff +0 -0
- data/public/assets/fonts/FiraSans-Italic-bdea00fee0da5ca9176061e00c26a0da.eot +0 -0
- data/public/assets/fonts/FiraSans-Italic-e7e76a0ee170fd29b5d8100753eff569.ttf +0 -0
- data/public/assets/fonts/FiraSans-Italic.eot +0 -0
- data/public/assets/fonts/FiraSans-Italic.ttf +0 -0
- data/public/assets/fonts/FiraSans-Italic.woff +0 -0
- data/public/assets/fonts/FiraSans-Light-20adaf630b690c3e3184daaeae585f22.woff +0 -0
- data/public/assets/fonts/FiraSans-Light-3689e18b38d335ec0c43823adb6a2984.eot +0 -0
- data/public/assets/fonts/FiraSans-Light-55b04531e7a9ecdf58090d70b94b68e2.ttf +0 -0
- data/public/assets/fonts/FiraSans-Light-SC-098407a72b7ad46f7c2480d7ac11baf2.eot +0 -0
- data/public/assets/fonts/FiraSans-Light-SC-82763fe2ce9e6b897556c6f3c2aceb29.woff2 +0 -0
- data/public/assets/fonts/FiraSans-Light-SC-c73985985f0501c1845a5185b180fe6b.woff +0 -0
- data/public/assets/fonts/FiraSans-Light-SC-c9563f48d9cccd91f07e46801c27130f.ttf +0 -0
- data/public/assets/fonts/FiraSans-Light-SC.eot +0 -0
- data/public/assets/fonts/FiraSans-Light-SC.ttf +0 -0
- data/public/assets/fonts/FiraSans-Light-SC.woff +0 -0
- data/public/assets/fonts/FiraSans-Light-SC.woff2 +0 -0
- data/public/assets/fonts/FiraSans-Light.eot +0 -0
- data/public/assets/fonts/FiraSans-Light.ttf +0 -0
- data/public/assets/fonts/FiraSans-Light.woff +0 -0
- data/public/assets/fonts/FiraSans-Medium-082fab59048189168006bf2e914ba8b7.woff +0 -0
- data/public/assets/fonts/FiraSans-Medium-11706edfe8651c355b413bd24b4b5e10.eot +0 -0
- data/public/assets/fonts/FiraSans-Medium-3a0dacdeaba1b4c054f2d6cb5061965d.ttf +0 -0
- data/public/assets/fonts/FiraSans-Medium.eot +0 -0
- data/public/assets/fonts/FiraSans-Medium.ttf +0 -0
- data/public/assets/fonts/FiraSans-Medium.woff +0 -0
- data/public/assets/fonts/FiraSans-MediumItalic-6c8a2646d72641226527d574a8485b66.woff +0 -0
- data/public/assets/fonts/FiraSans-MediumItalic-b81e92794a6878b6c578d97b3ad5e6d7.ttf +0 -0
- data/public/assets/fonts/FiraSans-MediumItalic-eae7f4a3c4db9fe83025909ebfae5ad9.eot +0 -0
- data/public/assets/fonts/FiraSans-MediumItalic.eot +0 -0
- data/public/assets/fonts/FiraSans-MediumItalic.ttf +0 -0
- data/public/assets/fonts/FiraSans-MediumItalic.woff +0 -0
- data/public/assets/fonts/FiraSans-Regular-537188a19aeebdd74a92e114af7a02cb.ttf +0 -0
- data/public/assets/fonts/FiraSans-Regular-5d6a923de9be80ff5c2995cc03d93127.woff +0 -0
- data/public/assets/fonts/FiraSans-Regular-db689e5fea21ed4b7890811151968dc6.eot +0 -0
- data/public/assets/fonts/FiraSans-Regular.eot +0 -0
- data/public/assets/fonts/FiraSans-Regular.ttf +0 -0
- data/public/assets/fonts/FiraSans-Regular.woff +0 -0
- data/public/assets/fonts/FiraSans-UltraLight-3baefce4c224a0f0b26cdafe37dfa55d.eot +0 -0
- data/public/assets/fonts/FiraSans-UltraLight-e3909a352b87f853bb464836adfd602a.ttf +0 -0
- data/public/assets/fonts/FiraSans-UltraLight-f7289beeaa2353caf487553ee8b8ef03.woff +0 -0
- data/public/assets/fonts/FiraSans-UltraLight.eot +0 -0
- data/public/assets/fonts/FiraSans-UltraLight.ttf +0 -0
- data/public/assets/fonts/FiraSans-UltraLight.woff +0 -0
- data/public/assets/fonts/FontAwesome.otf +0 -0
- data/public/assets/fonts/fontawesome-webfont.eot +0 -0
- data/public/assets/fonts/fontawesome-webfont.svg +0 -2671
- data/public/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/public/assets/fonts/fontawesome-webfont.woff +0 -0
- data/public/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/public/assets/images/ajax-loader-30d8e72bfdae694b1938658e1b087df0.gif +0 -0
- data/public/assets/images/ajax-loader.gif +0 -0
- data/public/assets/images/iqvoc_logo-165f17a46cf0a1bf9464db9d136fb843.svg +0 -41
- data/public/assets/images/iqvoc_logo.svg +0 -41
- data/public/assets/images/treeview-default-line-5e3c0e0c48f48c23c45aef7b72c739c0.gif +0 -0
- data/public/assets/images/treeview-default-line.gif +0 -0
- data/public/assets/javascripts/bootstrap.bundle.min-68b3c2f1c1f636f947fff1229d3ffbf5.js +0 -7
- data/public/assets/javascripts/bootstrap.bundle.min.js +0 -42
- data/public/assets/javascripts/jquery-17e41799d7fba03a313ca6b67d8a0954.js +0 -26
- data/public/assets/javascripts/jquery-d52dc3a9171f1fc89dd0f8e35e42c9d2.js +0 -26
- data/public/assets/javascripts/jquery.js +0 -10875
- data/public/assets/javascripts/manifest-7708201f7c24d5186cd075c3317f9b70.js +0 -7311
- data/public/assets/javascripts/manifest-89894d9f630fa57378a0c28e2a3d9ea9.js +0 -7325
- data/public/assets/javascripts/manifest.js +0 -5660
- data/public/assets/manifest.json +0 -1
- data/public/assets/stylesheets/manifest-893c7de3dee9ed1295bc1b5b4c1f0c34.css +0 -13
- data/public/assets/stylesheets/manifest-94b7be92a9b1cfeafea4ea71af910324.css +0 -13
- data/public/assets/stylesheets/manifest-e576edf92efaaad86b15b565fa473d0b.css +0 -7
- data/public/assets/stylesheets/manifest.css +0 -14314
- data/public/export/12750.nt +0 -28
- data/public/export/17385303752427181100115432751692126521.nt +0 -28
- data/public/export/181196830007276319343907883650755121680.nt +0 -28
- data/public/export/194669028845730209313058462140064732442.nt +0 -28
- data/public/export/21988.nt +0 -28
- data/public/export/230655012044692637365356891394989635995.nt +0 -28
- data/public/export/233590502327750705645106563554497694497.nt +0 -28
- data/public/export/245884359537367641918690456207690070316.nt +0 -28
- data/public/export/250386066048669747259363837063223215204.nt +0 -28
- data/public/export/256041066575224861739818511470898486442.nt +0 -28
- data/public/export/287138383024694264939471429022965897163.nt +0 -28
- data/public/export/31892.nt +0 -28
- data/public/export/333774437366008328346740356666975078086.nt +0 -28
- data/public/export/34639390376251419382098415225771775708.nt +0 -28
- data/public/export/4098.nt +0 -28
- data/public/export/47070.nt +0 -28
- data/public/export/49947.nt +0 -28
- data/public/export/5793.nt +0 -28
- data/public/export/64089124325772410079516909502763866955.nt +0 -28
- data/public/export/64718.nt +0 -28
- data/public/export/71200590939430584664474292378126383577.nt +0 -28
- data/public/export/81965533953024918329855744567916239964.nt +0 -28
- data/public/favicon.ico +0 -0
- data/public/robots.txt +0 -5
- data/public/uploads/import/213b73161661ebbad4e5ee3f543ae617.nt +0 -259
- data/public/uploads/import/22ad4d7419b7914c7319c46a66839f77.nt +0 -259
- data/public/uploads/import/22b78e01b9b5876851578cf9a8373c07.nt +0 -259
- data/public/uploads/import/2ab75781f8141010699dd272f681b245.nt +0 -259
- data/public/uploads/import/4c7fe47a2c21a681fd8f0eb3af0ebf19.nt +0 -259
- data/public/uploads/import/5265d7cb194f017c592a68914ecf8d9f.nt +0 -259
- data/public/uploads/import/5cb5414a66e4ae5dbe05eb763c367bd1.nt +0 -259
- data/public/uploads/import/6b042e00c2e2abf9241d2ece3e67ed27.nt +0 -259
- data/public/uploads/import/749edd3918db157202b00f89418b87d1.nt +0 -259
- data/public/uploads/import/7aeb9d76b78ba67674caa53a96e1caa0.nt +0 -259
- data/public/uploads/import/7b7fc425b8926e586ca10d0f1385aa4e.nt +0 -259
- data/public/uploads/import/8319d34702375718b20e72a6af71c503.nt +0 -259
- data/public/uploads/import/9ec48f5aaece8d2a8770439e34199b19.nt +0 -259
- data/public/uploads/import/a22750632c35587057285920142c2db8.nt +0 -259
- data/public/uploads/import/a6d9eeb5e76ce0032614c8142a33c90b.nt +0 -259
- data/public/uploads/import/a7ec826e32e80d1fc61f5e89f7442199.nt +0 -259
- data/public/uploads/import/af2ac8cb84a194da9871ea701f915a25.nt +0 -259
- data/public/uploads/import/b50c67ef8cb51fa12812ac2601faaa75.nt +0 -259
- data/public/uploads/import/b66560ac9cc4aecd50f82d4fcec8bde4.nt +0 -259
- data/public/uploads/import/c1a12245a41d9105585fb48a0b5244ab.nt +0 -259
- data/public/uploads/import/c4b23750b9f72a7f93bcd979a9afded3.nt +0 -259
- data/public/uploads/import/d1edac76626a35a6e72a592c98e97b1a.nt +0 -259
- data/public/uploads/import/eca92dbeff4aec30e3072103bb5f565f.nt +0 -259
- data/public/uploads/import/f7996f8826062cd8dcfc8fac70e830b9.nt +0 -259
- data/public/uploads/tmp/1609926599-187261935008931-0002-5418/hobbies.nt +0 -259
- data/public/uploads/tmp/1610450700-516890595554445-0002-2685/hobbies.nt +0 -259
- data/public/uploads/tmp/1610450844-597126333235543-0001-0714/hobbies.nt +0 -259
- data/public/uploads/tmp/1611054155-443031323634581-0001-9192/hobbies.nt +0 -259
- data/public/uploads/tmp/1611225485-767301590714814-0002-6904/hobbies.nt +0 -259
- data/public/uploads/tmp/1611225661-919900076415463-0002-0657/hobbies.nt +0 -259
- data/public/uploads/tmp/1611227389-36557097935032-0002-4613/hobbies.nt +0 -259
- data/public/uploads/tmp/1611585376-822293462114758-0001-9752/hobbies.nt +0 -259
- data/public/uploads/tmp/1611585431-703460698560673-0002-7522/hobbies.nt +0 -259
- data/public/uploads/tmp/1611586554-483369300394995-0002-0872/hobbies.nt +0 -259
- data/public/uploads/tmp/1619777137-609890333749067-0002-0264/hobbies.nt +0 -259
- data/public/uploads/tmp/1627291050-163284787457980-0001-2701/hobbies.nt +0 -259
- data/public/uploads/tmp/1627291589-952446089963663-0002-3171/hobbies.nt +0 -259
- data/public/uploads/tmp/1627291819-788250283200541-0002-2503/hobbies.nt +0 -259
- data/public/uploads/tmp/1627292534-103362378955855-0001-7089/hobbies.nt +0 -259
- data/public/uploads/tmp/1627293799-506613299368066-0002-1247/hobbies.nt +0 -259
- data/public/uploads/tmp/1627293863-868842521367397-0001-4656/hobbies.nt +0 -259
- data/public/uploads/tmp/1636993960-338364327912413-0002-8049/hobbies.nt +0 -259
- data/public/uploads/tmp/1641550181-434480636271400-0002-7928/hobbies.nt +0 -259
- data/public/uploads/tmp/1641550416-6444469569098-0002-2156/hobbies.nt +0 -259
- data/public/uploads/tmp/1641550691-848542458162760-0002-6815/hobbies.nt +0 -259
- data/public/uploads/tmp/1641550716-647719127292471-0002-9954/hobbies.nt +0 -259
- data/public/uploads/tmp/1641551058-78248622355227-0002-3663/hobbies.nt +0 -259
- data/public/uploads/tmp/1641551220-744894908610606-0001-3879/hobbies.nt +0 -259
data/config/database.yml
CHANGED
@@ -1,25 +1,26 @@
|
|
1
1
|
development:
|
2
2
|
adapter: postgresql
|
3
|
-
host:
|
4
|
-
encoding:
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
host: localhost
|
4
|
+
encoding: unicode
|
5
|
+
database: <%= ENV["POSTGRES_DB"] || 'iqvoc_development' %>
|
6
|
+
pool: 5
|
7
|
+
username: <%= ENV["POSTGRES_USER"] || 'postgres' %>
|
8
|
+
password: <%= ENV["POSTGRES_PASSWORD"] || 'postgres' %>
|
8
9
|
|
9
10
|
test:
|
10
11
|
adapter: postgresql
|
11
|
-
|
12
|
-
|
13
|
-
database: iqvoc_test
|
12
|
+
host: localhost
|
13
|
+
encoding: unicode
|
14
|
+
database: <%= ENV["POSTGRES_DB"] || 'iqvoc_test' %>
|
14
15
|
pool: 5
|
15
|
-
username:
|
16
|
-
password:
|
17
|
-
host: 127.0.0.1
|
16
|
+
username: <%= ENV["POSTGRES_USER"] || 'postgres' %>
|
17
|
+
password: <%= ENV["POSTGRES_PASSWORD"] || 'postgres' %>
|
18
18
|
|
19
19
|
production:
|
20
20
|
adapter: postgresql
|
21
|
-
host:
|
22
|
-
encoding:
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
host: <%= ENV["POSTGRES_HOST"] || 'localhost' %>
|
22
|
+
encoding: unicode
|
23
|
+
database: <%= ENV["POSTGRES_DB"] || 'iqvoc_production' %>
|
24
|
+
pool: 5
|
25
|
+
username: <%= ENV["POSTGRES_USER"] || 'postgres' %>
|
26
|
+
password: <%= ENV["POSTGRES_PASSWORD"] || 'postgres' %>
|
data/config/engine.rb
CHANGED
@@ -11,11 +11,11 @@ require 'deep_cloneable'
|
|
11
11
|
require 'json'
|
12
12
|
require 'rails_autolink'
|
13
13
|
require 'bootstrap_form'
|
14
|
-
require 'uglifier'
|
15
14
|
require 'apipie-rails'
|
16
15
|
require 'database_cleaner'
|
17
16
|
require 'delayed_job_active_record'
|
18
17
|
require 'carrierwave'
|
18
|
+
require 'carrierwave-i18n'
|
19
19
|
require 'faraday'
|
20
20
|
require 'faraday_middleware'
|
21
21
|
require 'rack-mini-profiler'
|
data/config/environment.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
3
|
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
4
|
-
# Rails.backtrace_cleaner.add_silencer { |line|
|
4
|
+
# Rails.backtrace_cleaner.add_silencer { |line| /my_noisy_library/.match?(line) }
|
5
5
|
|
6
|
-
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code
|
7
|
-
#
|
6
|
+
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code
|
7
|
+
# by setting BACKTRACE=1 before calling your invocation, like "BACKTRACE=1 ./bin/rails runner 'MyClass.perform'".
|
8
|
+
Rails.backtrace_cleaner.remove_silencers! if ENV["BACKTRACE"]
|
@@ -1,25 +1,25 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
# Define an application-wide content security policy
|
4
|
-
#
|
5
|
-
# https://
|
3
|
+
# Define an application-wide content security policy.
|
4
|
+
# See the Securing Rails Applications Guide for more information:
|
5
|
+
# https://guides.rubyonrails.org/security.html#content-security-policy-header
|
6
6
|
|
7
|
-
# Rails.application.
|
8
|
-
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
|
15
|
-
#
|
16
|
-
#
|
7
|
+
# Rails.application.configure do
|
8
|
+
# config.content_security_policy do |policy|
|
9
|
+
# policy.default_src :self, :https
|
10
|
+
# policy.font_src :self, :https, :data
|
11
|
+
# policy.img_src :self, :https, :data
|
12
|
+
# policy.object_src :none
|
13
|
+
# policy.script_src :self, :https
|
14
|
+
# policy.style_src :self, :https
|
15
|
+
# # Specify URI for violation reports
|
16
|
+
# # policy.report_uri "/csp-violation-report-endpoint"
|
17
|
+
# end
|
18
|
+
#
|
19
|
+
# # Generate session nonces for permitted importmap and inline scripts
|
20
|
+
# config.content_security_policy_nonce_generator = ->(request) { request.session.id.to_s }
|
21
|
+
# config.content_security_policy_nonce_directives = %w(script-src)
|
22
|
+
#
|
23
|
+
# # Report violations without enforcing the policy.
|
24
|
+
# # config.content_security_policy_report_only = true
|
17
25
|
# end
|
18
|
-
|
19
|
-
# If you are using UJS then enable automatic nonce generation
|
20
|
-
# Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) }
|
21
|
-
|
22
|
-
# Report CSP violations to a specified URI
|
23
|
-
# For further information see the following documentation:
|
24
|
-
# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
|
25
|
-
# Rails.application.config.content_security_policy_report_only = true
|
@@ -1,4 +1,8 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
|
-
# Configure
|
4
|
-
|
3
|
+
# Configure parameters to be filtered from the log file. Use this to limit dissemination of
|
4
|
+
# sensitive information. See the ActiveSupport::ParameterFilter documentation for supported
|
5
|
+
# notations and behaviors.
|
6
|
+
Rails.application.config.filter_parameters += [
|
7
|
+
:passw, :secret, :token, :_key, :crypt, :salt, :certificate, :otp, :ssn
|
8
|
+
]
|
@@ -4,13 +4,13 @@
|
|
4
4
|
# are locale specific, and you may define rules for as many different
|
5
5
|
# locales as you wish. All of these examples are active by default:
|
6
6
|
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
7
|
-
# inflect.plural /^(ox)$/i,
|
8
|
-
# inflect.singular /^(ox)en/i,
|
9
|
-
# inflect.irregular
|
7
|
+
# inflect.plural /^(ox)$/i, "\\1en"
|
8
|
+
# inflect.singular /^(ox)en/i, "\\1"
|
9
|
+
# inflect.irregular "person", "people"
|
10
10
|
# inflect.uncountable %w( fish sheep )
|
11
11
|
# end
|
12
12
|
|
13
13
|
# These inflection rules are supported but not enabled by default:
|
14
14
|
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
15
|
-
# inflect.acronym
|
15
|
+
# inflect.acronym "RESTful"
|
16
16
|
# end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# Define an application-wide HTTP permissions policy. For further
|
2
|
+
# information see https://developers.google.com/web/updates/2018/06/feature-policy
|
3
|
+
#
|
4
|
+
# Rails.application.config.permissions_policy do |f|
|
5
|
+
# f.camera :none
|
6
|
+
# f.gyroscope :none
|
7
|
+
# f.microphone :none
|
8
|
+
# f.usb :none
|
9
|
+
# f.fullscreen :self
|
10
|
+
# f.payment :self, "https://secure.example.com"
|
11
|
+
# end
|
@@ -4,9 +4,9 @@
|
|
4
4
|
# is enabled by default.
|
5
5
|
|
6
6
|
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
ActiveSupport.on_load(:action_controller) do
|
8
|
+
wrap_parameters format: [:json]
|
9
|
+
end
|
10
10
|
|
11
11
|
# To enable root element in JSON for ActiveRecord objects.
|
12
12
|
# ActiveSupport.on_load(:active_record) do
|
data/config/locales/de.yml
CHANGED
@@ -75,7 +75,6 @@ de:
|
|
75
75
|
of: von
|
76
76
|
ops: Ups!
|
77
77
|
pending: "Lade…"
|
78
|
-
translation_missing_for: "keine Übersetzung für"
|
79
78
|
type_to_search: "Tippen um zu suchen"
|
80
79
|
hint_csv_input: "Mehrere Werte können kommagetrennt eingeben werden."
|
81
80
|
form_errors: "Fehler"
|
@@ -113,6 +112,7 @@ de:
|
|
113
112
|
sources: Föderation
|
114
113
|
settings:
|
115
114
|
title: Titel
|
115
|
+
concept_modal_preview: Konzept Kurzansicht aktivieren
|
116
116
|
available_languages: verfügbare Sprachen
|
117
117
|
languages_pref_labeling: Sprachen für bevorzugte Labels
|
118
118
|
languages_notes: Sprachen für Notes
|
@@ -124,6 +124,7 @@ de:
|
|
124
124
|
triplestore_password: Passwort für Triplestore
|
125
125
|
triplestore_autosync: automatische Synchronisation mit Triplestore
|
126
126
|
sources_iqvoc: Quellen (iQvoc)
|
127
|
+
sources_create_reverse_matches: Links zu anderen Vokabularen automatisch erstellen
|
127
128
|
alphabetical_concepts:
|
128
129
|
untranslated_concepts:
|
129
130
|
caption: "Fehlende Übersetzungen"
|
@@ -209,12 +210,12 @@ de:
|
|
209
210
|
search_results:
|
210
211
|
header: "Suche"
|
211
212
|
inflectionals: "Schreibweisen"
|
212
|
-
contains: "
|
213
|
-
ends_with: "
|
214
|
-
begins_with: "
|
215
|
-
exact: "
|
213
|
+
contains: "enthalten Suchbegriff"
|
214
|
+
ends_with: "enden mit Suchbegriff"
|
215
|
+
begins_with: "starten mit Suchbegriff"
|
216
|
+
exact: "stimmen exakt mit Suchbegriff überein"
|
216
217
|
regexp: "regulärer Ausdruck (fortgeschritten)"
|
217
|
-
search_term: "Suchbegriff
|
218
|
+
search_term: "Suchbegriff"
|
218
219
|
note: mit Anmerkung
|
219
220
|
search_term_in_results: "Suchbegriff"
|
220
221
|
no_results: "Keine Ergebnisse"
|
@@ -225,22 +226,26 @@ de:
|
|
225
226
|
one: "Ihre Suche nach <strong>%{query}</strong> lieferte %{count} Ergebnis."
|
226
227
|
other: "Ihre Suche nach <strong>%{query}</strong> lieferte %{count} Ergebnisse."
|
227
228
|
no_results_found: "Ihre Suche lieferte keine Ergebnisse."
|
228
|
-
submit: "
|
229
|
+
submit: "Suchen"
|
230
|
+
detailed_search: "Detailsuche"
|
229
231
|
type: "Typ"
|
230
232
|
used_as: "benutzt als"
|
233
|
+
expired: "stillgelegte einbeziehen?"
|
231
234
|
language: "Sprache"
|
232
235
|
all: "alle"
|
233
236
|
none: "keine"
|
234
|
-
|
235
|
-
|
237
|
+
in: "Suche umfasst"
|
238
|
+
for: "Suchen in"
|
239
|
+
mode: "Suchtreffer"
|
236
240
|
datasets: "Externe Quellen"
|
237
241
|
change_note:
|
242
|
+
all: "Erstellungs- oder Änderungsdatum"
|
238
243
|
type: "Typ"
|
239
244
|
created: 'Erstellungsdatum'
|
240
245
|
modified: 'Änderungsdatum'
|
241
246
|
date: "Datumsbereich"
|
242
|
-
date_from: '
|
243
|
-
date_to: '
|
247
|
+
date_from: 'Von'
|
248
|
+
date_to: 'Bis'
|
244
249
|
user_sessions:
|
245
250
|
header: "Anmelden"
|
246
251
|
login: "Anmelden"
|
@@ -279,14 +284,13 @@ de:
|
|
279
284
|
server_error:
|
280
285
|
message: Entschuldigung da ist bei uns etwas schief gegangen.
|
281
286
|
versioning:
|
282
|
-
edit_mode: "
|
287
|
+
edit_mode: "Bearbeiten"
|
283
288
|
to_edit_mode: "In Bearbeitung versetzen"
|
284
289
|
publishing: "Veröffentlichen"
|
285
290
|
delete: "Löschen"
|
286
291
|
delete_copy: "Kopie löschen"
|
287
292
|
delete_confirm: "Kopie wirklich löschen?"
|
288
293
|
versioning_mode: "Neue Version erstellen"
|
289
|
-
unlock: "Entsperren"
|
290
294
|
preview_new_version: "Vorschau der Version in Bearbeitung"
|
291
295
|
consistency_check: "Konsistenz prüfen"
|
292
296
|
current_revision: "Aktuelle Revision %{rev}"
|
@@ -304,7 +308,6 @@ de:
|
|
304
308
|
dashboard:
|
305
309
|
type: "Typ"
|
306
310
|
value: "Name"
|
307
|
-
locking_user: "Gesperrt"
|
308
311
|
follow_up: "Wiedervorlage"
|
309
312
|
updated_at: "Geändert am"
|
310
313
|
to_review: "Vorlage zur Freigabe"
|
@@ -374,11 +377,7 @@ de:
|
|
374
377
|
published_with_warning: "Instanz wurde erfolgreich veröffentlicht, hat aber keine Relationen zu anderen Instanzen."
|
375
378
|
merged_delete_error: "Das alte Label konnte nicht gelöscht werden."
|
376
379
|
merged_publishing_error: "Instanz konnte nicht veröffentlicht werden - bitte führen Sie eine Konsistenzprüfung durch."
|
377
|
-
branched: "Instanzkopie wurde erfolgreich angelegt
|
378
|
-
locked: "Instanz wurde für andere User gesperrt."
|
379
|
-
lock_error: "Instanz ist bereits gesperrt."
|
380
|
-
unlocked: "Instanz wurde für andere User entsperrt."
|
381
|
-
unlock_error: "Instanz ist bereits entsperrt."
|
380
|
+
branched: "Instanzkopie wurde erfolgreich angelegt."
|
382
381
|
new_version_blank_error: "Es existiert noch keine neue Version."
|
383
382
|
delete: "Instanz löschen."
|
384
383
|
consistency_check_success: "Instanz ist konsistent."
|
data/config/locales/en.yml
CHANGED
@@ -75,7 +75,6 @@ en:
|
|
75
75
|
of: of
|
76
76
|
ops: Oops!
|
77
77
|
pending: "Loading…"
|
78
|
-
translation_missing_for: "translation missing for"
|
79
78
|
type_to_search: "Type to search"
|
80
79
|
hint_csv_input: "Multiple values can be entered comma-separated."
|
81
80
|
form_errors: "Errors"
|
@@ -113,6 +112,7 @@ en:
|
|
113
112
|
sources: Federation
|
114
113
|
settings:
|
115
114
|
title: Site title
|
115
|
+
concept_modal_preview: Enable concept modal preview
|
116
116
|
available_languages: available languages
|
117
117
|
languages_pref_labeling: Languages for preferred labels
|
118
118
|
languages_notes: Languages for notes
|
@@ -124,6 +124,7 @@ en:
|
|
124
124
|
triplestore_password: Password for triplestore
|
125
125
|
triplestore_autosync: Automatic triplestore synchronization
|
126
126
|
sources_iqvoc: Sources (iQvoc)
|
127
|
+
sources_create_reverse_matches: Create reverse matches for concept mappings
|
127
128
|
alphabetical_concepts:
|
128
129
|
untranslated_concepts:
|
129
130
|
caption: "Missing Translations"
|
@@ -217,10 +218,10 @@ en:
|
|
217
218
|
search_results:
|
218
219
|
header: "Search"
|
219
220
|
inflectionals: "inflectionals"
|
220
|
-
contains: "
|
221
|
-
ends_with: "
|
222
|
-
begins_with: "
|
223
|
-
exact: "
|
221
|
+
contains: "contain keyword"
|
222
|
+
ends_with: "end with keyword"
|
223
|
+
begins_with: "start with keyword"
|
224
|
+
exact: "exactly match"
|
224
225
|
regexp: "regular expression (advanced)"
|
225
226
|
search_term: "Search term(s)"
|
226
227
|
note: with note
|
@@ -234,21 +235,25 @@ en:
|
|
234
235
|
other: "Your search for <strong>%{query}</strong> yielded the following %{count} results."
|
235
236
|
no_results_found: "Your search yielded no results."
|
236
237
|
submit: "Search"
|
238
|
+
detailed_search: "Detailed search"
|
237
239
|
type: "type"
|
238
240
|
used_as: "used as"
|
239
|
-
|
241
|
+
expired: "include expired?"
|
242
|
+
language: "Language"
|
240
243
|
all: "all"
|
241
244
|
none: "none"
|
242
|
-
|
243
|
-
|
245
|
+
in: "Search contains"
|
246
|
+
for: "Search in"
|
247
|
+
mode: "Search results"
|
244
248
|
datasets: "External sources"
|
245
249
|
change_note:
|
250
|
+
all: "Creation or update date"
|
246
251
|
type: "type"
|
247
252
|
created: "creation date"
|
248
253
|
modified: "modification date"
|
249
254
|
date: "Date range"
|
250
|
-
date_from: '
|
251
|
-
date_to: '
|
255
|
+
date_from: 'From'
|
256
|
+
date_to: 'To'
|
252
257
|
user_sessions:
|
253
258
|
header: "Login"
|
254
259
|
login: "Login"
|
@@ -297,7 +302,6 @@ en:
|
|
297
302
|
delete_copy: "Delete copy"
|
298
303
|
delete_confirm: "Do you really want to delete this copy?"
|
299
304
|
versioning_mode: "Create new version"
|
300
|
-
unlock: "Unlock"
|
301
305
|
preview_new_version: "Preview of the version in editing"
|
302
306
|
consistency_check: "Check consistency"
|
303
307
|
current_revision: "Current revision %{rev}"
|
@@ -314,7 +318,6 @@ en:
|
|
314
318
|
dashboard:
|
315
319
|
type: "Type"
|
316
320
|
value: "Name"
|
317
|
-
locking_user: "Locked by"
|
318
321
|
follow_up: "Follow up"
|
319
322
|
updated_at: "Updated at"
|
320
323
|
to_review: "Submission for review"
|
@@ -384,11 +387,7 @@ en:
|
|
384
387
|
published_with_warning: "Instance has been successfully published, but it has no relations!"
|
385
388
|
merged_delete_error: "Label could not be deleted."
|
386
389
|
merged_publishing_error: "Instance could not be published - please consult the consistency check."
|
387
|
-
branched: "Instance copy has been created
|
388
|
-
locked: "Instance has been locked."
|
389
|
-
lock_error: "Instance is already locked."
|
390
|
-
unlocked: "Instance has been unlocked."
|
391
|
-
unlock_error: "Instance has been alraedy unlocked."
|
390
|
+
branched: "Instance copy has been created."
|
392
391
|
to_review_success: "Sent to review."
|
393
392
|
to_review_error: "Can't send to review."
|
394
393
|
new_version_blank_error: "A new version does not yet exist!"
|
data/config/locales/pt.yml
CHANGED
@@ -70,7 +70,6 @@ pt:
|
|
70
70
|
checked_out: "Verificado"
|
71
71
|
of: de
|
72
72
|
pending: "Carregando…"
|
73
|
-
translation_missing_for: "tradução faltando para"
|
74
73
|
type_to_search: "Digite para buscar"
|
75
74
|
hint_csv_input: " Vários valores podem ser inseridos separados por vírgula."
|
76
75
|
form_errors: "Erros"
|
@@ -234,7 +233,6 @@ pt:
|
|
234
233
|
delete: "Excluir cópia"
|
235
234
|
delete_confirm: "Você realmente deseja excluir esta cópia?"
|
236
235
|
versioning_mode: "Criar nova versão"
|
237
|
-
unlock: "Destravar"
|
238
236
|
preview_new_version: "Pré-visualização da versão em alteração"
|
239
237
|
consistency_check: "Verificar consistência"
|
240
238
|
current_revision: "Revisão atual %{rev}"
|
@@ -250,7 +248,6 @@ pt:
|
|
250
248
|
dashboard:
|
251
249
|
type: "Tipo"
|
252
250
|
value: "Nome"
|
253
|
-
locking_user: "Travado por"
|
254
251
|
follow_up: "Reapresentar"
|
255
252
|
updated_at: "Atualizado em"
|
256
253
|
to_review: "Submissão para revisão"
|
@@ -301,10 +298,6 @@ pt:
|
|
301
298
|
merged_delete_error: "Não foi possível excluir o rótulo!"
|
302
299
|
merged_publishing_error: "Não foi possível lançar a instância!"
|
303
300
|
branched: "Cópia da instância foi criada e travada."
|
304
|
-
locked: "Instância foi travada."
|
305
|
-
lock_error: "Instância já foi travada!"
|
306
|
-
unlocked: "Instância foi destravada."
|
307
|
-
unlock_error: "Instância já foi destravada!"
|
308
301
|
to_review_success: "Enviado para revisão com sucesso."
|
309
302
|
to_review_error: "Não foi possível enviar para revisão."
|
310
303
|
new_version_blank_error: "Ainda não existe uma nova versão!"
|
data/config/puma.rb
CHANGED
@@ -4,12 +4,18 @@
|
|
4
4
|
# the maximum value specified for Puma. Default is set to 5 threads for minimum
|
5
5
|
# and maximum; this matches the default thread size of Active Record.
|
6
6
|
#
|
7
|
-
|
8
|
-
|
7
|
+
max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
|
8
|
+
min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count }
|
9
|
+
threads min_threads_count, max_threads_count
|
10
|
+
|
11
|
+
# Specifies the `worker_timeout` threshold that Puma will use to wait before
|
12
|
+
# terminating a worker in development environments.
|
13
|
+
#
|
14
|
+
worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development"
|
9
15
|
|
10
16
|
# Specifies the `port` that Puma will listen on to receive requests; default is 3000.
|
11
17
|
#
|
12
|
-
port
|
18
|
+
port ENV.fetch("PORT") { 3000 }
|
13
19
|
|
14
20
|
# Specifies the `environment` that Puma will run in.
|
15
21
|
#
|
@@ -19,7 +25,7 @@ environment ENV.fetch("RAILS_ENV") { "development" }
|
|
19
25
|
pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" }
|
20
26
|
|
21
27
|
# Specifies the number of `workers` to boot in clustered mode.
|
22
|
-
# Workers are forked
|
28
|
+
# Workers are forked web server processes. If using threads and workers together
|
23
29
|
# the concurrency of the application would be max `threads` * `workers`.
|
24
30
|
# Workers do not work on JRuby or Windows (both of which do not support
|
25
31
|
# processes).
|
data/config/routes.rb
CHANGED
@@ -51,8 +51,6 @@ Rails.application.routes.draw do
|
|
51
51
|
|
52
52
|
post 'concepts/:origin/branch' => 'concepts/versions#branch', as: 'concept_versions_branch'
|
53
53
|
post 'concepts/:origin/merge' => 'concepts/versions#merge', as: 'concept_versions_merge'
|
54
|
-
post 'concepts/:origin/lock' => 'concepts/versions#lock', as: 'concept_versions_lock'
|
55
|
-
post 'concepts/:origin/unlock' => 'concepts/versions#unlock', as: 'concept_versions_unlock'
|
56
54
|
post 'concepts/:origin/to_review' => 'concepts/versions#to_review', as: 'concept_versions_to_review'
|
57
55
|
get 'concepts/:origin/consistency_check' => 'concepts/versions#consistency_check', as: 'concept_versions_consistency_check'
|
58
56
|
|
@@ -60,8 +58,6 @@ Rails.application.routes.draw do
|
|
60
58
|
|
61
59
|
post 'collections/:origin/branch' => 'collections/versions#branch', as: 'collection_versions_branch'
|
62
60
|
post 'collections/:origin/merge' => 'collections/versions#merge', as: 'collection_versions_merge'
|
63
|
-
post 'collections/:origin/lock' => 'collections/versions#lock', as: 'collection_versions_lock'
|
64
|
-
post 'collections/:origin/unlock' => 'collections/versions#unlock', as: 'collection_versions_unlock'
|
65
61
|
post 'collections/:origin/to_review' => 'collections/versions#to_review', as: 'collection_versions_to_review'
|
66
62
|
get 'collections/:origin/consistency_check' => 'collections/versions#consistency_check', as: 'collection_versions_consistency_check'
|
67
63
|
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# This migration comes from active_storage (originally 20180723000244)
|
2
|
+
class AddFkConstraintToActiveStorageAttachmentsForBlobId < ActiveRecord::Migration[6.0]
|
3
|
+
def up
|
4
|
+
return if foreign_key_exists?(:active_storage_attachments, column: :blob_id)
|
5
|
+
|
6
|
+
if table_exists?(:active_storage_blobs)
|
7
|
+
add_foreign_key :active_storage_attachments, :active_storage_blobs, column: :blob_id
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|