invenio-app-rdm 13.0.0b4.dev1__py2.py3-none-any.whl → 14.0.0b1.dev8__py2.py3-none-any.whl
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.
- invenio_app_rdm/__init__.py +1 -1
- invenio_app_rdm/administration/moderation/__init__.py +11 -0
- invenio_app_rdm/administration/moderation/requests.py +175 -0
- invenio_app_rdm/administration/records/records.py +9 -7
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/requests.html +14 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/requests_details.html +91 -0
- invenio_app_rdm/administration/user_moderation/user_moderation.py +4 -4
- invenio_app_rdm/administration/users/users.py +0 -5
- invenio_app_rdm/communities_ui/views/communities.py +9 -5
- invenio_app_rdm/config.py +73 -4
- invenio_app_rdm/ext.py +2 -2
- invenio_app_rdm/fixtures/pages.py +5 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html +11 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html +2 -5
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html +2 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html +2 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +8 -7
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html +5 -6
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html +9 -13
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html +8 -5
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html +2 -4
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html +1 -1
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html +7 -5
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html +21 -4
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html +6 -1
- invenio_app_rdm/records_ui/utils.py +93 -1
- invenio_app_rdm/records_ui/views/decorators.py +24 -14
- invenio_app_rdm/records_ui/views/deposits.py +100 -27
- invenio_app_rdm/records_ui/views/filters.py +11 -4
- invenio_app_rdm/records_ui/views/records.py +23 -13
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/file-modification/index.html +88 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/guest-access-request/index.html +5 -5
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/record-deletion/index.html +95 -0
- invenio_app_rdm/requests_ui/views/requests.py +54 -87
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js +8 -8
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUserForm.js +12 -17
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +14 -16
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaAction.js +1 -1
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js +1 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js +81 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchbarLayout.js +48 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/index.js +22 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSearchAppLayout.js +3 -4
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js +38 -19
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js +45 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionModal.js +354 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionRadioGroup.js +44 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion.js +81 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +55 -5
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js +4 -1
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +2 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js +7 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js +52 -19
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js +15 -14
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js +4 -4
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitySubmission/RecordCommunitySubmissionModal.js +1 -1
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js +17 -3
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js +16 -17
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RemoveFromCommunity/RemoveFromCommunityAction.js +5 -5
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +42 -40
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +9 -5
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineEdit.js +5 -5
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineRead.js +2 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js +14 -19
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/file_uploader/uppy.less +37 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less +5 -3
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides +6 -1
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides +10 -1
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.overrides +7 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.variables +0 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next.js +1 -1
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/_generatedTranslations.js +66 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/messages.po +804 -137
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/translations.json +277 -249
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/messages.po +689 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/translations.json +102 -82
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/messages.po +699 -80
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/translations.json +112 -92
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/messages.po +821 -138
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/translations.json +290 -262
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/messages.po +691 -66
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/translations.json +91 -71
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/messages.po +818 -138
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/translations.json +260 -240
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/messages.po +698 -78
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/translations.json +108 -88
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/messages.po +1000 -5
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/translations.json +81 -28
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/messages.po +810 -137
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/translations.json +253 -233
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/messages.po +746 -133
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/translations.json +130 -110
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/messages.po +688 -69
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/translations.json +103 -79
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/messages.po +809 -126
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/translations.json +277 -257
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/messages.po +695 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/translations.json +101 -79
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/messages.po +801 -135
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/translations.json +254 -234
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/index.js +16 -65
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/messages.po +712 -86
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/translations.json +116 -96
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/messages.po +683 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/translations.json +96 -78
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/messages.po +689 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/translations.json +109 -85
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ko/messages.po +889 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ko/translations.json +277 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/messages.po +702 -71
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/translations.json +113 -85
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/messages.po +689 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/translations.json +102 -82
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/messages.po +704 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/translations.json +119 -91
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/messages.po +694 -69
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/translations.json +93 -73
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/messages.po +717 -85
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/translations.json +155 -133
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/messages.po +806 -124
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/translations.json +288 -260
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/messages.po +713 -82
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/translations.json +119 -91
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/messages.po +807 -141
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/translations.json +260 -240
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/messages.po +799 -128
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/translations.json +259 -239
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/messages.po +756 -131
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/translations.json +124 -96
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/messages.po +736 -123
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/translations.json +130 -108
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/messages.po +683 -70
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/translations.json +100 -78
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package.json +3 -37
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/translations.pot +243 -94
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html +2 -2
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html +4 -4
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.sv.html +4 -4
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/intro_section.html +7 -6
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/macros/records_list.html +2 -1
- invenio_app_rdm/theme/templates/semantic-ui/invenio_communities/default_static_page.html +26 -0
- invenio_app_rdm/theme/webpack.py +3 -2
- invenio_app_rdm/translations/ar/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ar/LC_MESSAGES/messages.po +972 -376
- invenio_app_rdm/translations/bg/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/bg/LC_MESSAGES/messages.po +907 -278
- invenio_app_rdm/translations/ca/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ca/LC_MESSAGES/messages.po +912 -283
- invenio_app_rdm/translations/cs/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/cs/LC_MESSAGES/messages.po +1069 -405
- invenio_app_rdm/translations/da/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/da/LC_MESSAGES/messages.po +908 -273
- invenio_app_rdm/translations/de/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/de/LC_MESSAGES/messages.po +1017 -406
- invenio_app_rdm/translations/el/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/el/LC_MESSAGES/messages.po +915 -286
- invenio_app_rdm/translations/es/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/es/LC_MESSAGES/messages.po +963 -371
- invenio_app_rdm/translations/et/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/et/LC_MESSAGES/messages.po +938 -362
- invenio_app_rdm/translations/fa/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/fa/LC_MESSAGES/messages.po +906 -277
- invenio_app_rdm/translations/fr/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/fr/LC_MESSAGES/messages.po +1032 -375
- invenio_app_rdm/translations/hr/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/hr/LC_MESSAGES/messages.po +907 -278
- invenio_app_rdm/translations/hu/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/hu/LC_MESSAGES/messages.po +985 -369
- invenio_app_rdm/translations/it/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/it/LC_MESSAGES/messages.po +928 -298
- invenio_app_rdm/translations/ja/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ja/LC_MESSAGES/messages.po +907 -278
- invenio_app_rdm/translations/ka/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ka/LC_MESSAGES/messages.po +909 -280
- invenio_app_rdm/translations/ko/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ko/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/lt/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/lt/LC_MESSAGES/messages.po +910 -281
- invenio_app_rdm/translations/messages.pot +486 -303
- invenio_app_rdm/translations/no/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/no/LC_MESSAGES/messages.po +907 -278
- invenio_app_rdm/translations/pl/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/pl/LC_MESSAGES/messages.po +907 -278
- invenio_app_rdm/translations/pt/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/pt/LC_MESSAGES/messages.po +906 -277
- invenio_app_rdm/translations/ro/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ro/LC_MESSAGES/messages.po +1042 -384
- invenio_app_rdm/translations/ru/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ru/LC_MESSAGES/messages.po +1022 -370
- invenio_app_rdm/translations/sk/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/sk/LC_MESSAGES/messages.po +916 -287
- invenio_app_rdm/translations/sv/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/sv/LC_MESSAGES/messages.po +989 -380
- invenio_app_rdm/translations/tr/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/tr/LC_MESSAGES/messages.po +992 -341
- invenio_app_rdm/translations/uk/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/uk/LC_MESSAGES/messages.po +935 -356
- invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.po +939 -347
- invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.po +907 -278
- invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +190 -62
- {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/METADATA +118 -7
- {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/RECORD +209 -225
- {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/entry_points.txt +2 -0
- {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/top_level.txt +0 -1
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next-scanner.config.js +0 -64
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package-lock.json +0 -1512
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/compileCatalog.js +0 -40
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/initCatalog.js +0 -20
- tests/__init__.py +0 -8
- tests/api/__init__.py +0 -8
- tests/api/conftest.py +0 -24
- tests/api/test_protect_files_rest.py +0 -73
- tests/api/test_record_api.py +0 -175
- tests/api/test_stats_api.py +0 -26
- tests/conftest.py +0 -390
- tests/fixtures/__init__.py +0 -8
- tests/fixtures/app_data/oai_sets.yaml +0 -3
- tests/fixtures/app_data/pages/about.html +0 -1
- tests/fixtures/app_data/pages.yaml +0 -4
- tests/fixtures/conftest.py +0 -27
- tests/fixtures/test_cli.py +0 -25
- tests/fixtures/test_fixtures.py +0 -46
- tests/mock_module/__init__.py +0 -7
- tests/mock_module/templates/mock_mail.html +0 -27
- tests/mock_module/views.py +0 -32
- tests/redirector/__init__.py +0 -8
- tests/redirector/conftest.py +0 -54
- tests/redirector/test_redirector.py +0 -28
- tests/test_tasks.py +0 -209
- tests/test_utils.py +0 -67
- tests/test_version.py +0 -16
- tests/test_views.py +0 -43
- tests/ui/__init__.py +0 -8
- tests/ui/conftest.py +0 -115
- tests/ui/test_deposits.py +0 -115
- tests/ui/test_export_formats.py +0 -37
- tests/ui/test_file_download.py +0 -73
- tests/ui/test_filters.py +0 -10
- tests/ui/test_robotstxt.py +0 -35
- tests/ui/test_signposting_ui.py +0 -95
- tests/ui/test_sitemaps.py +0 -85
- tests/ui/test_stats_ui.py +0 -92
- {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/WHEEL +0 -0
- {invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2023-
|
|
4
|
-
# Copyright (C) 2024 Graz University of Technology.
|
|
3
|
+
# Copyright (C) 2023-2025 CERN.
|
|
4
|
+
# Copyright (C) 2024-2025 Graz University of Technology.
|
|
5
|
+
# Copyright (C) 2025 Northwestern University.
|
|
5
6
|
#
|
|
6
7
|
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
7
8
|
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
8
9
|
|
|
9
|
-
"""Record migration script from InvenioRDM
|
|
10
|
+
"""Record migration script from InvenioRDM 12.0 to 13.0.
|
|
10
11
|
|
|
11
12
|
Disclaimer: This script is intended to be executed *only once*, namely when
|
|
12
|
-
upgrading from InvenioRDM
|
|
13
|
+
upgrading from InvenioRDM 12.0 to 13.0!
|
|
13
14
|
If this script is executed at any other time, probably the best case scenario
|
|
14
15
|
is that nothing happens!
|
|
15
16
|
|
|
@@ -21,85 +22,212 @@ This script has been tested with following data:
|
|
|
21
22
|
"""
|
|
22
23
|
|
|
23
24
|
import sys
|
|
25
|
+
import traceback
|
|
24
26
|
|
|
25
27
|
from click import secho
|
|
28
|
+
from invenio_access.permissions import system_identity
|
|
26
29
|
from invenio_db import db
|
|
27
|
-
from invenio_rdm_records.
|
|
28
|
-
|
|
30
|
+
from invenio_rdm_records.proxies import current_rdm_records_service as records_service
|
|
31
|
+
from invenio_search import current_search_client as search_client
|
|
32
|
+
from invenio_search.engine import dsl
|
|
33
|
+
from invenio_search.utils import prefix_index
|
|
34
|
+
from invenio_vocabularies.contrib.affiliations.api import Affiliation
|
|
35
|
+
from invenio_vocabularies.contrib.names.api import Name
|
|
36
|
+
from sqlalchemy import select
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def run_upgrade(has, migrate):
|
|
40
|
+
"""Run upgrade."""
|
|
41
|
+
record_success_counter = 0
|
|
42
|
+
record_error_counter = 0
|
|
43
|
+
draft_success_counter = 0
|
|
44
|
+
draft_error_counter = 0
|
|
45
|
+
|
|
46
|
+
# Handle published records
|
|
47
|
+
published_records = records_service.search(
|
|
48
|
+
system_identity,
|
|
49
|
+
params={"allversions": True, "include_deleted": True},
|
|
50
|
+
extra_filter=has,
|
|
51
|
+
)
|
|
52
|
+
for result in published_records.hits:
|
|
53
|
+
record = records_service.record_cls.pid.resolve(result["id"])
|
|
54
|
+
try:
|
|
55
|
+
migrate(record)
|
|
56
|
+
record_success_counter += 1
|
|
57
|
+
except Exception as error:
|
|
58
|
+
secho(f"> Error {repr(error)}", fg="red")
|
|
59
|
+
error = f"Record {record.pid.pid_value} failed to update"
|
|
60
|
+
record_error_counter += 1
|
|
61
|
+
|
|
62
|
+
# Handle draft records
|
|
63
|
+
draft_records = records_service.search_drafts(
|
|
64
|
+
system_identity,
|
|
65
|
+
params={"allversions": True},
|
|
66
|
+
extra_filter=has,
|
|
67
|
+
)
|
|
68
|
+
for result in draft_records.hits:
|
|
69
|
+
draft = records_service.draft_cls.pid.resolve(
|
|
70
|
+
result["id"],
|
|
71
|
+
registered_only=False,
|
|
72
|
+
)
|
|
73
|
+
try:
|
|
74
|
+
migrate(draft)
|
|
75
|
+
draft_success_counter += 1
|
|
76
|
+
except Exception as error:
|
|
77
|
+
secho(f"> Error {repr(error)}", fg="red")
|
|
78
|
+
error = f"Draft {draft.pid.pid_value} failed to update"
|
|
79
|
+
draft_error_counter += 1
|
|
80
|
+
|
|
81
|
+
if draft_error_counter > 0 or record_error_counter > 0:
|
|
82
|
+
db.session.rollback()
|
|
83
|
+
secho(
|
|
84
|
+
f"Migration failed: {record_error_counter} records had failures and {draft_error_counter} drafts had failures",
|
|
85
|
+
fg="red",
|
|
86
|
+
)
|
|
87
|
+
secho(
|
|
88
|
+
"The changes have been rolled back. Please fix the above listed errors and try the upgrade again",
|
|
89
|
+
fg="yellow",
|
|
90
|
+
err=True,
|
|
91
|
+
)
|
|
92
|
+
elif draft_success_counter > 0 or record_success_counter > 0:
|
|
93
|
+
db.session.commit()
|
|
94
|
+
secho(
|
|
95
|
+
f"Migration completed: {record_success_counter} records have been updated and {draft_success_counter} drafts have been updated",
|
|
96
|
+
fg="green",
|
|
97
|
+
)
|
|
98
|
+
else:
|
|
99
|
+
secho(
|
|
100
|
+
"Migration completed: no records or drafts required updating.", fg="green"
|
|
101
|
+
)
|
|
29
102
|
|
|
30
|
-
def execute_upgrade():
|
|
31
|
-
"""Execute the upgrade from InvenioRDM 12.0 to 13.0.0.
|
|
32
103
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
THIS MODULE IS WORK IN PROGRESS, UNTIL official v13 release
|
|
36
|
-
"""
|
|
104
|
+
def run_upgrade_for_thesis():
|
|
105
|
+
"""Run upgrade for thesis."""
|
|
37
106
|
|
|
38
|
-
def
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
107
|
+
def migrate_thesis_university(record_or_draft):
|
|
108
|
+
custom_fields = record_or_draft.get("custom_fields", {})
|
|
109
|
+
university = custom_fields.get("thesis:university")
|
|
110
|
+
if university and "thesis:thesis" not in custom_fields:
|
|
111
|
+
custom_fields["thesis:thesis"] = {"university": university}
|
|
42
112
|
|
|
43
|
-
|
|
44
|
-
secho(f"Updating record : {record.pid.pid_value}", fg="yellow")
|
|
113
|
+
record_or_draft.commit()
|
|
45
114
|
|
|
46
|
-
|
|
47
|
-
|
|
115
|
+
# Common query filter
|
|
116
|
+
has_thesis = dsl.Q("exists", field="custom_fields.thesis:university")
|
|
48
117
|
|
|
49
|
-
|
|
50
|
-
secho(f"> Updated record: {record.pid.pid_value}\n", fg="green")
|
|
51
|
-
return None
|
|
52
|
-
except Exception as e:
|
|
53
|
-
secho(f"> Error {repr(e)}", fg="red")
|
|
54
|
-
error = f"Record {record.pid.pid_value} failed to update"
|
|
55
|
-
return error
|
|
118
|
+
secho("Thesis upgrade has started.", fg="green")
|
|
56
119
|
|
|
57
|
-
|
|
120
|
+
run_upgrade(has_thesis, migrate_thesis_university)
|
|
58
121
|
|
|
59
|
-
|
|
60
|
-
errors = []
|
|
61
|
-
for record_metadata in RDMRecord.model_cls.query.all():
|
|
62
|
-
record = RDMRecord(record_metadata.data, model=record_metadata)
|
|
63
|
-
error = update_record(record)
|
|
122
|
+
secho("Thesis upgrade has finished.", fg="green")
|
|
64
123
|
|
|
65
|
-
if error:
|
|
66
|
-
errors.append(error)
|
|
67
124
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if error:
|
|
72
|
-
errors.append(error)
|
|
125
|
+
def run_upgrade_for_affiliations():
|
|
126
|
+
"""Update affiliations entry so that they conform to new shape."""
|
|
127
|
+
secho("Affiliations upgrade has started.", fg="green")
|
|
73
128
|
|
|
74
|
-
|
|
129
|
+
error = False
|
|
130
|
+
# Batch intake to limit memory usage
|
|
131
|
+
stmt = select(Affiliation.model_cls).execution_options(yield_per=250)
|
|
75
132
|
|
|
76
|
-
|
|
77
|
-
|
|
133
|
+
for affiliation_model in db.session.scalars(stmt):
|
|
134
|
+
try:
|
|
135
|
+
data_for_affiliation = affiliation_model.data
|
|
136
|
+
data_for_affiliation.pop("id", None)
|
|
137
|
+
data_for_affiliation.pop("pid", None)
|
|
138
|
+
affiliation = Affiliation(data_for_affiliation, model=affiliation_model)
|
|
139
|
+
affiliation.commit()
|
|
140
|
+
except Exception as e:
|
|
141
|
+
secho(f"Migration failed with '{repr(e)}'.", fg="red")
|
|
142
|
+
secho(f"Affiliation {affiliation_model.pid} failed to update", fg="red")
|
|
143
|
+
trace = traceback.format_exc()
|
|
144
|
+
secho(f"Traceback {trace}", fg="red")
|
|
145
|
+
error = True
|
|
146
|
+
break
|
|
147
|
+
|
|
148
|
+
if error:
|
|
149
|
+
db.session.rollback()
|
|
150
|
+
secho("Affiliations upgrade failed.", fg="red")
|
|
151
|
+
sys.exit(1)
|
|
152
|
+
else:
|
|
78
153
|
db.session.commit()
|
|
79
|
-
secho(
|
|
80
|
-
"Data migration completed, please rebuild the search indices now.",
|
|
81
|
-
fg="green",
|
|
82
|
-
)
|
|
154
|
+
secho("Affiliations upgrade succeeded.", fg="green")
|
|
83
155
|
|
|
84
|
-
else:
|
|
85
|
-
secho("Rollback", nl=True)
|
|
86
|
-
db.session.rollback()
|
|
87
|
-
secho(
|
|
88
|
-
"Upgrade aborted due to the following errors:",
|
|
89
|
-
fg="red",
|
|
90
|
-
err=True,
|
|
91
|
-
)
|
|
92
156
|
|
|
93
|
-
|
|
94
|
-
|
|
157
|
+
def run_upgrade_for_names():
|
|
158
|
+
"""Update names entry so that they conform to new shape."""
|
|
159
|
+
secho("Names upgrade has started.", fg="green")
|
|
95
160
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
)
|
|
100
|
-
secho(msg, fg="yellow", err=True)
|
|
161
|
+
error = False
|
|
162
|
+
# Batch intake to limit memory usage
|
|
163
|
+
stmt = select(Name.model_cls).execution_options(yield_per=250)
|
|
101
164
|
|
|
165
|
+
for name_model in db.session.scalars(stmt):
|
|
166
|
+
try:
|
|
167
|
+
data_for_name = name_model.data
|
|
168
|
+
data_for_name.pop("id", None)
|
|
169
|
+
data_for_name.pop("pid", None)
|
|
170
|
+
name = Name(data_for_name, model=name_model)
|
|
171
|
+
name.commit()
|
|
172
|
+
except Exception as e:
|
|
173
|
+
secho(f"Migration failed with '{repr(e)}'.", fg="red")
|
|
174
|
+
secho(f"Name {name_model.pid} failed to update", fg="red")
|
|
175
|
+
trace = traceback.format_exc()
|
|
176
|
+
secho(f"Traceback {trace}", fg="red")
|
|
177
|
+
error = True
|
|
178
|
+
break
|
|
179
|
+
|
|
180
|
+
if error:
|
|
181
|
+
db.session.rollback()
|
|
182
|
+
secho("Names upgrade failed.", fg="red")
|
|
102
183
|
sys.exit(1)
|
|
184
|
+
else:
|
|
185
|
+
db.session.commit()
|
|
186
|
+
secho("Names upgrade succeeded.", fg="green")
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def run_upgrade_for_event_stats_mappings():
|
|
190
|
+
"""Update the live event stats mappings to add missing fields."""
|
|
191
|
+
secho("Event stats mappings upgrade has started.", fg="green")
|
|
192
|
+
|
|
193
|
+
# Find the latest mappings for views and download stats events
|
|
194
|
+
for event_type in ("record-view", "file-download"):
|
|
195
|
+
try:
|
|
196
|
+
events_index = prefix_index(f"events-stats-{event_type}-*")
|
|
197
|
+
res = search_client.indices.get(events_index)
|
|
198
|
+
last_two_indices = sorted(res.keys())[-2:]
|
|
199
|
+
for index in last_two_indices:
|
|
200
|
+
res = search_client.indices.put_mapping(
|
|
201
|
+
index=index,
|
|
202
|
+
body={"properties": {"is_machine": {"type": "boolean"}}},
|
|
203
|
+
)
|
|
204
|
+
except Exception as e:
|
|
205
|
+
secho(f"Mapping update for {event_type} failed with '{repr(e)}'.", fg="red")
|
|
206
|
+
trace = traceback.format_exc()
|
|
207
|
+
secho(f"Traceback {trace}", fg="red")
|
|
208
|
+
secho("Event stats mappings upgrade succeeded.", fg="green")
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def execute_upgrade():
|
|
212
|
+
"""Execute the upgrade from InvenioRDM 12.0 to 13.0.0.
|
|
213
|
+
|
|
214
|
+
Please read the disclaimer on this module before thinking about executing
|
|
215
|
+
this function!
|
|
216
|
+
|
|
217
|
+
NOTE:
|
|
218
|
+
since the data upgrade steps are more selective now, the approach how to do
|
|
219
|
+
it has been changed. now the records/drafts which should be updated are
|
|
220
|
+
searched by a filter and then the updates are applied to those
|
|
221
|
+
records/drafts explicitly. this should improve speed and should make it
|
|
222
|
+
easier to upgrade large instances
|
|
223
|
+
|
|
224
|
+
"""
|
|
225
|
+
secho("Starting data migration...", fg="green")
|
|
226
|
+
|
|
227
|
+
run_upgrade_for_thesis()
|
|
228
|
+
run_upgrade_for_affiliations()
|
|
229
|
+
run_upgrade_for_names()
|
|
230
|
+
run_upgrade_for_event_stats_mappings()
|
|
103
231
|
|
|
104
232
|
|
|
105
233
|
# if the script is executed on its own, perform the upgrade
|
{invenio_app_rdm-13.0.0b4.dev1.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invenio-app-rdm
|
|
3
|
-
Version:
|
|
3
|
+
Version: 14.0.0b1.dev8
|
|
4
4
|
Summary: Invenio Research Data Management.
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-app-rdm
|
|
6
6
|
Author: CERN
|
|
@@ -40,13 +40,13 @@ Requires-Dist: invenio-search-ui<5.0.0,>=4.0.0
|
|
|
40
40
|
Requires-Dist: invenio-files-rest<4.0.0,>=3.0.0
|
|
41
41
|
Requires-Dist: invenio-previewer<4.0.0,>=3.0.0
|
|
42
42
|
Requires-Dist: invenio-records-files<2.0.0,>=1.2.1
|
|
43
|
-
Requires-Dist: invenio-collections<
|
|
44
|
-
Requires-Dist: invenio-communities<
|
|
45
|
-
Requires-Dist: invenio-rdm-records<
|
|
43
|
+
Requires-Dist: invenio-collections<3.0.0,>=1.0.0
|
|
44
|
+
Requires-Dist: invenio-communities<22.0.0,>=21.0.0
|
|
45
|
+
Requires-Dist: invenio-rdm-records<22.0.0,>=21.0.0
|
|
46
46
|
Requires-Dist: CairoSVG<3.0.0,>=2.5.2
|
|
47
47
|
Requires-Dist: invenio-banners<6.0.0,>=5.0.0
|
|
48
48
|
Requires-Dist: invenio-pages<8.0.0,>=7.0.0
|
|
49
|
-
Requires-Dist: invenio-audit-logs<1.0.0,>=0.
|
|
49
|
+
Requires-Dist: invenio-audit-logs<1.0.0,>=0.3.0
|
|
50
50
|
Requires-Dist: invenio-sitemap<2.0.0,>=0.1.0
|
|
51
51
|
Provides-Extra: tests
|
|
52
52
|
Requires-Dist: pytest-black-ng>=0.4.0; extra == "tests"
|
|
@@ -60,7 +60,7 @@ Requires-Dist: invenio-search[opensearch1]<4.0.0,>=3.0.0; extra == "opensearch1"
|
|
|
60
60
|
Provides-Extra: opensearch2
|
|
61
61
|
Requires-Dist: invenio-search[opensearch2]<4.0.0,>=3.0.0; extra == "opensearch2"
|
|
62
62
|
Provides-Extra: s3
|
|
63
|
-
Requires-Dist: invenio-s3<
|
|
63
|
+
Requires-Dist: invenio-s3<4.0.0,>=3.0.0; extra == "s3"
|
|
64
64
|
Dynamic: license-file
|
|
65
65
|
|
|
66
66
|
..
|
|
@@ -90,7 +90,7 @@ https://inveniordm.docs.cern.ch
|
|
|
90
90
|
|
|
91
91
|
|
|
92
92
|
..
|
|
93
|
-
Copyright (C) 2019-
|
|
93
|
+
Copyright (C) 2019-2025 CERN.
|
|
94
94
|
Copyright (C) 2019-2024 Northwestern University.
|
|
95
95
|
Copyright (C) 2021-2024 TU Wien.
|
|
96
96
|
Copyright (C) 2021-2025 Graz University of Technology.
|
|
@@ -101,6 +101,117 @@ https://inveniordm.docs.cern.ch
|
|
|
101
101
|
Changes
|
|
102
102
|
=======
|
|
103
103
|
|
|
104
|
+
Version v14.0.0b1.dev8 (released 2025-11-21)
|
|
105
|
+
|
|
106
|
+
- UI: add info message about remaining days to publish changes
|
|
107
|
+
- request: add file mod request template
|
|
108
|
+
- fix: set files_locked to .locked rather than permission
|
|
109
|
+
- feat: pass file modification eval to deposit form
|
|
110
|
+
|
|
111
|
+
Version v14.0.0b1.dev7 (released 2025-11-14)
|
|
112
|
+
|
|
113
|
+
- fix(views): pass API record to evaluate record deletion
|
|
114
|
+
|
|
115
|
+
Version v14.0.0b1.dev6 (released 2025-11-13)
|
|
116
|
+
|
|
117
|
+
- tombstone: add deletion policy
|
|
118
|
+
- fix(deletion-request): never disable the existing deletion request link
|
|
119
|
+
- fix(deletion-request): fetch existing request only for valid users
|
|
120
|
+
- fix(deletion-request): removal reasons in landing page data attribute
|
|
121
|
+
- vocab: add deletion_request prefix to removal_reasons vocabulary
|
|
122
|
+
- ui: added related identifiers to vocabulary
|
|
123
|
+
- views: remove unused data attributes from recordManagementMobile
|
|
124
|
+
- requests: ui: only show justification if present
|
|
125
|
+
|
|
126
|
+
Version v14.0.0b1.dev5 (released 2025-10-14)
|
|
127
|
+
|
|
128
|
+
- fix(community-submission): add missing var in side bar template
|
|
129
|
+
- fix(guest-access-request): handle broken expiration date payload value
|
|
130
|
+
* this extra check prevents the request timeline UI from breaking when a
|
|
131
|
+
request payload has a broken value, to make recovery easier
|
|
132
|
+
* also, make eslint happy with a camel case variable name
|
|
133
|
+
- fix(guest-access-request): handle more possible expiration date values
|
|
134
|
+
* when the expiration date gets submitted, the value of the empty input
|
|
135
|
+
field is typically the empty string rather than `null`
|
|
136
|
+
* on the reading side, handle the case that the expiration date is set
|
|
137
|
+
as a string value (since request payloads are generally strings)
|
|
138
|
+
|
|
139
|
+
Version v14.0.0b1.dev4 (released 2025-10-03)
|
|
140
|
+
|
|
141
|
+
- installation: relax invenio-collections dependency requirements
|
|
142
|
+
* see https://github.com/inveniosoftware/invenio-app-rdm/issues/3194
|
|
143
|
+
|
|
144
|
+
Version v14.0.0b1.dev3 (released 2025-10-01)
|
|
145
|
+
|
|
146
|
+
- fix(deposit-ui): read expanded published record
|
|
147
|
+
* The UI serializer requires the expanded record service result.
|
|
148
|
+
- feat(config): add last activity sort option
|
|
149
|
+
|
|
150
|
+
Version v14.0.0b1.dev2 (released 2025-09-29)
|
|
151
|
+
|
|
152
|
+
- fix(deposit-ui): use API record for evaluating deletion policy
|
|
153
|
+
|
|
154
|
+
Version v14.0.0b1.dev1 (released 2025-09-24)
|
|
155
|
+
|
|
156
|
+
- Fixed CHANGES.rst formatting
|
|
157
|
+
|
|
158
|
+
Version v14.0.0b1.dev0 (released 2025-09-24)
|
|
159
|
+
|
|
160
|
+
- feat(administration): add Requests view
|
|
161
|
+
- feat: add record deletion requests
|
|
162
|
+
* Allows to configure record deletion policies for immediate deletion
|
|
163
|
+
or going through a request flow on the record landing page.
|
|
164
|
+
|
|
165
|
+
Version v14.0.0b0.dev4 (released 2025-09-01)
|
|
166
|
+
|
|
167
|
+
- views(deposit): pass to the form config the published record if we edit one
|
|
168
|
+
* The published record is used to compare published DOI but it can be
|
|
169
|
+
used also to compare with the published state of an editing draft.
|
|
170
|
+
- help: correct search instructions for missing fields
|
|
171
|
+
|
|
172
|
+
Version v14.0.0b0.dev3 (released 2025-08-26)
|
|
173
|
+
|
|
174
|
+
- fix(community-requests): request permissions were missing from UI
|
|
175
|
+
* The community requests page was not showing the request reviewers section
|
|
176
|
+
because the permissions were not passed to the template.
|
|
177
|
+
|
|
178
|
+
Version v14.0.0b0.dev2 (released 2025-08-08)
|
|
179
|
+
|
|
180
|
+
- fix(views): use correct community value
|
|
181
|
+
* After the change in 33f1b0d2, values passed to the UI or used for
|
|
182
|
+
accessing UI-related attributes (e.g. the "theme"), must come from
|
|
183
|
+
the community UI-serialized value instead of the service result item.
|
|
184
|
+
- fix(pages): add community base template as a valid option
|
|
185
|
+
- feat(fixtures): allow specifying `template_name` in page fixtures
|
|
186
|
+
- ui: refactor record injecting in JS components
|
|
187
|
+
- inject only record links in citations cmps
|
|
188
|
+
- remove dependency between citations and communities cmps which
|
|
189
|
+
they were sharing the same record injection
|
|
190
|
+
- fix(deposits): pass missing community_ui to community theme templates
|
|
191
|
+
* also introduce more explicit distinctions between community and
|
|
192
|
+
community_ui variables
|
|
193
|
+
- UI: set order of entries and rename category to deposits
|
|
194
|
+
- UI: make external resources section consistent with details
|
|
195
|
+
- UI: make rights section consistent with details
|
|
196
|
+
|
|
197
|
+
Version v14.0.0b0.dev1 (released 2025-08-01)
|
|
198
|
+
|
|
199
|
+
- setup: bump invenio-communities and invenio-rdm-records
|
|
200
|
+
- theme: add search overrides for reviewers search results
|
|
201
|
+
- requests: add request action_accept permissions to UI
|
|
202
|
+
- theme: update package-lock.json for compiling catalog for frontend tests
|
|
203
|
+
|
|
204
|
+
Version v13.0.0b4.dev2 (released 2025-06-13)
|
|
205
|
+
|
|
206
|
+
- checks: integrate into community requests flow
|
|
207
|
+
- deposit-ui: pass draft errors to form
|
|
208
|
+
- landing page: text-break references
|
|
209
|
+
- ui: fixed caret trigger in stats
|
|
210
|
+
|
|
211
|
+
- deposit: report actual file quota rather than configured values
|
|
212
|
+
* previously, the deposit form would show values from the configuration
|
|
213
|
+
that might be different from the actually effective quota
|
|
214
|
+
|
|
104
215
|
|
|
105
216
|
Version v13.0.0b4.dev1 (released 2025-06-10)
|
|
106
217
|
|