invenio-app-rdm 5.0.0.dev0__py2.py3-none-any.whl → 14.0.0b4.dev4__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 +13 -4
- invenio_app_rdm/administration/__init__.py +8 -0
- invenio_app_rdm/administration/audit_logs/__init__.py +12 -0
- invenio_app_rdm/administration/audit_logs/audit_logs.py +81 -0
- invenio_app_rdm/administration/domains/__init__.py +22 -0
- invenio_app_rdm/administration/domains/domains.py +159 -0
- invenio_app_rdm/administration/moderation/__init__.py +11 -0
- invenio_app_rdm/administration/moderation/requests.py +175 -0
- invenio_app_rdm/administration/records/__init__.py +15 -0
- invenio_app_rdm/administration/records/records.py +163 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/audit_logs.html +14 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/domains_search.html +13 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/records/drafts.html +14 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/records/records.html +14 -0
- 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 +93 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/user_moderation.html +14 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/user_moderation_details.html +14 -0
- invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/users_search.html +14 -0
- invenio_app_rdm/administration/user_moderation/__init__.py +11 -0
- invenio_app_rdm/administration/user_moderation/user_moderation.py +175 -0
- invenio_app_rdm/administration/users/__init__.py +12 -0
- invenio_app_rdm/administration/users/users.py +130 -0
- invenio_app_rdm/administration/views/__init__.py +11 -0
- invenio_app_rdm/administration/views/ui.py +21 -0
- invenio_app_rdm/cli.py +95 -0
- invenio_app_rdm/communities_ui/__init__.py +9 -0
- invenio_app_rdm/communities_ui/searchapp.py +27 -0
- invenio_app_rdm/communities_ui/sitemap.py +63 -0
- invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/collections/collection.html +60 -0
- invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/collections/macros.html +43 -0
- invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/details/browse/index.html +59 -0
- invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/records/index.html +24 -0
- invenio_app_rdm/communities_ui/views/__init__.py +13 -0
- invenio_app_rdm/communities_ui/views/communities.py +206 -0
- invenio_app_rdm/communities_ui/views/ui.py +93 -0
- invenio_app_rdm/config.py +1167 -100
- invenio_app_rdm/ext.py +157 -0
- invenio_app_rdm/fixtures/__init__.py +56 -0
- invenio_app_rdm/fixtures/data/oai_sets.yaml +6 -0
- invenio_app_rdm/fixtures/oai_sets.py +20 -0
- invenio_app_rdm/fixtures/pages/.gitkeep +1 -0
- invenio_app_rdm/fixtures/pages.py +76 -0
- invenio_app_rdm/records_ui/previewer/__init__.py +9 -0
- invenio_app_rdm/records_ui/previewer/iiif_simple.py +51 -0
- invenio_app_rdm/records_ui/searchapp.py +70 -0
- invenio_app_rdm/records_ui/sitemap.py +44 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html +64 -15
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html +417 -172
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/access-form.html +64 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html +7 -9
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/contact.html +2 -1
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/creatibutors.html +51 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/description.html +13 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html +330 -22
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/doi.html +5 -23
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/meta.html +36 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/citations.html +6 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +34 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/details.html +36 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/export.html +34 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html +55 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/keywords_subjects.html +20 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html +78 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/locations.html +23 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html +42 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/metrics.html +16 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/technical_metadata.html +21 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/versions.html +26 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar.html +4 -45
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html +112 -90
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/subjects.html +37 -7
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/draft_not_found.html +17 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/export.html +9 -8
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/iiif_preview.html +3 -7
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/creatibutors.html +98 -39
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html +280 -43
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html +36 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html +176 -71
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/locations.html +62 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/stats_popup.html +21 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/version.html +3 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/restricted_with_doi_tombstone.html +33 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/search.html +3 -89
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html +55 -12
- invenio_app_rdm/records_ui/utils.py +127 -2
- invenio_app_rdm/records_ui/views/__init__.py +123 -38
- invenio_app_rdm/records_ui/views/decorators.py +414 -120
- invenio_app_rdm/records_ui/views/deposits.py +569 -75
- invenio_app_rdm/records_ui/views/filters.py +125 -34
- invenio_app_rdm/records_ui/views/records.py +425 -76
- invenio_app_rdm/redirector/__init__.py +8 -0
- invenio_app_rdm/redirector/resource.py +106 -0
- invenio_app_rdm/redirector/views.py +18 -0
- invenio_app_rdm/requests_ui/__init__.py +9 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-inclusion/index.html +14 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-invitation/community_dashboard.html +38 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-invitation/user_dashboard.html +26 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-submission/index.html +129 -0
- 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 +66 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/macros/request_header.html +78 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/record-deletion/index.html +95 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity/index.html +49 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity-invitation/index.html +49 -0
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/user-access-request/index.html +59 -0
- invenio_app_rdm/requests_ui/views/__init__.py +13 -0
- invenio_app_rdm/requests_ui/views/requests.py +374 -0
- invenio_app_rdm/requests_ui/views/ui.py +72 -0
- invenio_app_rdm/tasks.py +45 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/AuditLogActions.js +136 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewJson.js +35 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js +119 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/index.js +31 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/search/SearchResultItemLayout.js +87 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/search/index.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/CompareRevisionsDropdown.js +89 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUser.js +92 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUserForm.js +199 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +80 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaAction.js +109 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaForm.js +196 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/index.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/index.js +27 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/search/SearchResultItemLayout.js +185 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/search/index.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/drafts/index.js +32 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/CompareRevisions.js +129 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RecordActions.js +75 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RecordResourceActions.js +185 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RemovalReasonsSelect.js +85 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RestoreConfirmation.js +108 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/TombstoneForm.js +212 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/api.js +38 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/index.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js +30 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/index.js +40 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/AdministrationSearchLayout.js +56 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/RecordSearchLayout.js +84 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/SearchResultItemLayout.js +171 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/filters/DeletionStatusFilter.js +121 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/filters/index.js +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/index.js +10 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js +79 -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/administration/userModeration/ModerationActions.js +103 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/index.js +29 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/SearchResultItemLayout.js +151 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/UserModerationBulkActions.js +0 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/UserModerationSearchLayout.js +56 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/index.js +10 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/UserActions.js +263 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/api/api.js +42 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/api/index.js +8 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/api/routes.js +38 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/index.js +30 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/SearchResultItemLayout.js +202 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/UserSearchLayout.js +81 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/filters/UserStatusFilterComponent.js +114 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/filters/index.js +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/index.js +10 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/collectionRecordsSearch/index.js +61 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSearchAppLayout.js +84 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSearchBarElement.js +44 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSingleSearchBarElement.js +46 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/components.js +3 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/index.js +66 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CompactStats.js +52 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js +142 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayPartOfCommunities.js +78 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayVerifiedCommunity.js +54 -0
- 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/components/RecordsResultsListItem.js +189 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +795 -440
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/ShareDraftButton.js +65 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/config.js +48 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js +27 -11
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/RecordsList.js +165 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/index.js +23 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/AccessRequestForm.js +254 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +179 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagementDropdown.js +186 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/EditButton.js +36 -15
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js +68 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js +140 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageDefaultBrandingAction/ManageDefaultBrandingAction.js +129 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesModal.js +63 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesSearch.js +89 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunityRequestItem.js +33 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js +162 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesList.js +150 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js +90 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesSearch.js +109 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesSearchItem.js +58 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/index.js +3 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitySubmission/RecordCommunitySubmissionModal.js +171 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js +123 -42
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js +153 -78
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RemoveFromCommunity/RemoveFromCommunityAction.js +188 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/AccessDropdown.js +93 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/CreateAccessLink.js +111 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchItem.js +170 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchResultContainer.js +236 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksTab.js +106 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessRequests/AccessRequestsTab.js +239 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/AccessUsersGroups.js +178 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/AddUserGroupAccessModal.js +172 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/GroupsTab.js +88 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/PeopleTab.js +88 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/UserGroupAccessSearchResultItem.js +158 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/ShareButton.js +62 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/ShareModal.js +252 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/api/api.js +39 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js +24 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +102 -28
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +131 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/index.js +13 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/mapping.js +12 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/AccessRequestExpiration.js +61 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/index.js +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineEdit.js +177 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineRead.js +50 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/overrides/TimelineFeedHeader.js +34 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js +181 -226
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/index.js +50 -16
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/subcommunity/browse.js +28 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js +164 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/base.js +210 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/communities.js +56 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/requests.js +78 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads.js +210 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/ComputerTabletUploadsItem.js +155 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/MobileUploadsItem.js +154 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/utils.js +130 -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/creatibutors.less +54 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less +74 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/previewer/iiif_simple.less +16 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/form.overrides +170 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/form.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/grid.overrides +113 -14
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/grid.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/menu.overrides +395 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/menu.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/message.overrides +34 -10
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/message.variables +6 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/table.overrides +185 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/table.variables +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/button.overrides +112 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/button.variables +5 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/container.overrides +127 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/container.variables +6 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/header.overrides +61 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/header.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/icon.overrides +29 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/icon.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/image.overrides +115 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/image.variables +4 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/input.overrides +50 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/input.variables +5 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/label.overrides +116 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/label.variables +0 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/list.overrides +73 -27
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/list.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/segment.overrides +86 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/segment.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/reset.overrides +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/reset.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides +560 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.variables +142 -4
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides +161 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.variables +9 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/checkbox.overrides +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/checkbox.variables +3 -5
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/dropdown.overrides +116 -12
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/dropdown.variables +10 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/modal.overrides +151 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/modal.variables +5 -0
- 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/less/invenio_app_rdm/theme/modules/tab.overrides +3 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/tab.variables +6 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/transition.overrides +67 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/transition.variables +3 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/theme.less +71 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/card.overrides +168 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/card.variables +2 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/feed.overrides +463 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/feed.variables +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/item.overrides +175 -0
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/item.variables +0 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next.js +37 -0
- 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 +951 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/translations.json +307 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/messages.po +895 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/messages.po +896 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/messages.po +961 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/translations.json +295 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/messages.po +897 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/messages.po +966 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/messages.po +898 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/messages.po +1009 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/translations.json +316 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/messages.po +960 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/messages.po +896 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/messages.po +895 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/messages.po +960 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/messages.po +901 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/translations.json +289 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/messages.po +952 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/index.js +20 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/messages.po +905 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/messages.po +889 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/translations.json +277 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/messages.po +895 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/translations.json +283 -0
- 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 +907 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/translations.json +295 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/messages.po +895 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/messages.po +910 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/translations.json +295 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/messages.po +901 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/messages.po +908 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/translations.json +289 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/messages.po +958 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/translations.json +295 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/messages.po +908 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/translations.json +295 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/messages.po +951 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/messages.po +952 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/translations.json +283 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/messages.po +910 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/translations.json +295 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/messages.po +891 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/translations.json +277 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/messages.po +889 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/translations.json +277 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package.json +18 -0
- invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/translations.pot +1009 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-icon.svg +52 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-eu-icon.svg +44 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-icon.svg +67 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-nd-eu-icon.svg +57 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-nd-icon.svg +93 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-sa-eu-icon.svg +55 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nc-sa-icon.svg +55 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-nd-icon.svg +75 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-by-sa-icon.svg +72 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-cc0-icon.svg +29 -0
- invenio_app_rdm/theme/static/icons/licenses/cc-pddc-icon.svg +25 -0
- invenio_app_rdm/theme/static/images/gnd-icon.svg +27 -0
- invenio_app_rdm/theme/static/images/ror-icon.svg +14 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/administration_page.html +19 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/default_static_page.html +33 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/files_integrity_report/email/files_integrity_report.html +31 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/footer.html +32 -78
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/frontpage.html +41 -176
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/header.html +122 -65
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/header_frontpage.html +18 -14
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/header_login.html +130 -38
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html +5 -4
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html +13 -8
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.sv.html +254 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/statistics.en.html +197 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/statistics.sv.html +196 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/versioning.en.html +149 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/versioning.sv.html +143 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/intro_section.html +98 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/javascript.html +12 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/macros/records_list.html +50 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/page.html +36 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/page_cover.html +13 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/robots.txt +15 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/searchbar.html +63 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/settings/notifications.html +17 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/site_footer.html +29 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_communities/default_static_page.html +26 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_previewer/latest_record.html +18 -0
- invenio_app_rdm/theme/templates/semantic-ui/invenio_previewer/rdm_abstract_previewer.html +30 -0
- invenio_app_rdm/theme/templates/themes/default/invenio_app_rdm/header.html +147 -0
- invenio_app_rdm/theme/templates/themes/default/invenio_app_rdm/site_footer.html +42 -0
- invenio_app_rdm/theme/views.py +108 -26
- invenio_app_rdm/theme/webpack.py +76 -32
- invenio_app_rdm/translations/ar/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ar/LC_MESSAGES/messages.po +1389 -0
- invenio_app_rdm/translations/bg/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/bg/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/ca/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ca/LC_MESSAGES/messages.po +1362 -0
- invenio_app_rdm/translations/cs/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/cs/LC_MESSAGES/messages.po +1398 -0
- invenio_app_rdm/translations/da/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/da/LC_MESSAGES/messages.po +1363 -0
- invenio_app_rdm/translations/de/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/de/LC_MESSAGES/messages.po +1410 -0
- invenio_app_rdm/translations/el/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/el/LC_MESSAGES/messages.po +1364 -0
- invenio_app_rdm/translations/es/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/es/LC_MESSAGES/messages.po +1389 -0
- invenio_app_rdm/translations/et/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/et/LC_MESSAGES/messages.po +1364 -0
- invenio_app_rdm/translations/fa/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/fa/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/fr/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/fr/LC_MESSAGES/messages.po +1390 -0
- invenio_app_rdm/translations/hr/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/hr/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/hu/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/hu/LC_MESSAGES/messages.po +1402 -0
- invenio_app_rdm/translations/it/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/it/LC_MESSAGES/messages.po +1366 -0
- invenio_app_rdm/translations/ja/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ja/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/ka/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ka/LC_MESSAGES/messages.po +1361 -0
- 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 +1361 -0
- invenio_app_rdm/translations/messages.pot +1371 -51
- invenio_app_rdm/translations/no/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/no/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/pl/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/pl/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/pt/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/pt/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/translations/ro/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ro/LC_MESSAGES/messages.po +1391 -0
- invenio_app_rdm/translations/ru/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/ru/LC_MESSAGES/messages.po +1384 -0
- invenio_app_rdm/translations/sk/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/sk/LC_MESSAGES/messages.po +1362 -0
- invenio_app_rdm/translations/sv/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/sv/LC_MESSAGES/messages.po +1400 -0
- invenio_app_rdm/translations/tr/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/tr/LC_MESSAGES/messages.po +1340 -63
- invenio_app_rdm/translations/uk/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/uk/LC_MESSAGES/messages.po +1363 -0
- invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.po +1363 -0
- invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.po +1361 -0
- invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_1_0_to_2_0.py +1 -0
- invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_8_0_to_9_0.py +90 -0
- invenio_app_rdm/upgrade_scripts/migrate_10_0_to_11_0.py +47 -0
- invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py +205 -0
- invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +235 -0
- invenio_app_rdm/upgrade_scripts/migrate_13_0_to_14_0.py +268 -0
- invenio_app_rdm/upgrade_scripts/migrate_2_0_to_3_0.py +7 -3
- invenio_app_rdm/upgrade_scripts/migrate_3_0_to_4_0.py +26 -10
- invenio_app_rdm/upgrade_scripts/migrate_4_0_to_6_0.py +395 -0
- invenio_app_rdm/upgrade_scripts/migrate_6_0_to_7_0.py +161 -0
- invenio_app_rdm/upgrade_scripts/migrate_7_0_to_8_0.py +153 -0
- invenio_app_rdm/upgrade_scripts/migrate_8_0_to_9_0.py +98 -0
- invenio_app_rdm/upgrade_scripts/migrate_9_0_to_10_0.py +43 -0
- invenio_app_rdm/users/schemas.py +27 -0
- invenio_app_rdm/users_ui/__init__.py +9 -0
- invenio_app_rdm/users_ui/searchapp.py +53 -0
- invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/base.html +21 -0
- invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/communities.html +25 -0
- invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/header.html +46 -0
- invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/requests.html +24 -0
- invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/uploads.html +25 -0
- invenio_app_rdm/users_ui/views/__init__.py +14 -0
- invenio_app_rdm/users_ui/views/dashboard.py +59 -0
- invenio_app_rdm/users_ui/views/ui.py +68 -0
- invenio_app_rdm/utils/files.py +120 -0
- invenio_app_rdm/views.py +21 -0
- invenio_app_rdm-14.0.0b4.dev4.dist-info/METADATA +627 -0
- invenio_app_rdm-14.0.0b4.dev4.dist-info/RECORD +508 -0
- {invenio_app_rdm-5.0.0.dev0.dist-info → invenio_app_rdm-14.0.0b4.dev4.dist-info}/WHEEL +1 -1
- invenio_app_rdm-14.0.0b4.dev4.dist-info/entry_points.txt +44 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/contributors.html +0 -32
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/creators.html +0 -30
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/licenses.html +0 -35
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/search_deposit.html +0 -103
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareButton.js +0 -43
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareModal.js +0 -188
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_records_search/components.js +0 -361
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_records_search/index.js +0 -41
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/deposit.less +0 -126
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/export_page.less +0 -20
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/footer.less +0 -83
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/frontpage.less +0 -95
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page.less +0 -212
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/navbar.less +0 -216
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/search.less +0 -41
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme.less +0 -420
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/variables.less +0 -41
- invenio_app_rdm/theme/static/images/logo-bnl.png +0 -0
- invenio_app_rdm/theme/static/images/logo-caltechlibrary.png +0 -0
- invenio_app_rdm/theme/static/images/logo-cd2h.png +0 -0
- invenio_app_rdm/theme/static/images/logo-cern.png +0 -0
- invenio_app_rdm/theme/static/images/logo-cottagelabs.png +0 -0
- invenio_app_rdm/theme/static/images/logo-data-futures.png +0 -0
- invenio_app_rdm/theme/static/images/logo-eko-konnect.png +0 -0
- invenio_app_rdm/theme/static/images/logo-geo.svg +0 -1337
- invenio_app_rdm/theme/static/images/logo-hzdr.png +0 -0
- invenio_app_rdm/theme/static/images/logo-infn.svg +0 -28
- invenio_app_rdm/theme/static/images/logo-jrc.svg +0 -1905
- invenio_app_rdm/theme/static/images/logo-northwestern-university.png +0 -0
- invenio_app_rdm/theme/static/images/logo-openaire.png +0 -0
- invenio_app_rdm/theme/static/images/logo-tind.png +0 -0
- invenio_app_rdm/theme/static/images/logo-tu-graz.svg +0 -25
- invenio_app_rdm/theme/static/images/logo-tu-wien.svg +0 -23
- invenio_app_rdm/theme/static/images/logo-tubitak.svg +0 -49
- invenio_app_rdm/theme/static/images/logo-uni-hamburg.png +0 -0
- invenio_app_rdm/theme/static/images/logo-uni-munster.png +0 -0
- invenio_app_rdm/theme/static/images/logo-wacren.png +0 -0
- invenio_app_rdm/translations/en/LC_MESSAGES/messages.mo +0 -0
- invenio_app_rdm/translations/en/LC_MESSAGES/messages.po +0 -29
- invenio_app_rdm/version.py +0 -23
- invenio_app_rdm-5.0.0.dev0.dist-info/AUTHORS.rst +0 -11
- invenio_app_rdm-5.0.0.dev0.dist-info/METADATA +0 -75
- invenio_app_rdm-5.0.0.dev0.dist-info/RECORD +0 -138
- invenio_app_rdm-5.0.0.dev0.dist-info/entry_points.txt +0 -13
- /invenio_app_rdm/{translations/.gitkeep → fixtures/data/pages.yaml} +0 -0
- {invenio_app_rdm-5.0.0.dev0.dist-info → invenio_app_rdm-14.0.0b4.dev4.dist-info/licenses}/LICENSE +0 -0
- {invenio_app_rdm-5.0.0.dev0.dist-info → invenio_app_rdm-14.0.0b4.dev4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2022 TU Wien.
|
|
4
|
+
#
|
|
5
|
+
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
|
|
8
|
+
"""Record migration script from InvenioRDM 7.0 to 8.0.
|
|
9
|
+
|
|
10
|
+
Disclaimer: This script is intended to be executed *only once*, namely when
|
|
11
|
+
upgrading from InvenioRDM 7.0 to 8.0!
|
|
12
|
+
If this script is executed at any other time, probably the best case scenario
|
|
13
|
+
is that nothing happens!
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from pathlib import Path
|
|
17
|
+
|
|
18
|
+
import invenio_rdm_records.fixtures as fixtures
|
|
19
|
+
from click import echo, secho
|
|
20
|
+
from invenio_access.permissions import system_identity
|
|
21
|
+
from invenio_db import db
|
|
22
|
+
from invenio_rdm_records.fixtures import (
|
|
23
|
+
PrioritizedVocabulariesFixtures,
|
|
24
|
+
VocabulariesFixture,
|
|
25
|
+
)
|
|
26
|
+
from invenio_vocabularies.proxies import current_service as vocabulary_svc
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def execute_upgrade():
|
|
30
|
+
"""Execute the upgrade from InvenioRDM 7.0 to 8.0.
|
|
31
|
+
|
|
32
|
+
Please read the disclaimer on this module before thinking about executing
|
|
33
|
+
this function!
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
def update_license(license_dict):
|
|
37
|
+
"""Update the stored vocabulary with the new icon."""
|
|
38
|
+
try:
|
|
39
|
+
echo(f"Updating license: {license_dict['id']}... ", nl=False)
|
|
40
|
+
license_ = vocabulary_svc.read(
|
|
41
|
+
system_identity, ("licenses", license_dict["id"])
|
|
42
|
+
)._obj
|
|
43
|
+
|
|
44
|
+
# NOTE: we don't use the service update method here because we
|
|
45
|
+
# want to evade validation errors, and the migration guide tells
|
|
46
|
+
# the users to completely rebuild the search indices anyway
|
|
47
|
+
# and we pop the '$schema' because it might be outdated and is
|
|
48
|
+
# a constant field anyway
|
|
49
|
+
license_["icon"] = license_dict["icon"]
|
|
50
|
+
license_.pop("$schema", None)
|
|
51
|
+
license_.commit()
|
|
52
|
+
secho("OK", fg="green")
|
|
53
|
+
|
|
54
|
+
except Exception as e:
|
|
55
|
+
secho("Error", fg="red")
|
|
56
|
+
return f"Error updating license '{license_dict['id']}': {e}"
|
|
57
|
+
|
|
58
|
+
return None
|
|
59
|
+
|
|
60
|
+
def update_licenses_from_fixture(fixture):
|
|
61
|
+
"""Use the given fixture to update the license vocabularies."""
|
|
62
|
+
errors = []
|
|
63
|
+
did_load_licenses = False
|
|
64
|
+
|
|
65
|
+
for id_, entry in fixture.read():
|
|
66
|
+
if id_ == "licenses":
|
|
67
|
+
for license_dict in entry.iterate(ignore=[]):
|
|
68
|
+
did_load_licenses = True
|
|
69
|
+
error = update_license(license_dict)
|
|
70
|
+
if error:
|
|
71
|
+
errors.append(error)
|
|
72
|
+
|
|
73
|
+
return did_load_licenses, errors
|
|
74
|
+
|
|
75
|
+
# let the prioritized vocabularies fixture take care of the
|
|
76
|
+
# path building and entrypoint definition, etc.
|
|
77
|
+
dir_ = Path(fixtures.__file__).parent
|
|
78
|
+
pf = PrioritizedVocabulariesFixtures(
|
|
79
|
+
system_identity,
|
|
80
|
+
app_data_folder=Path("./app_data"),
|
|
81
|
+
pkg_data_folder=(dir_ / "data"),
|
|
82
|
+
filename="vocabularies.yaml",
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
errors = []
|
|
86
|
+
licenses_loaded = False
|
|
87
|
+
|
|
88
|
+
# we're checking the same places as the prioritized vocabularies fixtures,
|
|
89
|
+
# and in the same order
|
|
90
|
+
# 1: check the app_data directory for the invenio instance
|
|
91
|
+
app_data_yaml_file = pf._app_data_folder / pf._filename
|
|
92
|
+
if app_data_yaml_file.exists():
|
|
93
|
+
app_data_fixture = VocabulariesFixture(system_identity, app_data_yaml_file)
|
|
94
|
+
licenses_loaded, errs = update_licenses_from_fixture(app_data_fixture)
|
|
95
|
+
errors.extend(errs)
|
|
96
|
+
|
|
97
|
+
# 2: check the entry points
|
|
98
|
+
extensions = [ep.load() for ep in pf._entry_points()]
|
|
99
|
+
for module in extensions:
|
|
100
|
+
directory = Path(module.__file__).parent
|
|
101
|
+
filepath = directory / pf._filename
|
|
102
|
+
vocab_list = pf.peek_vocabularies(filepath)
|
|
103
|
+
|
|
104
|
+
# check if the entry points define something for licenses
|
|
105
|
+
if not licenses_loaded and "licenses" in vocab_list:
|
|
106
|
+
extension_fixture = VocabulariesFixture(system_identity, filepath)
|
|
107
|
+
licenses_loaded, errs = update_licenses_from_fixture(extension_fixture)
|
|
108
|
+
errors.extend(errs)
|
|
109
|
+
|
|
110
|
+
# 3: check the default vocabularies from rdm-records
|
|
111
|
+
pkg_data_yaml_file = pf._pkg_data_folder / pf._filename
|
|
112
|
+
if not licenses_loaded and pkg_data_yaml_file.exists():
|
|
113
|
+
pkg_data_fixture = VocabulariesFixture(system_identity, pkg_data_yaml_file)
|
|
114
|
+
licenses_loaded, errs = update_licenses_from_fixture(pkg_data_fixture)
|
|
115
|
+
errors.extend(errs)
|
|
116
|
+
|
|
117
|
+
success = not errors
|
|
118
|
+
|
|
119
|
+
# give feedback on the operation
|
|
120
|
+
if not licenses_loaded:
|
|
121
|
+
secho(
|
|
122
|
+
"Warning: No licenses were upgraded, which is unexpected.",
|
|
123
|
+
fg="yellow",
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
if success:
|
|
127
|
+
db.session.commit()
|
|
128
|
+
secho(
|
|
129
|
+
"Data migration completed, please rebuild the search indices now.",
|
|
130
|
+
fg="green",
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
else:
|
|
134
|
+
db.session.rollback()
|
|
135
|
+
secho(
|
|
136
|
+
"Upgrade aborted due to the following errors:",
|
|
137
|
+
fg="red",
|
|
138
|
+
err=True,
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
for error in errors:
|
|
142
|
+
secho(error, fg="red", err=True)
|
|
143
|
+
|
|
144
|
+
msg = (
|
|
145
|
+
"The changes have been rolled back. "
|
|
146
|
+
"Please fix the above listed errors and try the upgrade again",
|
|
147
|
+
)
|
|
148
|
+
secho(msg, fg="yellow", err=True)
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
# if the script is executed on its own, perform the upgrade
|
|
152
|
+
if __name__ == "__main__":
|
|
153
|
+
execute_upgrade()
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2022 CERN.
|
|
4
|
+
#
|
|
5
|
+
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
|
|
8
|
+
"""Record migration script from InvenioRDM 8.0 to 9.0.
|
|
9
|
+
|
|
10
|
+
Disclaimer: This script is intended to be executed *only once*, namely when
|
|
11
|
+
upgrading from InvenioRDM 8.0 to 9.0!
|
|
12
|
+
If this script is executed at any other time, probably the best case scenario
|
|
13
|
+
is that nothing happens!
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from click import echo, secho
|
|
17
|
+
from invenio_db import db
|
|
18
|
+
from invenio_rdm_records.records.api import RDMRecord
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def execute_upgrade():
|
|
22
|
+
"""Execute the upgrade from InvenioRDM 8.0 to 9.0.
|
|
23
|
+
|
|
24
|
+
Please read the disclaimer on this module before thinking about executing
|
|
25
|
+
this function!
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
def update_funding_field(record):
|
|
29
|
+
try:
|
|
30
|
+
echo(f"Updating record: {record['id']}... ", nl=False)
|
|
31
|
+
for funding in record.metadata.get("funding", []):
|
|
32
|
+
award = funding.get("award", {})
|
|
33
|
+
funder = funding.get("funder", {})
|
|
34
|
+
if award.get("identifier") and award.get("scheme"):
|
|
35
|
+
award_identifier = award.pop("identifier")
|
|
36
|
+
award_scheme = award.pop("scheme")
|
|
37
|
+
funding["award"]["identifiers"] = [
|
|
38
|
+
{"identifier": award_identifier, "scheme": award_scheme}
|
|
39
|
+
]
|
|
40
|
+
if funder.get("identifier") and funder.get("scheme"):
|
|
41
|
+
funder.pop("identifier")
|
|
42
|
+
funder.pop("scheme")
|
|
43
|
+
if award.get("title", ""):
|
|
44
|
+
award_title = award.pop("title")
|
|
45
|
+
funding["award"]["title"] = {"en": award_title}
|
|
46
|
+
if funder.get("title", ""):
|
|
47
|
+
funder.pop("title")
|
|
48
|
+
secho("OK", fg="green")
|
|
49
|
+
return record
|
|
50
|
+
except Exception as e:
|
|
51
|
+
secho("Error {}".format(repr(e)), fg="red")
|
|
52
|
+
return None
|
|
53
|
+
|
|
54
|
+
errors = []
|
|
55
|
+
|
|
56
|
+
records = RDMRecord.model_cls.query.all()
|
|
57
|
+
for record in records:
|
|
58
|
+
r = RDMRecord(record.data, model=record)
|
|
59
|
+
r["$schema"] = "local://records/record-v5.0.0.json"
|
|
60
|
+
res = update_funding_field(r)
|
|
61
|
+
if res is None:
|
|
62
|
+
errors.append("Record {} failed to update funding".format(r.id))
|
|
63
|
+
else:
|
|
64
|
+
r = res
|
|
65
|
+
r.commit()
|
|
66
|
+
|
|
67
|
+
success = not errors
|
|
68
|
+
|
|
69
|
+
if success:
|
|
70
|
+
echo("Committing to DB", nl=True)
|
|
71
|
+
db.session.commit()
|
|
72
|
+
secho(
|
|
73
|
+
"Data migration completed, please rebuild the search indices now.",
|
|
74
|
+
fg="green",
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
else:
|
|
78
|
+
echo("Rollback", nl=True)
|
|
79
|
+
db.session.rollback()
|
|
80
|
+
secho(
|
|
81
|
+
"Upgrade aborted due to the following errors:",
|
|
82
|
+
fg="red",
|
|
83
|
+
err=True,
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
for error in errors:
|
|
87
|
+
secho(error, fg="red", err=True)
|
|
88
|
+
|
|
89
|
+
msg = (
|
|
90
|
+
"The changes have been rolled back. "
|
|
91
|
+
"Please fix the above listed errors and try the upgrade again",
|
|
92
|
+
)
|
|
93
|
+
secho(msg, fg="yellow", err=True)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
# if the script is executed on its own, perform the upgrade
|
|
97
|
+
if __name__ == "__main__":
|
|
98
|
+
execute_upgrade()
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2022 CERN.
|
|
4
|
+
#
|
|
5
|
+
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
|
|
8
|
+
"""Record migration script from InvenioRDM 9.0 to 10.0.
|
|
9
|
+
|
|
10
|
+
Disclaimer: This script is intended to be executed *only once*, namely when
|
|
11
|
+
upgrading from InvenioRDM 9.0 to 10.0!
|
|
12
|
+
If this script is executed at any other time, probably the best case scenario
|
|
13
|
+
is that nothing happens!
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from click import echo, secho
|
|
17
|
+
from invenio_db import db
|
|
18
|
+
from invenio_oaiserver.models import OAISet
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def execute_upgrade():
|
|
22
|
+
"""Execute the upgrade from InvenioRDM 9.0 to 10.0.
|
|
23
|
+
|
|
24
|
+
Please read the disclaimer on this module before thinking about executing
|
|
25
|
+
this function!
|
|
26
|
+
"""
|
|
27
|
+
system_created_sets = OAISet.query.filter(OAISet.spec.like("community-%")).all()
|
|
28
|
+
|
|
29
|
+
for system_created_set in system_created_sets:
|
|
30
|
+
echo(f"Updating record: {system_created_set.id}... ", nl=True)
|
|
31
|
+
system_created_set.system_created = True
|
|
32
|
+
|
|
33
|
+
echo("Committing to DB", nl=True)
|
|
34
|
+
db.session.commit()
|
|
35
|
+
secho(
|
|
36
|
+
"Data migration completed.",
|
|
37
|
+
fg="green",
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# if the script is executed on its own, perform the upgrade
|
|
42
|
+
if __name__ == "__main__":
|
|
43
|
+
execute_upgrade()
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2023 Graz University of Technology.
|
|
4
|
+
#
|
|
5
|
+
# Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
6
|
+
# under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
|
|
8
|
+
"""RDM User Schemas."""
|
|
9
|
+
|
|
10
|
+
from invenio_users_resources.services.schemas import (
|
|
11
|
+
NotificationPreferences,
|
|
12
|
+
UserPreferencesSchema,
|
|
13
|
+
UserSchema,
|
|
14
|
+
)
|
|
15
|
+
from marshmallow import fields
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class UserPreferencesNotificationsSchema(UserPreferencesSchema):
|
|
19
|
+
"""Schema extending preferences with notification preferences for model validation."""
|
|
20
|
+
|
|
21
|
+
notifications = fields.Nested(NotificationPreferences)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class NotificationsUserSchema(UserSchema):
|
|
25
|
+
"""Schema extending preferences with notification preferences for user service."""
|
|
26
|
+
|
|
27
|
+
preferences = fields.Nested(UserPreferencesNotificationsSchema)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2022 CERN.
|
|
4
|
+
# Copyright (C) 2022 Northwestern University.
|
|
5
|
+
#
|
|
6
|
+
# Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
7
|
+
# under the terms of the MIT License; see LICENSE file for more details.
|
|
8
|
+
|
|
9
|
+
"""RDM User dashboard module."""
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2022 CERN.
|
|
4
|
+
#
|
|
5
|
+
# Invenio-App-RDM is free software; you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
|
|
8
|
+
"""Configuration helper for React-SearchKit."""
|
|
9
|
+
|
|
10
|
+
from functools import partial
|
|
11
|
+
|
|
12
|
+
from flask import current_app
|
|
13
|
+
from invenio_search_ui.searchconfig import search_app_config
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def search_app_context():
|
|
17
|
+
"""Search app context processor."""
|
|
18
|
+
return {
|
|
19
|
+
"search_app_rdm_user_uploads_config": partial(
|
|
20
|
+
search_app_config,
|
|
21
|
+
"RDM_SEARCH_DRAFTS",
|
|
22
|
+
current_app.config["RDM_FACETS"],
|
|
23
|
+
current_app.config["RDM_SORT_OPTIONS"],
|
|
24
|
+
"/api/user/records",
|
|
25
|
+
{"Accept": "application/vnd.inveniordm.v1+json"},
|
|
26
|
+
pagination_options=(10, 20),
|
|
27
|
+
initial_filters=[
|
|
28
|
+
["shared_with_me", "false"],
|
|
29
|
+
],
|
|
30
|
+
),
|
|
31
|
+
"search_app_rdm_user_communities_config": partial(
|
|
32
|
+
search_app_config,
|
|
33
|
+
"RDM_SEARCH_USER_COMMUNITIES",
|
|
34
|
+
current_app.config["COMMUNITIES_FACETS"],
|
|
35
|
+
current_app.config["RDM_SORT_OPTIONS"],
|
|
36
|
+
"/api/user/communities",
|
|
37
|
+
{"Accept": "application/vnd.inveniordm.v1+json"},
|
|
38
|
+
pagination_options=(10, 20),
|
|
39
|
+
),
|
|
40
|
+
"search_app_rdm_user_requests_config": partial(
|
|
41
|
+
search_app_config,
|
|
42
|
+
"RDM_SEARCH_USER_REQUESTS",
|
|
43
|
+
current_app.config["REQUESTS_FACETS"],
|
|
44
|
+
current_app.config["RDM_SORT_OPTIONS"],
|
|
45
|
+
"/api/user/requests",
|
|
46
|
+
{"Accept": "application/json"},
|
|
47
|
+
initial_filters=[
|
|
48
|
+
["is_open", "true"],
|
|
49
|
+
["shared_with_me", "false"],
|
|
50
|
+
],
|
|
51
|
+
hidden_params=[["expand", "1"]],
|
|
52
|
+
),
|
|
53
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{#
|
|
2
|
+
Copyright (C) 2020 CERN.
|
|
3
|
+
Copyright (C) 2020 Northwestern University.
|
|
4
|
+
|
|
5
|
+
Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
6
|
+
under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
#}
|
|
8
|
+
{%- extends config.BASE_TEMPLATE %}
|
|
9
|
+
|
|
10
|
+
{%- block page_body %}
|
|
11
|
+
|
|
12
|
+
{%- block user_dashboard_header %}
|
|
13
|
+
{% include "invenio_app_rdm/users/header.html" %}
|
|
14
|
+
{%- endblock user_dashboard_header %}
|
|
15
|
+
|
|
16
|
+
<div class="ui container rel-mt-2">
|
|
17
|
+
{%- block user_dashboard_body %}
|
|
18
|
+
{%- endblock user_dashboard_body %}
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
{%- endblock page_body %}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{#
|
|
2
|
+
Copyright (C) 2020 CERN.
|
|
3
|
+
Copyright (C) 2020 Northwestern University.
|
|
4
|
+
|
|
5
|
+
Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
6
|
+
under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
#}
|
|
8
|
+
{%- set title = _("Communities") %}
|
|
9
|
+
{%- extends "invenio_app_rdm/users/base.html" %}
|
|
10
|
+
|
|
11
|
+
{% set active_dashboard_menu_item = 'communities' %}
|
|
12
|
+
|
|
13
|
+
{%- block javascript %}
|
|
14
|
+
{{ super() }}
|
|
15
|
+
{{ webpack['invenio-app-rdm-user-communities.js'] }}
|
|
16
|
+
{%- endblock javascript %}
|
|
17
|
+
|
|
18
|
+
{%- block user_dashboard_body %}
|
|
19
|
+
<div
|
|
20
|
+
id="invenio-search-config"
|
|
21
|
+
data-invenio-search-config='{{ search_app_rdm_user_communities_config(app_id="InvenioAppRdm.DashboardCommunities") | tojson }}'
|
|
22
|
+
data-can-create-community='{{ can_create_community | tojson }}'
|
|
23
|
+
>
|
|
24
|
+
</div>
|
|
25
|
+
{%- endblock user_dashboard_body %}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
This file is part of Invenio.
|
|
4
|
+
Copyright (C) 2022-2024 CERN.
|
|
5
|
+
|
|
6
|
+
Invenio is free software; you can redistribute it and/or modify it
|
|
7
|
+
under the terms of the MIT License; see LICENSE file for more details.
|
|
8
|
+
#}
|
|
9
|
+
|
|
10
|
+
<div class="ui container fluid page-subheader-outer shadowless with-submenu ml-0-mobile mr-0-mobile mb-0 pb-0 rel-pt-2" id="dashboard-user-header-container">
|
|
11
|
+
<div class="ui container page-subheader flex justify-space-between align-items-center">
|
|
12
|
+
<div class="ui items unstackable m-0">
|
|
13
|
+
<div class="item">
|
|
14
|
+
<div class="ui image dashboard-header-avatar">
|
|
15
|
+
<img src="{{ user_avatar }}" alt="" />
|
|
16
|
+
</div>
|
|
17
|
+
<div class="middle aligned content rel-pl-1">
|
|
18
|
+
<h1 class="ui medium header" aria-label="{{ _('Your dashboard') }}">{{ current_userprofile.full_name or current_user.username or current_userprofile.email or _('Anonymous user')}}</h1>
|
|
19
|
+
{% if current_userprofile.affiliations %}
|
|
20
|
+
<div class="meta">{{ current_userprofile.affiliations }}</div>
|
|
21
|
+
{% endif %}
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
{% if active_dashboard_menu_item == "uploads" %}
|
|
26
|
+
<a class="ui tiny button positive left labeled icon m-0" href={{ url_for("invenio_app_rdm_records.deposit_create") }}>
|
|
27
|
+
<i class="upload icon" aria-hidden="true"></i>
|
|
28
|
+
{{ _('New upload') }}
|
|
29
|
+
</a>
|
|
30
|
+
{% endif %}
|
|
31
|
+
|
|
32
|
+
{% if active_dashboard_menu_item == "communities" %}
|
|
33
|
+
<a class="ui tiny button positive left labeled icon m-0" href={{ url_for("invenio_communities.communities_new") }}>
|
|
34
|
+
<i class="plus icon" aria-hidden="true"></i>
|
|
35
|
+
{{ _('New community') }}
|
|
36
|
+
</a>
|
|
37
|
+
{% endif %}
|
|
38
|
+
</div>
|
|
39
|
+
<div class="ui container secondary pointing menu page-subheader pl-0">
|
|
40
|
+
{% for item in current_menu.submenu('dashboard').children if item.visible %}
|
|
41
|
+
<a
|
|
42
|
+
class="item {{ 'active' if active_dashboard_menu_item == item.name }} {{ 'disabled' if not item.url }}"
|
|
43
|
+
href="{{ item.url }}">{{ item.text }}</a>
|
|
44
|
+
{% endfor %}
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{#
|
|
2
|
+
Copyright (C) 2020 CERN.
|
|
3
|
+
Copyright (C) 2020 Northwestern University.
|
|
4
|
+
|
|
5
|
+
Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
6
|
+
under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
#}
|
|
8
|
+
{%- set title = _("Requests") %}
|
|
9
|
+
{%- extends "invenio_app_rdm/users/base.html" %}
|
|
10
|
+
|
|
11
|
+
{% set active_dashboard_menu_item = 'requests' %}
|
|
12
|
+
|
|
13
|
+
{%- block javascript %}
|
|
14
|
+
{{ super() }}
|
|
15
|
+
{{ webpack['invenio-app-rdm-user-requests.js'] }}
|
|
16
|
+
{%- endblock javascript %}
|
|
17
|
+
|
|
18
|
+
{%- block user_dashboard_body %}
|
|
19
|
+
<div
|
|
20
|
+
id="invenio-search-config"
|
|
21
|
+
data-invenio-search-config='{{ search_app_rdm_user_requests_config(app_id="InvenioAppRdm.DashboardRequests") | tojson }}'
|
|
22
|
+
>
|
|
23
|
+
</div>
|
|
24
|
+
{%- endblock user_dashboard_body %}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{#
|
|
2
|
+
Copyright (C) 2020 CERN.
|
|
3
|
+
Copyright (C) 2020 Northwestern University.
|
|
4
|
+
|
|
5
|
+
Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
6
|
+
under the terms of the MIT License; see LICENSE file for more details.
|
|
7
|
+
#}
|
|
8
|
+
{%- set title = _("Uploads") %}
|
|
9
|
+
{%- extends "invenio_app_rdm/users/base.html" %}
|
|
10
|
+
|
|
11
|
+
{% set active_dashboard_menu_item = 'uploads' %}
|
|
12
|
+
|
|
13
|
+
{%- block javascript %}
|
|
14
|
+
{{ super() }}
|
|
15
|
+
{{ webpack['invenio-app-rdm-user-uploads.js'] }}
|
|
16
|
+
{%- endblock javascript %}
|
|
17
|
+
|
|
18
|
+
{%- block user_dashboard_body %}
|
|
19
|
+
<div
|
|
20
|
+
id="invenio-search-config"
|
|
21
|
+
data-invenio-search-config='{{ search_app_rdm_user_uploads_config(app_id="InvenioAppRdm.DashboardUploads") | tojson }}'
|
|
22
|
+
>
|
|
23
|
+
|
|
24
|
+
</div>
|
|
25
|
+
{%- endblock user_dashboard_body %}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file is part of Invenio.
|
|
4
|
+
# Copyright (C) 2016-2022 CERN.
|
|
5
|
+
# Copyright (C) 2022 Northwestern University.
|
|
6
|
+
#
|
|
7
|
+
# Invenio is free software; you can redistribute it and/or modify it
|
|
8
|
+
# under the terms of the MIT License; see LICENSE file for more details.
|
|
9
|
+
|
|
10
|
+
"""Community views."""
|
|
11
|
+
|
|
12
|
+
from .ui import create_ui_blueprint
|
|
13
|
+
|
|
14
|
+
__all__ = ("create_ui_blueprint",)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# Copyright (C) 2022 CERN.
|
|
4
|
+
# Copyright (C) 2022 Northwestern University.
|
|
5
|
+
#
|
|
6
|
+
# Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
7
|
+
# under the terms of the MIT License; see LICENSE file for more details.
|
|
8
|
+
|
|
9
|
+
"""RDM User dashboard views."""
|
|
10
|
+
|
|
11
|
+
from flask import g, render_template
|
|
12
|
+
from flask_login import current_user, login_required
|
|
13
|
+
from invenio_communities.proxies import current_communities
|
|
14
|
+
from invenio_users_resources.proxies import current_user_resources
|
|
15
|
+
|
|
16
|
+
from ...records_ui.views.deposits import get_search_url
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@login_required
|
|
20
|
+
def uploads():
|
|
21
|
+
"""Display user dashboard page."""
|
|
22
|
+
url = current_user_resources.users_service.links_item_tpl.expand(
|
|
23
|
+
g.identity, current_user
|
|
24
|
+
)["avatar"]
|
|
25
|
+
return render_template(
|
|
26
|
+
"invenio_app_rdm/users/uploads.html",
|
|
27
|
+
searchbar_config=dict(searchUrl=get_search_url()),
|
|
28
|
+
user_avatar=url,
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@login_required
|
|
33
|
+
def requests():
|
|
34
|
+
"""Display user dashboard page."""
|
|
35
|
+
url = current_user_resources.users_service.links_item_tpl.expand(
|
|
36
|
+
g.identity, current_user
|
|
37
|
+
)["avatar"]
|
|
38
|
+
return render_template(
|
|
39
|
+
"invenio_app_rdm/users/requests.html",
|
|
40
|
+
searchbar_config=dict(searchUrl=get_search_url()),
|
|
41
|
+
user_avatar=url,
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@login_required
|
|
46
|
+
def communities():
|
|
47
|
+
"""Display user dashboard page."""
|
|
48
|
+
url = current_user_resources.users_service.links_item_tpl.expand(
|
|
49
|
+
g.identity, current_user
|
|
50
|
+
)["avatar"]
|
|
51
|
+
can_create_community = current_communities.service.check_permission(
|
|
52
|
+
g.identity, "create"
|
|
53
|
+
)
|
|
54
|
+
return render_template(
|
|
55
|
+
"invenio_app_rdm/users/communities.html",
|
|
56
|
+
searchbar_config=dict(searchUrl=get_search_url()),
|
|
57
|
+
user_avatar=url,
|
|
58
|
+
can_create_community=can_create_community,
|
|
59
|
+
)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
#
|
|
3
|
+
# This file is part of Invenio.
|
|
4
|
+
# Copyright (C) 2016-2021 CERN.
|
|
5
|
+
# Copyright (C) 2023-2024 Graz University of Technology.
|
|
6
|
+
#
|
|
7
|
+
# Invenio is free software; you can redistribute it and/or modify it
|
|
8
|
+
# under the terms of the MIT License; see LICENSE file for more details.
|
|
9
|
+
|
|
10
|
+
"""Communities UI views."""
|
|
11
|
+
|
|
12
|
+
from flask import Blueprint, current_app, render_template
|
|
13
|
+
from flask_login import current_user
|
|
14
|
+
|
|
15
|
+
from ..searchapp import search_app_context
|
|
16
|
+
from .dashboard import communities, requests, uploads
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#
|
|
20
|
+
# Error handlers
|
|
21
|
+
#
|
|
22
|
+
def not_found_error(error):
|
|
23
|
+
"""Handler for 'Not Found' errors."""
|
|
24
|
+
return render_template(current_app.config["THEME_404_TEMPLATE"]), 404
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def record_permission_denied_error(error):
|
|
28
|
+
"""Handle permission denier error on record views."""
|
|
29
|
+
if not current_user.is_authenticated:
|
|
30
|
+
# trigger the flask-login unauthorized handler
|
|
31
|
+
return current_app.login_manager.unauthorized()
|
|
32
|
+
return render_template(current_app.config["THEME_403_TEMPLATE"]), 403
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
#
|
|
36
|
+
# Registration
|
|
37
|
+
#
|
|
38
|
+
def create_ui_blueprint(app):
|
|
39
|
+
"""Register blueprint routes on app."""
|
|
40
|
+
routes = app.config.get("APP_RDM_USER_DASHBOARD_ROUTES")
|
|
41
|
+
|
|
42
|
+
blueprint = Blueprint(
|
|
43
|
+
"invenio_app_rdm_users",
|
|
44
|
+
__name__,
|
|
45
|
+
template_folder="../templates",
|
|
46
|
+
static_folder="../static",
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
blueprint.add_url_rule(
|
|
50
|
+
routes["uploads"],
|
|
51
|
+
view_func=uploads,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
# Settings tab routes
|
|
55
|
+
blueprint.add_url_rule(
|
|
56
|
+
routes["communities"],
|
|
57
|
+
view_func=communities,
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
blueprint.add_url_rule(
|
|
61
|
+
routes["requests"],
|
|
62
|
+
view_func=requests,
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
# Register context processor
|
|
66
|
+
blueprint.app_context_processor(search_app_context)
|
|
67
|
+
|
|
68
|
+
return blueprint
|