invenio-app-rdm 12.0.0.dev8__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.
Files changed (479) hide show
  1. invenio_app_rdm/__init__.py +3 -2
  2. invenio_app_rdm/{stats/templates/events/record_view/v7 → administration}/__init__.py +1 -3
  3. invenio_app_rdm/{stats/templates/events/record_view → administration/audit_logs}/__init__.py +6 -4
  4. invenio_app_rdm/administration/audit_logs/audit_logs.py +81 -0
  5. invenio_app_rdm/administration/domains/__init__.py +22 -0
  6. invenio_app_rdm/administration/domains/domains.py +159 -0
  7. invenio_app_rdm/administration/moderation/__init__.py +11 -0
  8. invenio_app_rdm/administration/moderation/requests.py +175 -0
  9. invenio_app_rdm/administration/records/__init__.py +15 -0
  10. invenio_app_rdm/administration/records/records.py +163 -0
  11. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/audit_logs.html +14 -0
  12. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/domains_search.html +13 -0
  13. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/records/drafts.html +14 -0
  14. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/records/records.html +14 -0
  15. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/requests.html +14 -0
  16. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/requests_details.html +91 -0
  17. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/user_moderation.html +14 -0
  18. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/user_moderation_details.html +14 -0
  19. invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/users_search.html +14 -0
  20. invenio_app_rdm/{stats/templates/aggregations/aggr_record_view/v7 → administration/user_moderation}/__init__.py +4 -3
  21. invenio_app_rdm/administration/user_moderation/user_moderation.py +175 -0
  22. invenio_app_rdm/administration/users/__init__.py +12 -0
  23. invenio_app_rdm/administration/users/users.py +130 -0
  24. invenio_app_rdm/{stats/templates/events/file_download/v7 → administration/views}/__init__.py +4 -3
  25. invenio_app_rdm/administration/views/ui.py +21 -0
  26. invenio_app_rdm/cli.py +37 -14
  27. invenio_app_rdm/communities_ui/searchapp.py +1 -0
  28. invenio_app_rdm/communities_ui/sitemap.py +63 -0
  29. invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/collections/collection.html +60 -0
  30. invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/collections/macros.html +43 -0
  31. invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/details/browse/index.html +59 -0
  32. invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/{details → records}/index.html +1 -1
  33. invenio_app_rdm/communities_ui/views/communities.py +183 -8
  34. invenio_app_rdm/communities_ui/views/ui.py +52 -42
  35. invenio_app_rdm/config.py +586 -90
  36. invenio_app_rdm/ext.py +157 -0
  37. invenio_app_rdm/fixtures/__init__.py +2 -2
  38. invenio_app_rdm/fixtures/pages.py +34 -12
  39. invenio_app_rdm/records_ui/searchapp.py +43 -0
  40. invenio_app_rdm/records_ui/sitemap.py +44 -0
  41. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html +59 -16
  42. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html +236 -141
  43. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/access-form.html +64 -0
  44. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html +4 -3
  45. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/contact.html +2 -1
  46. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/creatibutors.html +22 -20
  47. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/description.html +7 -5
  48. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html +290 -230
  49. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/doi.html +3 -24
  50. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/meta.html +36 -0
  51. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/citations.html +6 -0
  52. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +30 -22
  53. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/details.html +20 -19
  54. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/export.html +19 -16
  55. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html +55 -0
  56. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/keywords_subjects.html +9 -5
  57. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html +62 -49
  58. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/locations.html +23 -0
  59. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html +24 -4
  60. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/metrics.html +2 -2
  61. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/technical_metadata.html +21 -0
  62. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/versions.html +15 -5
  63. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html +93 -79
  64. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/subjects.html +1 -1
  65. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/draft_not_found.html +17 -0
  66. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/export.html +2 -1
  67. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/creatibutors.html +54 -39
  68. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html +182 -93
  69. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html +36 -0
  70. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html +152 -79
  71. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/locations.html +62 -0
  72. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/version.html +3 -2
  73. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/restricted_with_doi_tombstone.html +33 -0
  74. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html +55 -12
  75. invenio_app_rdm/records_ui/utils.py +126 -1
  76. invenio_app_rdm/records_ui/views/__init__.py +75 -17
  77. invenio_app_rdm/records_ui/views/decorators.py +309 -38
  78. invenio_app_rdm/records_ui/views/deposits.py +302 -51
  79. invenio_app_rdm/records_ui/views/filters.py +74 -7
  80. invenio_app_rdm/records_ui/views/records.py +256 -90
  81. invenio_app_rdm/redirector/resource.py +1 -0
  82. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-submission/index.html +34 -8
  83. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/file-modification/index.html +88 -0
  84. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/guest-access-request/index.html +66 -0
  85. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/macros/request_header.html +5 -3
  86. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/record-deletion/index.html +95 -0
  87. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity/index.html +49 -0
  88. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity-invitation/index.html +49 -0
  89. invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/user-access-request/index.html +59 -0
  90. invenio_app_rdm/requests_ui/views/requests.py +221 -42
  91. invenio_app_rdm/requests_ui/views/ui.py +17 -4
  92. invenio_app_rdm/tasks.py +6 -2
  93. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/AuditLogActions.js +136 -0
  94. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewJson.js +35 -0
  95. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js +119 -0
  96. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/index.js +31 -0
  97. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/search/SearchResultItemLayout.js +87 -0
  98. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/search/index.js +9 -0
  99. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/CompareRevisionsDropdown.js +89 -0
  100. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUser.js +92 -0
  101. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUserForm.js +199 -0
  102. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +80 -0
  103. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaAction.js +109 -0
  104. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaForm.js +196 -0
  105. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/index.js +9 -0
  106. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/index.js +27 -0
  107. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/search/SearchResultItemLayout.js +185 -0
  108. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/search/index.js +9 -0
  109. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/drafts/index.js +32 -0
  110. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/CompareRevisions.js +129 -0
  111. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RecordActions.js +75 -0
  112. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RecordResourceActions.js +185 -0
  113. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RemovalReasonsSelect.js +85 -0
  114. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RestoreConfirmation.js +108 -0
  115. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/TombstoneForm.js +212 -0
  116. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/api.js +38 -0
  117. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/index.js +9 -0
  118. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js +30 -0
  119. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/index.js +40 -0
  120. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/AdministrationSearchLayout.js +56 -0
  121. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/RecordSearchLayout.js +84 -0
  122. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/SearchResultItemLayout.js +171 -0
  123. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/filters/DeletionStatusFilter.js +121 -0
  124. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/filters/index.js +9 -0
  125. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/index.js +10 -0
  126. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js +81 -0
  127. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchbarLayout.js +48 -0
  128. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/index.js +22 -0
  129. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/ModerationActions.js +103 -0
  130. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/index.js +29 -0
  131. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/SearchResultItemLayout.js +151 -0
  132. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/UserModerationSearchLayout.js +56 -0
  133. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/index.js +10 -0
  134. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/UserActions.js +263 -0
  135. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/api/api.js +42 -0
  136. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/api/index.js +8 -0
  137. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/api/routes.js +38 -0
  138. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/index.js +30 -0
  139. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/SearchResultItemLayout.js +202 -0
  140. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/UserSearchLayout.js +81 -0
  141. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/filters/UserStatusFilterComponent.js +114 -0
  142. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/filters/index.js +1 -0
  143. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/users/search/index.js +10 -0
  144. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/collectionRecordsSearch/index.js +61 -0
  145. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSearchAppLayout.js +2 -2
  146. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSearchBarElement.js +1 -1
  147. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/CommunityRecordsSingleSearchBarElement.js +1 -1
  148. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/communityRecordsSearch/index.js +8 -3
  149. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CompactStats.js +51 -0
  150. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js +38 -19
  151. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayPartOfCommunities.js +78 -0
  152. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayVerifiedCommunity.js +54 -0
  153. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js +45 -0
  154. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionModal.js +354 -0
  155. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionRadioGroup.js +44 -0
  156. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion.js +81 -0
  157. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordsResultsListItem.js +61 -31
  158. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +680 -486
  159. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/ShareDraftButton.js +65 -0
  160. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/config.js +48 -0
  161. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js +14 -2
  162. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/RecordsList.js +61 -21
  163. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/AccessRequestForm.js +254 -0
  164. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +171 -0
  165. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagementDropdown.js +186 -0
  166. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/EditButton.js +10 -1
  167. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js +7 -2
  168. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js +140 -0
  169. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageDefaultBrandingAction/ManageDefaultBrandingAction.js +129 -0
  170. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesModal.js +63 -0
  171. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesSearch.js +89 -0
  172. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunityRequestItem.js +33 -0
  173. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js +55 -51
  174. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesList.js +87 -89
  175. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js +44 -30
  176. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesSearch.js +39 -20
  177. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesSearchItem.js +44 -17
  178. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitySubmission/RecordCommunitySubmissionModal.js +171 -0
  179. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js +111 -62
  180. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js +99 -61
  181. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RemoveFromCommunity/RemoveFromCommunityAction.js +188 -0
  182. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/AccessDropdown.js +93 -0
  183. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/CreateAccessLink.js +98 -0
  184. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchItem.js +170 -0
  185. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchResultContainer.js +216 -0
  186. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksTab.js +104 -0
  187. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessRequests/AccessRequestsTab.js +230 -0
  188. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/AccessUsersGroups.js +178 -0
  189. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/AddUserGroupAccessModal.js +172 -0
  190. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/GroupsTab.js +88 -0
  191. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/PeopleTab.js +88 -0
  192. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/UserGroupAccessSearchResultItem.js +158 -0
  193. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/{ShareButton.js → ShareOptions/ShareButton.js} +13 -4
  194. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/ShareModal.js +238 -0
  195. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/api/api.js +39 -0
  196. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js +24 -0
  197. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +72 -25
  198. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +10 -6
  199. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/mapping.js +6 -1
  200. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/AccessRequestExpiration.js +56 -0
  201. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/index.js +1 -0
  202. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineEdit.js +177 -0
  203. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineRead.js +50 -0
  204. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/overrides/TimelineFeedHeader.js +34 -0
  205. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js +15 -13
  206. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/index.js +1 -1
  207. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/subcommunity/browse.js +28 -0
  208. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js +77 -9
  209. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/base.js +122 -74
  210. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/communities.js +1 -11
  211. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/requests.js +27 -412
  212. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads.js +15 -14
  213. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/ComputerTabletUploadsItem.js +47 -27
  214. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/MobileUploadsItem.js +43 -27
  215. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/utils.js +32 -7
  216. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/file_uploader/uppy.less +37 -0
  217. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/creatibutors.less +15 -4
  218. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less +5 -3
  219. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/form.overrides +15 -0
  220. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/grid.overrides +24 -33
  221. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/menu.overrides +18 -3
  222. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/message.overrides +19 -3
  223. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/message.variables +2 -0
  224. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/table.overrides +78 -6
  225. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/button.overrides +21 -0
  226. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/container.overrides +30 -7
  227. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/header.overrides +17 -4
  228. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/icon.overrides +2 -0
  229. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/image.overrides +34 -4
  230. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/input.overrides +10 -0
  231. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/label.overrides +48 -4
  232. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/list.overrides +10 -0
  233. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/elements/segment.overrides +16 -13
  234. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides +156 -97
  235. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.variables +7 -3
  236. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides +35 -9
  237. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/dropdown.overrides +28 -6
  238. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/dropdown.variables +1 -0
  239. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/modal.overrides +40 -11
  240. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/modal.variables +5 -0
  241. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.overrides +7 -0
  242. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/search.variables +0 -0
  243. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/transition.overrides +8 -8
  244. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/theme.less +2 -5
  245. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/card.overrides +4 -2
  246. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/views/item.overrides +20 -33
  247. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next.js +1 -1
  248. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/_generatedTranslations.js +66 -0
  249. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/messages.po +805 -138
  250. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ar/translations.json +306 -86
  251. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/messages.po +690 -71
  252. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/bg/translations.json +282 -86
  253. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/messages.po +700 -81
  254. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ca/translations.json +282 -86
  255. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/messages.po +822 -139
  256. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/cs/translations.json +294 -86
  257. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/messages.po +692 -67
  258. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/da/translations.json +282 -86
  259. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/messages.po +819 -139
  260. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/de/translations.json +282 -86
  261. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/messages.po +699 -79
  262. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/el/translations.json +282 -86
  263. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/messages.po +1000 -5
  264. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/en/translations.json +315 -2
  265. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/messages.po +811 -138
  266. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/es/translations.json +282 -86
  267. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/messages.po +747 -134
  268. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et/translations.json +282 -86
  269. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/messages.po +689 -70
  270. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fa/translations.json +282 -86
  271. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/messages.po +810 -127
  272. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/fr/translations.json +282 -86
  273. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/messages.po +696 -71
  274. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hr/translations.json +288 -86
  275. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/messages.po +804 -137
  276. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/hu/translations.json +282 -86
  277. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/index.js +17 -66
  278. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/messages.po +715 -88
  279. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/it/translations.json +282 -86
  280. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/messages.po +684 -71
  281. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ja/translations.json +276 -86
  282. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/messages.po +690 -71
  283. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ka/translations.json +282 -86
  284. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ko/messages.po +889 -0
  285. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ko/translations.json +277 -0
  286. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/messages.po +703 -72
  287. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/lt/translations.json +294 -86
  288. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/messages.po +690 -71
  289. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/no/translations.json +282 -86
  290. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/messages.po +705 -71
  291. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pl/translations.json +294 -86
  292. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/messages.po +695 -70
  293. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/pt/translations.json +282 -86
  294. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/messages.po +718 -86
  295. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ro/translations.json +288 -86
  296. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/messages.po +807 -125
  297. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/ru/translations.json +294 -86
  298. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/messages.po +714 -83
  299. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sk/translations.json +294 -86
  300. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/messages.po +809 -142
  301. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/sv/translations.json +282 -86
  302. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/messages.po +800 -129
  303. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/tr/translations.json +282 -86
  304. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/messages.po +717 -83
  305. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/uk/translations.json +294 -86
  306. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/messages.po +737 -124
  307. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_CN/translations.json +276 -86
  308. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/messages.po +684 -71
  309. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/zh_TW/translations.json +276 -86
  310. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package.json +5 -38
  311. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/translations.pot +863 -127
  312. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/administration_page.html +15 -0
  313. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/default_static_page.html +8 -8
  314. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/files_integrity_report/email/files_integrity_report.html +12 -12
  315. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/footer.html +33 -75
  316. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/header.html +42 -27
  317. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/header_frontpage.html +4 -2
  318. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/header_login.html +144 -113
  319. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html +2 -2
  320. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html +11 -6
  321. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.sv.html +254 -0
  322. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/statistics.sv.html +196 -0
  323. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/versioning.en.html +149 -0
  324. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/versioning.sv.html +143 -0
  325. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/intro_section.html +15 -16
  326. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/macros/records_list.html +33 -3
  327. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/page.html +36 -0
  328. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/page_cover.html +13 -0
  329. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/robots.txt +15 -0
  330. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/searchbar.html +43 -15
  331. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/settings/notifications.html +17 -0
  332. invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/site_footer.html +29 -0
  333. invenio_app_rdm/theme/templates/semantic-ui/invenio_communities/default_static_page.html +26 -0
  334. invenio_app_rdm/theme/templates/themes/default/invenio_app_rdm/header.html +147 -0
  335. invenio_app_rdm/theme/templates/themes/default/invenio_app_rdm/site_footer.html +42 -0
  336. invenio_app_rdm/theme/views.py +80 -28
  337. invenio_app_rdm/theme/webpack.py +38 -7
  338. invenio_app_rdm/translations/ar/LC_MESSAGES/messages.mo +0 -0
  339. invenio_app_rdm/translations/ar/LC_MESSAGES/messages.po +975 -378
  340. invenio_app_rdm/translations/bg/LC_MESSAGES/messages.mo +0 -0
  341. invenio_app_rdm/translations/bg/LC_MESSAGES/messages.po +908 -279
  342. invenio_app_rdm/translations/ca/LC_MESSAGES/messages.mo +0 -0
  343. invenio_app_rdm/translations/ca/LC_MESSAGES/messages.po +913 -284
  344. invenio_app_rdm/translations/cs/LC_MESSAGES/messages.mo +0 -0
  345. invenio_app_rdm/translations/cs/LC_MESSAGES/messages.po +1070 -406
  346. invenio_app_rdm/translations/da/LC_MESSAGES/messages.mo +0 -0
  347. invenio_app_rdm/translations/da/LC_MESSAGES/messages.po +909 -274
  348. invenio_app_rdm/translations/de/LC_MESSAGES/messages.mo +0 -0
  349. invenio_app_rdm/translations/de/LC_MESSAGES/messages.po +1018 -407
  350. invenio_app_rdm/translations/el/LC_MESSAGES/messages.mo +0 -0
  351. invenio_app_rdm/translations/el/LC_MESSAGES/messages.po +916 -287
  352. invenio_app_rdm/translations/es/LC_MESSAGES/messages.mo +0 -0
  353. invenio_app_rdm/translations/es/LC_MESSAGES/messages.po +964 -372
  354. invenio_app_rdm/translations/et/LC_MESSAGES/messages.mo +0 -0
  355. invenio_app_rdm/translations/et/LC_MESSAGES/messages.po +939 -363
  356. invenio_app_rdm/translations/fa/LC_MESSAGES/messages.mo +0 -0
  357. invenio_app_rdm/translations/fa/LC_MESSAGES/messages.po +907 -278
  358. invenio_app_rdm/translations/fr/LC_MESSAGES/messages.mo +0 -0
  359. invenio_app_rdm/translations/fr/LC_MESSAGES/messages.po +1033 -376
  360. invenio_app_rdm/translations/hr/LC_MESSAGES/messages.mo +0 -0
  361. invenio_app_rdm/translations/hr/LC_MESSAGES/messages.po +908 -279
  362. invenio_app_rdm/translations/hu/LC_MESSAGES/messages.mo +0 -0
  363. invenio_app_rdm/translations/hu/LC_MESSAGES/messages.po +989 -372
  364. invenio_app_rdm/translations/it/LC_MESSAGES/messages.mo +0 -0
  365. invenio_app_rdm/translations/it/LC_MESSAGES/messages.po +970 -337
  366. invenio_app_rdm/translations/ja/LC_MESSAGES/messages.mo +0 -0
  367. invenio_app_rdm/translations/ja/LC_MESSAGES/messages.po +908 -279
  368. invenio_app_rdm/translations/ka/LC_MESSAGES/messages.mo +0 -0
  369. invenio_app_rdm/translations/ka/LC_MESSAGES/messages.po +910 -281
  370. invenio_app_rdm/translations/ko/LC_MESSAGES/messages.mo +0 -0
  371. invenio_app_rdm/translations/ko/LC_MESSAGES/messages.po +1361 -0
  372. invenio_app_rdm/translations/lt/LC_MESSAGES/messages.mo +0 -0
  373. invenio_app_rdm/translations/lt/LC_MESSAGES/messages.po +911 -282
  374. invenio_app_rdm/translations/messages.pot +982 -289
  375. invenio_app_rdm/translations/no/LC_MESSAGES/messages.mo +0 -0
  376. invenio_app_rdm/translations/no/LC_MESSAGES/messages.po +908 -279
  377. invenio_app_rdm/translations/pl/LC_MESSAGES/messages.mo +0 -0
  378. invenio_app_rdm/translations/pl/LC_MESSAGES/messages.po +908 -279
  379. invenio_app_rdm/translations/pt/LC_MESSAGES/messages.mo +0 -0
  380. invenio_app_rdm/translations/pt/LC_MESSAGES/messages.po +907 -278
  381. invenio_app_rdm/translations/ro/LC_MESSAGES/messages.mo +0 -0
  382. invenio_app_rdm/translations/ro/LC_MESSAGES/messages.po +1041 -382
  383. invenio_app_rdm/translations/ru/LC_MESSAGES/messages.mo +0 -0
  384. invenio_app_rdm/translations/ru/LC_MESSAGES/messages.po +1023 -371
  385. invenio_app_rdm/translations/sk/LC_MESSAGES/messages.mo +0 -0
  386. invenio_app_rdm/translations/sk/LC_MESSAGES/messages.po +917 -288
  387. invenio_app_rdm/translations/sv/LC_MESSAGES/messages.mo +0 -0
  388. invenio_app_rdm/translations/sv/LC_MESSAGES/messages.po +1007 -398
  389. invenio_app_rdm/translations/tr/LC_MESSAGES/messages.mo +0 -0
  390. invenio_app_rdm/translations/tr/LC_MESSAGES/messages.po +993 -342
  391. invenio_app_rdm/translations/uk/LC_MESSAGES/messages.mo +0 -0
  392. invenio_app_rdm/translations/uk/LC_MESSAGES/messages.po +984 -353
  393. invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
  394. invenio_app_rdm/translations/zh_CN/LC_MESSAGES/messages.po +940 -348
  395. invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
  396. invenio_app_rdm/translations/zh_TW/LC_MESSAGES/messages.po +908 -279
  397. invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_8_0_to_9_0.py +2 -2
  398. invenio_app_rdm/upgrade_scripts/migrate_10_0_to_11_0.py +1 -1
  399. invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py +205 -0
  400. invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +235 -0
  401. invenio_app_rdm/upgrade_scripts/migrate_2_0_to_3_0.py +1 -1
  402. invenio_app_rdm/upgrade_scripts/migrate_4_0_to_6_0.py +2 -3
  403. invenio_app_rdm/upgrade_scripts/migrate_6_0_to_7_0.py +0 -2
  404. invenio_app_rdm/upgrade_scripts/migrate_8_0_to_9_0.py +2 -2
  405. invenio_app_rdm/upgrade_scripts/migrate_9_0_to_10_0.py +1 -1
  406. invenio_app_rdm/users/schemas.py +27 -0
  407. invenio_app_rdm/users_ui/searchapp.py +9 -1
  408. invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/communities.html +1 -0
  409. invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/header.html +23 -9
  410. invenio_app_rdm/users_ui/views/__init__.py +1 -1
  411. invenio_app_rdm/users_ui/views/dashboard.py +6 -1
  412. invenio_app_rdm/users_ui/views/ui.py +5 -28
  413. invenio_app_rdm/utils/files.py +1 -1
  414. invenio_app_rdm/views.py +21 -0
  415. invenio_app_rdm-14.0.0b1.dev8.dist-info/METADATA +552 -0
  416. invenio_app_rdm-14.0.0b1.dev8.dist-info/RECORD +505 -0
  417. {invenio_app_rdm-12.0.0.dev8.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/WHEEL +1 -1
  418. invenio_app_rdm-14.0.0b1.dev8.dist-info/entry_points.txt +44 -0
  419. invenio_app_rdm/admin.py +0 -36
  420. invenio_app_rdm/stats/__init__.py +0 -24
  421. invenio_app_rdm/stats/event_builders.py +0 -112
  422. invenio_app_rdm/stats/permissions.py +0 -33
  423. invenio_app_rdm/stats/templates/aggregations/__init__.py +0 -10
  424. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/__init__.py +0 -10
  425. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/os-v1/__init__.py +0 -10
  426. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/os-v1/aggr-file-download-v1.0.0.json +0 -69
  427. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/os-v2/__init__.py +0 -10
  428. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/os-v2/aggr-file-download-v1.0.0.json +0 -69
  429. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/v7/__init__.py +0 -10
  430. invenio_app_rdm/stats/templates/aggregations/aggr_file_download/v7/aggr-file-download-v1.0.0.json +0 -69
  431. invenio_app_rdm/stats/templates/aggregations/aggr_record_view/__init__.py +0 -10
  432. invenio_app_rdm/stats/templates/aggregations/aggr_record_view/os-v1/__init__.py +0 -10
  433. invenio_app_rdm/stats/templates/aggregations/aggr_record_view/os-v1/aggr-record-view-v1.0.0.json +0 -46
  434. invenio_app_rdm/stats/templates/aggregations/aggr_record_view/os-v2/__init__.py +0 -10
  435. invenio_app_rdm/stats/templates/aggregations/aggr_record_view/os-v2/aggr-record-view-v1.0.0.json +0 -46
  436. invenio_app_rdm/stats/templates/aggregations/aggr_record_view/v7/aggr-record-view-v1.0.0.json +0 -46
  437. invenio_app_rdm/stats/templates/events/__init__.py +0 -10
  438. invenio_app_rdm/stats/templates/events/file_download/__init__.py +0 -10
  439. invenio_app_rdm/stats/templates/events/file_download/os-v1/__init__.py +0 -10
  440. invenio_app_rdm/stats/templates/events/file_download/os-v1/file-download-v1.0.0.json +0 -93
  441. invenio_app_rdm/stats/templates/events/file_download/os-v2/__init__.py +0 -10
  442. invenio_app_rdm/stats/templates/events/file_download/os-v2/file-download-v1.0.0.json +0 -93
  443. invenio_app_rdm/stats/templates/events/file_download/v7/file-download-v1.0.0.json +0 -93
  444. invenio_app_rdm/stats/templates/events/record_view/os-v1/__init__.py +0 -10
  445. invenio_app_rdm/stats/templates/events/record_view/os-v1/record-view-v1.0.0.json +0 -70
  446. invenio_app_rdm/stats/templates/events/record_view/os-v2/__init__.py +0 -10
  447. invenio_app_rdm/stats/templates/events/record_view/os-v2/record-view-v1.0.0.json +0 -70
  448. invenio_app_rdm/stats/templates/events/record_view/v7/record-view-v1.0.0.json +0 -70
  449. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareModal.js +0 -262
  450. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/requests_items/ComputerTabletRequestsItem.js +0 -74
  451. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/requests_items/MobileRequestsItem.js +0 -70
  452. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/i18next-scanner.config.js +0 -64
  453. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/af/messages.po +0 -272
  454. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/af/translations.json +0 -87
  455. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et_EE/messages.po +0 -272
  456. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/et_EE/translations.json +0 -87
  457. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/gl/messages.po +0 -272
  458. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/gl/translations.json +0 -87
  459. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/rw/messages.po +0 -272
  460. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/messages/rw/translations.json +0 -87
  461. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/package-lock.json +0 -1512
  462. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/compileCatalog.js +0 -40
  463. invenio_app_rdm/theme/assets/semantic-ui/translations/invenio_app_rdm/scripts/initCatalog.js +0 -20
  464. invenio_app_rdm/theme/static/robots.txt +0 -5
  465. invenio_app_rdm/translations/af/LC_MESSAGES/messages.mo +0 -0
  466. invenio_app_rdm/translations/af/LC_MESSAGES/messages.po +0 -728
  467. invenio_app_rdm/translations/et_EE/LC_MESSAGES/messages.mo +0 -0
  468. invenio_app_rdm/translations/et_EE/LC_MESSAGES/messages.po +0 -728
  469. invenio_app_rdm/translations/gl/LC_MESSAGES/messages.mo +0 -0
  470. invenio_app_rdm/translations/gl/LC_MESSAGES/messages.po +0 -728
  471. invenio_app_rdm/translations/rw/LC_MESSAGES/messages.mo +0 -0
  472. invenio_app_rdm/translations/rw/LC_MESSAGES/messages.po +0 -728
  473. invenio_app_rdm-12.0.0.dev8.dist-info/AUTHORS.rst +0 -11
  474. invenio_app_rdm-12.0.0.dev8.dist-info/METADATA +0 -103
  475. invenio_app_rdm-12.0.0.dev8.dist-info/RECORD +0 -402
  476. invenio_app_rdm-12.0.0.dev8.dist-info/entry_points.txt +0 -26
  477. /invenio_app_rdm/{translations/.gitkeep → theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/search/UserModerationBulkActions.js} +0 -0
  478. {invenio_app_rdm-12.0.0.dev8.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info/licenses}/LICENSE +0 -0
  479. {invenio_app_rdm-12.0.0.dev8.dist-info → invenio_app_rdm-14.0.0b1.dev8.dist-info}/top_level.txt +0 -0
@@ -1,9 +1,10 @@
1
1
  {#
2
- Copyright (C) 2020-2021 CERN.
2
+ Copyright (C) 2020-2025 CERN.
3
3
  Copyright (C) 2020-2021 Northwestern University.
4
- Copyright (C) 2021 TU Wien.
4
+ Copyright (C) 2021-2023 TU Wien.
5
5
  Copyright (C) 2021 Graz University of Technology.
6
6
  Copyright (C) 2021 New York University.
7
+ Copyright (C) 2024 KTH Royal Institute of Technology.
7
8
 
8
9
  Invenio RDM Records is free software; you can redistribute it and/or modify
9
10
  it under the terms of the MIT License; see LICENSE file for more details.
@@ -11,69 +12,112 @@
11
12
 
12
13
  {% if use_theme_basic_template|default(true) %}
13
14
  {%- extends config.BASE_TEMPLATE %}
15
+ {%- block css %}
16
+ {{ super() }}
17
+ {% if community and community.theme and community.theme.enabled %}
18
+ <link rel="stylesheet" type="text/css"
19
+ href="/communities/{{ community.slug }}/community-theme-{{ community.revision_id }}.css">
20
+ {% endif %}
21
+ {%- endblock css %}
14
22
  {% endif %}
15
23
 
16
- {%- from "invenio_app_rdm/records/macros/files.html" import file_list_box, preview_file_box %}
24
+ {%- from "invenio_app_rdm/records/macros/files.html" import file_list_box, preview_file_box, media_file_list_box with context %}
17
25
 
18
- {%- set title = record.metadata.title %}
19
- {%- set metadata = record.metadata %}
26
+ {%- set title = record_ui["metadata"]["title"] %}
27
+ {%- set metadata = record_ui["metadata"] %}
20
28
 
21
- {%- set can_manage_record = permissions is defined and (permissions.can_edit or permissions.can_review) %}
29
+ {%- set can_curate_record = permissions is defined and (permissions.can_edit or permissions.can_review) %}
22
30
 
23
31
  <!-- preview_submission_request is set to true when coming from a community submission request -->
24
32
  {%- set is_preview_submission_request = preview_submission_request or false %}
25
- {%- set show_record_management_menu = can_manage_record and (not is_preview or is_preview_submission_request) %}
33
+ {%- set show_record_management_menu = can_curate_record and (not is_preview or is_preview_submission_request) %}
34
+
35
+ {%- if record_ui["parent"]["access"]["settings"] %}
36
+ {%- set allow_user_requests = not current_user.is_anonymous and record_ui["parent"]["access"]["settings"]["allow_user_requests"] %}
37
+ {%- set allow_guest_requests = current_user.is_anonymous and record_ui["parent"]["access"]["settings"]["allow_guest_requests"] %}
38
+ {%- endif %}
39
+
40
+ {%- block head_meta %}
41
+ {% if use_theme_basic_template|default(true) %}
42
+ {{ super() }}
43
+ {% endif %}
44
+ {%- include "invenio_app_rdm/records/details/meta.html" %}
45
+ {%- endblock head_meta %}
46
+
47
+
48
+
26
49
 
27
50
  {%- block page_body %}
28
51
  <section id="banners" class="banners" aria-label="{{ _('Information banner') }}">
29
-
30
52
  <!-- COMMUNITY HEADER: hide it when displaying the submission request -->
31
53
  {% if not is_preview_submission_request %}
32
54
  {% if community %}
33
55
  {% set is_community_restricted = community.access.visibility == 'restricted' %}
34
- <div class="ui fluid container page-subheader-outer with-submenu compact ml-0-mobile mr-0-mobile">
35
- <div class="ui container page-subheader">
36
- <div class="page-subheader-element ">
37
- <img
38
- class="ui tiny image community-header-logo has-placeholder"
39
- src="{{ community.links.logo }}"
40
- alt=""
41
- />
42
- </div>
43
- <div class="page-subheader-element">
44
- <a
45
- href="{{ url_for('invenio_app_rdm_communities.communities_detail', pid_value=community.slug) }}"> {{ community.metadata.title }}</a>
46
- {% if is_community_restricted %}
47
- <span class="ui label small access-status restricted rel-ml-1"
48
- title="{{ _('Community visibility') }}"
49
- data-tooltip="{{ _('The community is restricted to users with access.') }}"
50
- data-inverted="">
56
+ {% if community.theme and community.theme.enabled %}
57
+ {% include "invenio_communities/details/header.html" %}
58
+ {% else %}
59
+ <div
60
+ class="ui fluid container page-subheader-outer with-submenu compact ml-0-mobile mr-0-mobile">
61
+ <div class="ui container page-subheader">
62
+ <div class="page-subheader-element">
63
+ <img
64
+ class="ui rounded image community-header-logo"
65
+ src="{{ community.links.logo | resolve_community_logo(community.id) }}"
66
+ alt=""
67
+ />
68
+ </div>
69
+ <div class="page-subheader-element">
70
+ <div class="ui header">
71
+ <a
72
+ href="{{ url_for('invenio_app_rdm_communities.communities_detail', pid_value=community.slug) }}" class="ui small header">
73
+ {{ community.metadata.title }}
74
+ </a>
75
+ <!-- Show the icon for subcommunities -->
76
+ {% if community.parent %}
77
+ <p class="ml-2 mb-0 display-inline-block"><i class="green check circle outline icon"></i></p>
78
+ {% endif %}
79
+ {% if community.parent %}
80
+ <div class="sub header">{{ _('Part of') }}
81
+ <a
82
+ href="{{ url_for('invenio_app_rdm_communities.communities_home', pid_value=community.parent.slug) }}">
83
+ {{community.parent.metadata.title}}
84
+ </a>
85
+ </div>
86
+ {% endif %}
87
+ </div>
88
+ {% if is_community_restricted %}
89
+ <span
90
+ class="ui label horizontal small access-status restricted rel-ml-1"
91
+ title="{{ _('Community visibility') }}"
92
+ data-tooltip="{{ _('The community is restricted to users with access.') }}"
93
+ data-inverted="">
51
94
  <i class="icon ban" aria-hidden="true"></i> {{ _("Restricted") }}
52
95
  </span>
53
- {% endif %}
96
+ {% endif %}
97
+ </div>
54
98
  </div>
55
99
  </div>
56
- </div>
100
+ {% endif %}
57
101
  {% endif %}
58
102
  {% endif %}
59
103
  <!-- /COMMUNITY HEADER -->
60
104
 
61
105
  <!-- PREVIEW HEADER -->
62
106
  {% if is_preview %}
63
- <div class="ui info flashed top attached manage message">
107
+ <div class="ui info flashed bottom attached manage message">
64
108
  <div class="ui container">
65
109
  <div class="header">
66
110
  <i class="eye icon"></i>
67
- <strong>{{ _ ("Preview") }}</strong>
111
+ <strong>{{ _("Preview") }}</strong>
68
112
  </div>
69
113
  <p>
70
114
  {% if not is_draft %}
71
115
  {{ _("You are previewing a published record.") }}
72
- {% elif record.is_published %}
116
+ {% elif record_ui["is_published"] %}
73
117
  {{ _("You are previewing changes that have not yet been published.") }}
74
- {% elif not record.is_published and record.versions.index == 1 %}
118
+ {% elif not record_ui["is_published"] and record_ui["versions"]["index"] == 1 %}
75
119
  {{ _("You are previewing a new record that has not yet been published.") }}
76
- {% elif not record.is_published and record.versions.index > 1 %}
120
+ {% elif not record_ui["is_published"] and record_ui["versions"]["index"] > 1 %}
77
121
  {{ _("You are previewing a new record version that has not yet been published.") }}
78
122
  {% endif %}
79
123
  </p>
@@ -82,15 +126,16 @@
82
126
  {% endif %}
83
127
  <!-- /PREVIEW HEADER -->
84
128
 
85
- {% if record.is_published and not record.versions.is_latest %}
86
- <div class="ui warning flashed top attached manage message">
129
+ {% if record_ui["is_published"] and record_ui["links"]["latest_html"] and not record_ui["versions"]["is_latest"] %}
130
+ <div class="ui warning flashed bottom attached manage message">
87
131
  <div class="ui container">
88
132
  <div class="ui relaxed grid">
89
133
  <div class="column">
90
134
  <div class="row">
91
135
  <p>
92
- {% trans link_start=('<a href="' + record.links.latest_html + '"><b>')|safe, link_end='</b></a>'|safe %}
93
- There is a {{ link_start }}newer version{{ link_end }} of the record available.
136
+ {% trans link_start=('<a href="' + record_ui["links"]["latest_html"] + '"><b>')|safe, link_end='</b></a>'|safe %}
137
+ There is a {{ link_start }}newer version{{ link_end }} of the record
138
+ available.
94
139
  {% endtrans %}
95
140
  </p>
96
141
  </div>
@@ -107,18 +152,19 @@
107
152
  <div class="two column row top-padded">
108
153
 
109
154
  {# Main content #}
110
- <article class="sixteen wide tablet eleven wide computer column main-record-content">
111
- {% if record.access.record == 'restricted' %}
155
+ <article
156
+ class="sixteen wide tablet eleven wide computer column main-record-content">
157
+ {% if record_ui["access"]["record"] == 'restricted' %}
112
158
  <section id="record-access-status"
113
- class="ui {{ record.ui.access_status.message_class }} message rel-mt-1"
159
+ class="ui {{ record_ui["ui"]["access_status"]["message_class"] }} message rel-mt-1"
114
160
  aria-label="{{ _('Record access information') }}"
115
161
  >
116
- <i class="{{ record.ui.access_status.icon }} icon"></i>
117
- <strong>{{ record.ui.access_status.title_l10n }}</strong>
118
- {{ record.ui.access_status.description_l10n }}
162
+ <i class="{{ record_ui["ui"]["access_status"]["icon"] }} icon" aria-hidden="true"></i>
163
+ <strong>{{ record_ui["ui"]["access_status"]["title_l10n"] }}</strong>
164
+ {{ record_ui["ui"]["access_status"]["description_l10n"] }}
119
165
 
120
- {% if record.access.embargo.reason %}
121
- <p>{{ _("Reason") }}: {{ record.access.embargo.reason }}</p>
166
+ {% if record_ui["access"]["embargo"]["reason"] %}
167
+ <p>{{ _("Reason") }}: {{ record_ui["access"]["embargo"]["reason"] }}</p>
122
168
  {% endif %}
123
169
  </section>
124
170
  {% endif %}
@@ -129,11 +175,13 @@
129
175
 
130
176
  {%- block record_header_button -%}
131
177
 
132
- {% if is_preview and not is_preview_submission_request and can_manage_record and is_draft %}
133
- <nav class="back-navigation rel-pb-2 pl-0" aria-label="{{ _('Back-navigation') }}">
134
- {%- set back_page = url_for('invenio_app_rdm_records.deposit_edit', pid_value=record.id) -%}
178
+ {% if is_preview and not is_preview_submission_request and can_curate_record and is_draft %}
179
+ <nav class="back-navigation rel-pb-2 pl-0"
180
+ aria-label="{{ _('Back-navigation') }}">
181
+ {%- set back_page = url_for('invenio_app_rdm_records.deposit_edit', pid_value=record_ui.id) -%}
135
182
  {%- set back_btn_label = _('Back to edit') -%}
136
- <a class="ui button labeled icon small compact" href="{{ back_page }}">
183
+ <a class="ui button labeled icon small compact"
184
+ href="{{ back_page }}">
137
185
  <i class="ui icon angle left"></i> {{ back_btn_label }}</a>
138
186
  </nav>
139
187
  {% endif %}
@@ -141,7 +189,8 @@
141
189
  {% endblock record_header_button %}
142
190
 
143
191
  {% if show_record_management_menu %}
144
- <section id="mobile-record-management" class="ui grid tablet only mobile only">
192
+ <section id="mobile-record-management"
193
+ class="ui grid tablet only mobile only">
145
194
  <div class="sixteen wide column right aligned">
146
195
  <button id="manage-record-btn"
147
196
  class="ui small basic icon button m-0"
@@ -151,42 +200,53 @@
151
200
  <i class="cog icon"></i> {{ _('Manage record') }}
152
201
  </button>
153
202
  </div>
154
-
155
203
  <div id="recordManagementMobile"
156
204
  role="dialog"
157
205
  class="ui flowing popup transition hidden"
158
- data-record='{{ record | tojson }}'
159
- data-permissions='{{ permissions | tojson }}'
160
- data-is-draft="{{ is_draft | tojson }}"
206
+ {% if config.RDM_DETAIL_SIDE_BAR_MANAGE_ATTRIBUTES_EXTENSION_TEMPLATE %}
207
+ {% include config.RDM_DETAIL_SIDE_BAR_MANAGE_ATTRIBUTES_EXTENSION_TEMPLATE %}
208
+ {% endif %}
161
209
  >
162
210
  </div>
163
211
  </section>
164
212
  {% endif %}
165
213
 
166
- <section id="record-info" aria-label="{{ _('Publication date and version number') }}">
214
+ <section id="record-info"
215
+ aria-label="{{ _('Publication date and version number') }}">
167
216
  <div class="ui grid middle aligned">
168
217
  <div class="two column row">
169
218
  <div class="left floated left aligned column">
170
219
  <span class="ui" title="{{ _('Publication date') }}">
171
- {{ _('Published') }} {{ record.ui.publication_date_l10n_long }}
220
+ {{ _('Published') }} {{ record_ui["ui"]["publication_date_l10n_long"] }}
172
221
  </span>
173
222
  <span
174
- class="label text-muted"> | {{ _('Version {version_number}').format(version_number=record.ui.version) }}</span>
223
+ class="label text-muted"> | {{ _('Version {version_number}').format(version_number=record_ui["ui"]["version"]) }}</span>
175
224
  </div>
176
225
  <div class="right floated right aligned column">
177
- {% if record.ui.resource_type %}
178
- <span class="ui label small neutral"
179
- title="{{ _('Resource type') }}">{{ record.ui.resource_type.title_l10n }}</span>
226
+
227
+ {% if record_ui["ui"]["resource_type"] %}
228
+ <span role="note"
229
+ class="ui label horizontal small neutral mb-5"
230
+ aria-label="{{ _('Resource type') }}"
231
+ >
232
+ {{ record_ui["ui"]["resource_type"]["title_l10n"] }}
233
+ </span>
180
234
  {% endif %}
181
- <span class="ui label small access-status {{ record.ui.access_status.id }}"
182
- title="{{ _('Access status') }}"
183
- data-tooltip="{{ record.ui.access_status.description_l10n }}"
235
+
236
+ <span role="note"
237
+ class="ui label horizontal small access-status {{ record_ui["ui"]["access_status"]["id"] }} mb-5"
238
+ data-tooltip="{{ record_ui["ui"]["access_status"]["description_l10n"] }}"
184
239
  data-inverted=""
240
+ aria-label="{{ _('Access status') }}"
185
241
  >
186
- {% if record.ui.access_status.icon %}
187
- <i class="icon {{ record.ui.access_status.icon }}"></i>
242
+ {% if record_ui["ui"]["access_status"]["icon"] %}
243
+ <i class="icon {{ record_ui["ui"]["access_status"]["icon"] }}"
244
+ aria-hidden="true"></i>
188
245
  {% endif %}
189
- {{ record.ui.access_status.title_l10n }}
246
+ <span
247
+ aria-label="{{ record_ui["ui"]["access_status"]["description_l10n"] }}">
248
+ {{ record_ui["ui"]["access_status"]["title_l10n"] }}
249
+ </span>
190
250
  </span>
191
251
  </div>
192
252
  </div>
@@ -198,73 +258,123 @@
198
258
 
199
259
  {# Title #}
200
260
  {%- block record_title -%}
201
- <section id="record-title-section" aria-label="{{ _('Record title and creators') }}">
202
- <h1 id="record-title" class="wrap-overflowing-text">{{ metadata.title }}</h1>
203
-
204
- {% if record.ui.creators or record.ui.contributors %}
205
- <section id="creatibutors" aria-label="{{ _('Creators and contributors') }}">
261
+ <section id="record-title-section"
262
+ aria-label="{{ _('Record title and creators') }}">
263
+ <h1 id="record-title"
264
+ class="wrap-overflowing-text">{{ metadata.title }}</h1>
265
+
266
+ {% if record_ui["ui"]["creators"] or record_ui["ui"]["contributors"] %}
267
+ <section id="creatibutors"
268
+ aria-label="{{ _('Creators and contributors') }}">
206
269
  {%- include "invenio_app_rdm/records/details/creatibutors.html" %}
207
270
  </section>
208
271
  {% endif %}
209
272
  </section>
210
273
  {%- endblock record_title -%}
211
274
 
212
- {# Citation & Description #}
275
+ {# Description #}
213
276
  {%- block record_content -%}
214
- <section id="citation" aria-label="{{ _('Record citations') }}">
215
- {%- include "invenio_app_rdm/records/details/citation.html" %}
216
- </section>
217
-
218
277
  {%- include "invenio_app_rdm/records/details/description.html" %}
219
278
  {%- endblock record_content -%}
220
279
 
221
280
  {# Files #}
222
281
  {%- block record_files -%}
223
282
  {# record has files BUT passed files are empty. This happens when we display are request. #}
224
- {%- if record.files.enabled -%}
225
- <section id="record-files" class="rel-mt-2" aria-label="{{ _('Files') }}">
226
- <h2 id="files-heading">{{ _('Files') }}</h2>
283
+ {%- if record_ui["files"]["enabled"] -%}
284
+ <section id="record-files" class="rel-mt-2 rel-mb-3"
285
+ aria-label="{{ _('Files') }}">
227
286
  {%- if permissions.can_read_files -%}
228
287
  {# record has files AND user can see files #}
229
- {%- set files = files|order_entries %}
230
-
231
- {%- if files|has_previewable_files -%}
232
- {%-set preview_file = files|select_preview_file(default_preview=record.files.default_preview) %}
233
- {{ preview_file_box(preview_file, record.id, is_preview, record) }}
234
- {%- endif -%}
235
- {{ file_list_box(files, record.id, is_preview, record) }}
288
+ {%- set files = files | order_entries | selectattr("status", "==", "completed") | list %}
289
+ {%- if files|length > 0 -%}
290
+ <h2 id="files-heading">{{ _('Files') }}</h2>
291
+ {%- if files|has_previewable_files -%}
292
+ {%-set preview_file = files|select_preview_file(default_preview=record_ui["files"]["default_preview"]) %}
293
+ {{ preview_file_box(preview_file, record_ui["id"], is_preview, record, include_deleted) }}
294
+ {%- endif -%}
295
+ {{ file_list_box(files, record_ui["id"], is_preview, include_deleted, record, permissions) }}
296
+ {% endif %}
236
297
  {% else %}
237
- {# record has files BUT user cannot see files #}
238
- <div class="pt-0 pb-20">
239
- <div class="ui accordion panel mb-10 {{ record.ui.access_status.id }}" id="preview"
240
- href="#collapsablePreview">
241
- <div class="active title trigger panel-heading {{ record.ui.access_status.id }}">
298
+ {# record has files BUT user does not have permission to see files #}
299
+ <div
300
+ class="ui accordion panel mb-10 {{ record_ui["ui"]["access_status"]["id"] }}"
301
+ href="#files-preview-accordion-panel">
302
+ <h3
303
+ class="active title panel-heading {{ record_ui["ui"]["access_status"]["id"] }} m-0">
304
+ <div role="button" id="files-preview-accordion-trigger"
305
+ tabindex="0" class="trigger"
306
+ aria-controls="files-preview-accordion-panel">
242
307
  {{ _("Files") }}
243
- <i class="angle down icon"></i>
308
+ <i class="angle right icon" aria-hidden="true"></i>
244
309
  </div>
245
- <div id="collapsablePreview" class="active content pt-0">
246
- <div class="ui {{ record.ui.access_status.message_class }} message file-box-message">
247
- <i
248
- class="ui {{ record.ui.access_status.icon }} icon"></i><b>{{ record.ui.access_status.title_l10n }}</b>
249
- <p>{{ record.ui.access_status.description_l10n }}</p>
250
-
251
- {% if record.access.embargo.reason %}
252
- <p>{{ _("Reason") }}: {{ record.access.embargo.reason }}</p>
253
- {% endif %}
254
-
255
- </div>
310
+ </h3>
311
+ <div role="region" id="files-preview-accordion-panel"
312
+ aria-labelledby="files-preview-accordion-trigger"
313
+ class="active content preview-container pt-0">
314
+ <div
315
+ class="ui {{ record_ui["ui"]["access_status"]["message_class"] }} message file-box-message rel-pl-1 rel-pr-1">
316
+ <i class="ui {{ record_ui["ui"]["access_status"]["icon"] }} icon"
317
+ aria-hidden="true"></i>
318
+ <h4
319
+ class="inline">{{ record_ui["ui"]["access_status"]["title_l10n"] }}</h4>
320
+ <p>{{ record_ui["ui"]["access_status"]["description_l10n"] }}</p>
321
+
322
+ {% if record_ui["access"]["embargo"]["reason"] %}
323
+ <p>{{ _("Reason") }}: {{ record_ui["access"]["embargo"]["reason"] }}</p>
324
+ {% endif %}
325
+
326
+ {% block record_files_access_request %}
327
+ {%- if allow_user_requests or allow_guest_requests %}
328
+ <div class="ui divider"></div>
329
+ <h4>{{ _("Request access") }}</h4>
330
+ <p>
331
+ {{ _("If you would like to request access to these files, please fill out the form below.") }}
332
+ </p>
333
+ {%- if record_ui["parent"]["access"]["settings"] %}
334
+ {%- set accept_conditions_text = record_ui["parent"]["access"]["settings"]["accept_conditions_text"] %}
335
+ {%- endif %}
336
+
337
+ {%- if accept_conditions_text %}
338
+ <p class="ui small header rel-mt-2 rel-mb-1">
339
+ {{ _("You need to satisfy these conditions in order for this request to be accepted:") }}
340
+ </p>
341
+ <div class="rel-mt-2 rich-input-content">
342
+ {{ accept_conditions_text | safe }}
343
+ </div>
344
+ {%- endif %}
345
+
346
+ {%- include "invenio_app_rdm/records/details/access-form.html" %}
347
+ {%- endif %}
348
+ {% endblock record_files_access_request %}
256
349
  </div>
257
350
  </div>
258
351
  </div>
259
352
  {%- endif %}
260
- <div class="ui divider rel-mt-2"></div>
261
353
  </section>
262
354
  {%- endif %}
263
355
  {%- endblock record_files -%}
264
356
 
357
+ {# Media files #}
358
+ {%- block record_media_files -%}
359
+ {# record has media files AND user can see files #}
360
+ {# can_media_read_files is false when record is fully restricted and users can't see the landing page at all #}
361
+ {%- if media_files and media_files.enabled and media_files.entries and permissions.can_media_read_files -%}
362
+ {%- set any_visible = media_files.entries | selectattr('access.hidden', 'equalto', false) | list | length > 0 %}
363
+ {%- if any_visible %}
364
+ <section id="record-media-files" aria-label="{{ _('System files') }}">
365
+ {%- set media_files = media_files | order_entries | selectattr("status", "==", "completed") | list %}
366
+ {%- if media_files|length > 0 -%}
367
+ {{ media_file_list_box(media_files, record_ui["id"], is_preview, include_deleted, record, permissions) }}
368
+ {%- endif %}
369
+ </section>
370
+ {%- endif %}
371
+ {%- endif %}
372
+ {%- endblock record_media_files -%}
373
+
265
374
  {# Additional details #}
266
375
  {%- block record_details -%}
267
- <section id="additional-details" class="rel-mt-2" aria-label="{{ _('Additional record details') }}">
376
+ <section id="additional-details" class="rel-mt-2"
377
+ aria-label="{{ _('Additional record details') }}">
268
378
  {%- include "invenio_app_rdm/records/details/details.html" %}
269
379
  </section>
270
380
  {%- endblock record_details -%}
@@ -277,7 +387,8 @@
277
387
  </article>
278
388
 
279
389
  {# Sidebar #}
280
- <aside class="sixteen wide tablet five wide computer column sidebar" aria-label="{{ _('Record details') }}">
390
+ <aside class="sixteen wide tablet five wide computer column sidebar"
391
+ aria-label="{{ _('Record details') }}">
281
392
  {% block record_sidebar %}
282
393
  {%- include "invenio_app_rdm/records/details/side_bar.html" %}
283
394
  {% endblock record_sidebar %}
@@ -285,49 +396,26 @@
285
396
  </div>
286
397
  </div>
287
398
 
288
- <div class="ui relaxed grid">
289
- <div class="two column row">
290
- <div class="sixteen wide tablet eleven wide computer column">
291
-
292
- {# Upload info #}
293
- <section id="upload-info" aria-label="{{ _('Upload information') }}">
294
- <dl>
295
- <div class="table-row">
296
- <dt>{{ _("Created") }}:</dt>
297
- <dd>
298
- {{ record.ui.created_date_l10n_long }}
299
- </dd>
300
- </div>
301
- <div class="table-row">
302
- <dt>{{ _("Modified") }}:</dt>
303
- <dd>
304
- {{ record.ui.updated_date_l10n_long }}
305
- </dd>
306
- </div>
307
- </dl>
308
- </section>
309
- </div>
310
- </div>
311
-
312
- <div class="two column row">
313
- <div class="sixteen wide tablet eleven wide computer column">
314
- {# Jump up button #}
315
- {%- block jump -%}
316
- <div class="ui grid">
317
- <div class="jump-to-top centered row rel-mt-1" id="jump-btn">
318
- <a style="cursor: pointer;">
319
- <button class="ui button labeled icon" aria-label="{{ _('Jump to top of page') }}">
399
+ <div class="ui container">
400
+ <div class="ui relaxed grid">
401
+ <div class="two column row">
402
+ <div class="sixteen wide tablet eleven wide computer column">
403
+ {# Jump up button #}
404
+ {%- block jump -%}
405
+ <div class="ui grid">
406
+ <div class="centered row rel-mt-1">
407
+ <button id="jump-btn" class="jump-to-top ui button labeled icon"
408
+ aria-label="{{ _('Jump to top of page') }}">
320
409
  <i class="arrow alternate circle up outline icon"></i>
321
410
  {{ _("Jump up") }}
322
411
  </button>
323
- </a>
412
+ </div>
324
413
  </div>
325
- </div>
326
- {%- endblock jump -%}
414
+ {%- endblock jump -%}
415
+ </div>
327
416
  </div>
328
417
  </div>
329
418
  </div>
330
-
331
419
  </div>
332
420
 
333
421
  {%- endblock page_body %}
@@ -338,6 +426,13 @@
338
426
  {% else %}
339
427
  {% include config.THEME_JAVASCRIPT_TEMPLATE %}
340
428
  {% endif %}
429
+ {%- block record_jsonld %}
430
+ {% set jsonld_serialization = record_ui | transform_record('SchemaorgJSONLDSerializer', throws=False) %}
431
+ {%- if jsonld_serialization %}
432
+ <script type='application/ld+json'>{{ jsonld_serialization | tojson }}</script>
433
+ {%- endif %}
434
+ {%- endblock record_jsonld %}
435
+
341
436
  {{ webpack['invenio-app-rdm-landing-page-theme.js'] }}
342
437
  {{ webpack['invenio-app-rdm-landing-page.js'] }}
343
438
  {{ webpack['previewer_theme.js'] }}
@@ -0,0 +1,64 @@
1
+ {#
2
+ Copyright (C) 2023 CERN.
3
+ Copyright (C) 2024 KTH Royal Institute of Technology.
4
+ Invenio RDM Records is free software; you can redistribute it and/or modify
5
+ it under the terms of the MIT License; see LICENSE file for more details.
6
+ -#}
7
+
8
+ {% from "invenio_accounts/_macros.html" import render_field, form_errors %}
9
+
10
+ <div class="container rel-mt-2">
11
+ {%- if current_user.is_anonymous %}
12
+ {% set email = None %}
13
+ {% set full_name = None %}
14
+ <p class="rel-mb-2">
15
+ <i aria-hidden="true" class="user secret icon"></i>
16
+ <strong>{{ _("You are currently not logged in") }}</strong>. {{ _("Do you have an account?") }}
17
+ <a href="/login/">{{ _("Log in here") }}</a>
18
+ </p>
19
+ {% else %}
20
+ {% set email = current_user.email %}
21
+ {% set full_name = current_user.user_profile.full_name or "" %}
22
+ <h4>{{ _("You are logged in as") }}</h4>
23
+ <div class="flex align-items-center column-mobile mb-10">
24
+ <div class="ui image label mb-10 rel-mr-1">
25
+ <img src="{{ user_avatar }}" alt="" />
26
+ <strong class="text-muted mr-5">{{ full_name }}</strong>
27
+ </div>
28
+
29
+ <p class="mt-0 mb-10">
30
+ {{ _("Not you?") }}
31
+ <a href="{{ url_for('security.login') }}">{{ _("Log out") }}</a> {{ _("to switch account.") }}
32
+ </p>
33
+ </div>
34
+ {% endif %}
35
+ <div id="access-request-form-root"
36
+ data-record='{{ record_ui | tojson }}'
37
+ data-user-anonymous='{{ current_user.is_anonymous | tojson }}'
38
+ data-user-full-name='{{ full_name | tojson }}'
39
+ data-user-email='{{ email | tojson }}'>
40
+ <div class="ui fluid placeholder">
41
+ <div class="header">
42
+ {%- if current_user.is_anonymous %}
43
+ <div class="paragraph">
44
+ <div class="line"></div>
45
+ <div class="line"></div>
46
+ <div class="line"></div>
47
+ <div class="line"></div>
48
+ <div class="line"></div>
49
+ </div>
50
+ {% endif %}
51
+ <div class="full line"></div>
52
+ <div class="full line"></div>
53
+ <div class="full line"></div>
54
+ <div class="full line"></div>
55
+ <div class="full line"></div>
56
+ <div class="full line"></div>
57
+ <div class="full line"></div>
58
+ </div>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ {%- block javascript %}
63
+ {{ webpack['invenio-app-rdm-landing-page-access-form.js'] }}
64
+ {%-endblock %}
@@ -1,5 +1,5 @@
1
1
  {#
2
- Copyright (C) 2020-2021 CERN.
2
+ Copyright (C) 2020-2025 CERN.
3
3
  Copyright (C) 2020 Northwestern University.
4
4
  Copyright (C) 2021 New York University.
5
5
 
@@ -7,7 +7,8 @@
7
7
  it under the terms of the MIT License; see LICENSE file for more details.
8
8
  #}
9
9
 
10
- <div id="recordCitation" data-record='{{ record | tojson }}'
10
+ <div id="recordCitation" data-record-links='{{ record_ui.links | tojson }}'
11
11
  data-styles='{{ config.get("RDM_CITATION_STYLES") | tojson }}'
12
- data-defaultstyle='{{ config.get("RDM_CITATION_STYLES_DEFAULT") | tojson }}'>
12
+ data-defaultstyle='{{ config.get("RDM_CITATION_STYLES_DEFAULT") | tojson }}'
13
+ data-include-deleted='{{ include_deleted | tojson }}'>
13
14
  </div>