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