invenio-app-rdm 14.0.0b0.dev1__py2.py3-none-any.whl → 14.0.0b0.dev2__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 (29) hide show
  1. invenio_app_rdm/__init__.py +1 -1
  2. invenio_app_rdm/administration/records/records.py +9 -7
  3. invenio_app_rdm/config.py +1 -0
  4. invenio_app_rdm/fixtures/pages.py +5 -2
  5. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html +2 -2
  6. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +8 -7
  7. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html +5 -6
  8. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html +9 -13
  9. invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html +1 -2
  10. invenio_app_rdm/records_ui/views/decorators.py +2 -1
  11. invenio_app_rdm/records_ui/views/deposits.py +10 -3
  12. invenio_app_rdm/records_ui/views/records.py +3 -11
  13. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js +8 -8
  14. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +14 -16
  15. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js +1 -2
  16. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +1 -0
  17. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +2 -2
  18. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js +15 -14
  19. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js +4 -4
  20. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +38 -40
  21. invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js +5 -5
  22. invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less +5 -3
  23. invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py +76 -4
  24. {invenio_app_rdm-14.0.0b0.dev1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/METADATA +21 -2
  25. {invenio_app_rdm-14.0.0b0.dev1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/RECORD +29 -29
  26. {invenio_app_rdm-14.0.0b0.dev1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/WHEEL +0 -0
  27. {invenio_app_rdm-14.0.0b0.dev1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/entry_points.txt +0 -0
  28. {invenio_app_rdm-14.0.0b0.dev1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/licenses/LICENSE +0 -0
  29. {invenio_app_rdm-14.0.0b0.dev1.dist-info → invenio_app_rdm-14.0.0b0.dev2.dist-info}/top_level.txt +0 -0
@@ -17,6 +17,6 @@
17
17
  #
18
18
  # See PEP 0440 for details - https://www.python.org/dev/peps/pep-0440
19
19
 
20
- __version__ = "14.0.0b0.dev1"
20
+ __version__ = "14.0.0b0.dev2"
21
21
 
22
22
  __all__ = ("__version__",)
@@ -1,14 +1,14 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2023-2024 CERN.
3
+ # Copyright (C) 2023-2025 CERN.
4
4
  # Copyright (C) 2023 Graz University of Technology.
5
5
  # Copyright (C) 2024 KTH Royal Institute of Technology.
6
6
  #
7
- # invenio-administration is free software; you can redistribute it and/or
7
+ # Invenio-app-rdm is free software; you can redistribute it and/or
8
8
  # modify it under the terms of the MIT License; see LICENSE file for more
9
9
  # details.
10
10
 
11
- """Invenio administration OAI-PMH view module."""
11
+ """Invenio administration records and drafts list views."""
12
12
 
13
13
  from functools import partial
14
14
 
@@ -19,7 +19,7 @@ from invenio_search_ui.searchconfig import search_app_config
19
19
 
20
20
 
21
21
  class RecordAdminListView(AdminResourceListView):
22
- """Configuration for OAI-PMH sets list view."""
22
+ """Configuration for the records list view."""
23
23
 
24
24
  api_endpoint = "/records"
25
25
  name = "records"
@@ -27,10 +27,11 @@ class RecordAdminListView(AdminResourceListView):
27
27
  search_request_headers = {"Accept": "application/vnd.inveniordm.v1+json"}
28
28
  title = _("Records")
29
29
  menu_label = _("Records")
30
- category = _("Records & files")
30
+ category = _("Deposits")
31
31
  icon = "file"
32
32
  template = "invenio_app_rdm/administration/records/records.html"
33
33
  extension_name = "invenio-rdm-records"
34
+ order = 1
34
35
 
35
36
  display_search = True
36
37
  display_delete = False
@@ -103,7 +104,7 @@ class RecordAdminListView(AdminResourceListView):
103
104
 
104
105
 
105
106
  class DraftAdminListView(AdminResourceListView):
106
- """Configuration for OAI-PMH sets list view."""
107
+ """Configuration for the drafts list view."""
107
108
 
108
109
  api_endpoint = "/user/records"
109
110
  name = "drafts"
@@ -111,10 +112,11 @@ class DraftAdminListView(AdminResourceListView):
111
112
  search_request_headers = {"Accept": "application/vnd.inveniordm.v1+json"}
112
113
  title = _("Drafts")
113
114
  menu_label = _("Drafts")
114
- category = _("Records & files")
115
+ category = _("Deposits")
115
116
  icon = "upload"
116
117
  template = "invenio_app_rdm/administration/records/drafts.html"
117
118
  extension_name = "invenio-rdm-records"
119
+ order = 2
118
120
 
119
121
  display_search = True
120
122
  display_delete = False
invenio_app_rdm/config.py CHANGED
@@ -1181,6 +1181,7 @@ PAGES_DEFAULT_TEMPLATE = "invenio_app_rdm/default_static_page.html"
1181
1181
 
1182
1182
  PAGES_TEMPLATES = [
1183
1183
  ("invenio_app_rdm/default_static_page.html", "Default"),
1184
+ ("invenio_communities/default_static_page.html", "Community"),
1184
1185
  ]
1185
1186
  """List of available templates for pages."""
1186
1187
 
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2022-2024 CERN.
3
+ # Copyright (C) 2022-2025 CERN.
4
4
  # Copyright (C) 2025 University of Münster.
5
5
  #
6
6
  # Invenio App RDM is free software; you can redistribute it and/or modify
@@ -68,6 +68,9 @@ class StaticPages(FixtureMixin):
68
68
  ),
69
69
  "lang": lang[0],
70
70
  "description": entry.get("description", ""),
71
- "template_name": current_app.config["PAGES_DEFAULT_TEMPLATE"],
71
+ "template_name": entry.get(
72
+ "template_name",
73
+ current_app.config["PAGES_DEFAULT_TEMPLATE"],
74
+ ),
72
75
  }
73
76
  current_pages_service.create(system_identity, data)
@@ -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,7 @@
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_ui | tojson }}'
10
+ <div id="recordCitation" data-record-links='{{ record_ui.links | tojson }}'
11
11
  data-styles='{{ config.get("RDM_CITATION_STYLES") | tojson }}'
12
12
  data-defaultstyle='{{ config.get("RDM_CITATION_STYLES_DEFAULT") | tojson }}'
13
13
  data-include-deleted='{{ include_deleted | tojson }}'>
@@ -1,14 +1,15 @@
1
1
  <div
2
2
  id="sidebar-communities-manage"
3
3
  data-user-communities-memberships='{{ user_communities_memberships | tojson }}'
4
- data-record-community-endpoint="{{ record_ui['links']['communities'] }}"
5
- data-record-community-search-endpoint="{{ record_ui['links']['communities-suggestions'] }}"
6
- data-record-user-community-search-endpoint="{{ record_ui['links']['user-communities-suggestions'] }}"
7
- data-pending-communities-search-config='{{ search_app_rdm_record_requests_config(app_id="InvenioAppRdm.RecordRequests", endpoint=record_ui['links']['requests']) | tojson }}'
8
- data-record-community-search-config='{{ search_app_rdm_record_communities_config(app_id="InvenioAppRdm.RecordCommunitiesSuggestions", endpoint=record_ui['links']["communities-suggestions"]) | tojson }}'
9
- data-record-user-community-search-config='{{ search_app_rdm_record_user_communities_config(app_id="InvenioAppRdm.RecordUserCommunitiesSuggestions", endpoint=record_ui['links']["communities-suggestions"]) | tojson }}'
4
+ data-record-community-endpoint='{{ record_ui["links"]["communities"] }}'
5
+ data-record-community-search-endpoint='{{ record_ui["links"]["communities-suggestions"] }}'
6
+ data-record-community-search-config='{{ search_app_rdm_record_communities_config(app_id="InvenioAppRdm.RecordCommunitiesSuggestions", endpoint=record_ui["links"]["communities-suggestions"]) | tojson }}'
7
+ data-record-user-community-search-endpoint='{{ record_ui["links"]["user-communities-suggestions"] }}'
8
+ data-record-user-community-search-config='{{ search_app_rdm_record_user_communities_config(app_id="InvenioAppRdm.RecordUserCommunitiesSuggestions", endpoint=record_ui["links"]["communities-suggestions"]) | tojson }}'
9
+ data-pending-communities-search-config='{{ search_app_rdm_record_requests_config(app_id="InvenioAppRdm.RecordRequests", endpoint=record_ui["links"]["requests"]) | tojson }}'
10
10
  data-permissions='{{ permissions | tojson }}'
11
- class="sidebar-container"
11
+ data-record='{{ record_ui | tojson }}'
12
+ class='sidebar-container'
12
13
  >
13
14
 
14
15
  <h2 class="ui medium top attached header">{{ _("Communities") }}</h2>
@@ -1,5 +1,5 @@
1
1
  {#
2
- Copyright (C) 2020 CERN.
2
+ Copyright (C) 2020-2025 CERN.
3
3
 
4
4
  Invenio RDM Records is free software; you can redistribute it and/or modify
5
5
  it under the terms of the MIT License; see LICENSE file for more details.
@@ -7,15 +7,14 @@ it under the terms of the MIT License; see LICENSE file for more details.
7
7
  {%- if external_resources -%}
8
8
  <div class="sidebar-container">
9
9
  <h2 class="ui small top attached header">{{ _('External resources')}}</h2>
10
- <div id="external-resource" aria-label="{{ _('External resources') }}" class="ui bottom attached segment rdm-sidebar external resource">
10
+ <dl id="external-resource" aria-label="{{ _('External resources') }}" class="ui bottom attached segment rdm-sidebar external resource details-list">
11
11
 
12
12
  {# dynamically create the list of external resources #}
13
13
  {%- for section, external_resources in external_resources | groupby("content.section") -%}
14
- <h3 class="ui small header">{{ section }}</h3>
15
- <ul class="ui relaxed list no-bullet">
14
+ <dt class="ui tiny header">{{ section }}</dt>
15
+ <ul class="ui list no-bullet m-0">
16
16
 
17
17
  {%- for resource in external_resources -%}
18
-
19
18
  {%- if resource -%}
20
19
  {%- if resource.template -%}
21
20
  {# It's up to the template to render the `resource` as it wishes #}
@@ -50,7 +49,7 @@ it under the terms of the MIT License; see LICENSE file for more details.
50
49
  {%- endfor -%}
51
50
  </ul>
52
51
  {%- endfor -%}
53
- </div>
52
+ </dl>
54
53
  </div>
55
54
  {%- endif -%}
56
55
 
@@ -1,5 +1,5 @@
1
1
  {#
2
- Copyright (C) 2020 CERN.
2
+ Copyright (C) 2020-2025 CERN.
3
3
  Copyright (C) 2020 Northwestern University.
4
4
  Copyright (C) 2021 Graz University of Technology.
5
5
  Copyright (C) 2021 New York University.
@@ -25,11 +25,11 @@
25
25
  <div class="sidebar-container">
26
26
  <h2 class="ui medium top attached header mt-0">{{ _('Rights') }}</h2>
27
27
  <div id="licenses" class="ui segment bottom attached rdm-sidebar">
28
+ <dl class="details-list">
28
29
  {% if rights %}
29
- <h4>License</h4>
30
- <ul class="details-list m-0 p-0">
30
+ <dt class="ui tiny header">License</dt>
31
31
  {%- for license in rights -%}
32
- <li id="license-{{ license.id }}-{{ loop.index }}" class="has-popup">
32
+ <dd id="license-{{ license.id }}-{{ loop.index }}" class="has-popup">
33
33
  <div id="title-{{ license.id }}-{{ loop.index }}"
34
34
  class="license clickable"
35
35
  tabindex="0"
@@ -45,7 +45,6 @@
45
45
  alt="{{ license.id }} icon"/>
46
46
  </span>
47
47
  {% endif %}
48
-
49
48
  <span class="title-text">
50
49
  {{ license.title_l10n }}
51
50
  </span>
@@ -57,7 +56,6 @@
57
56
  >
58
57
  <i role="button" tabindex="0" class="close icon text-muted"
59
58
  aria-label="{{ _('Close') }}"></i>
60
-
61
59
  <div id="license-description-{{ loop.index }}" class="description">
62
60
  <span class="text-muted">
63
61
  {{ license.description_l10n or _('No further description.') }}
@@ -65,18 +63,16 @@
65
63
  {{ license_link(license) }}
66
64
  </div>
67
65
  </div>
68
- </li>
66
+ </dd>
69
67
  {% endfor %}
70
-
71
- </ul>
72
68
  {% endif %}
73
69
  {% if copyrights %}
74
- <h4>Copyrights</h4>
75
- <div id="copyrights">
70
+ <dt class="ui tiny header">Copyright</dt>
71
+ <dd id="copyrights">
76
72
  {{ copyrights }}
77
- </div>
73
+ </dd>
78
74
  {% endif %}
75
+ </dl>
79
76
  </div>
80
-
81
77
  </div>
82
78
  {% endif %}
@@ -1,5 +1,5 @@
1
1
  {#
2
- Copyright (C) 2022-2024 CERN.
2
+ Copyright (C) 2022-2025 CERN.
3
3
 
4
4
  Invenio RDM Records is free software; you can redistribute it and/or modify
5
5
  it under the terms of the MIT License; see LICENSE file for more details.
@@ -17,7 +17,6 @@ it under the terms of the MIT License; see LICENSE file for more details.
17
17
  data-is-draft="{{ is_draft | tojson }}"
18
18
  data-is-preview-submission-request="{{ is_preview_submission_request | tojson }}"
19
19
  data-current-user-id="{{ current_user.id }}"
20
- data-record-owner-id='{{ record_owner_id }}'
21
20
  data-groups-enabled='{{ config.USERS_RESOURCES_GROUPS_ENABLED | tojson }}'
22
21
  {% if config.RDM_DETAIL_SIDE_BAR_MANAGE_ATTRIBUTES_EXTENSION_TEMPLATE %}
23
22
  {% include config.RDM_DETAIL_SIDE_BAR_MANAGE_ATTRIBUTES_EXTENSION_TEMPLATE %}
@@ -358,7 +358,8 @@ def pass_draft_community(f):
358
358
  comid = request.args.get("community")
359
359
  if comid:
360
360
  community = current_communities.service.read(id_=comid, identity=g.identity)
361
- kwargs["community"] = UICommunityJSONSerializer().dump_obj(
361
+ kwargs["community"] = community
362
+ kwargs["community_ui"] = UICommunityJSONSerializer().dump_obj(
362
363
  community.to_dict()
363
364
  )
364
365
 
@@ -15,6 +15,9 @@ from copy import deepcopy
15
15
 
16
16
  from flask import current_app, g, redirect
17
17
  from flask_login import login_required
18
+ from invenio_communities.communities.resources.serializer import (
19
+ UICommunityJSONSerializer,
20
+ )
18
21
  from invenio_communities.errors import CommunityDeletedError
19
22
  from invenio_communities.proxies import current_communities
20
23
  from invenio_communities.views.communities import render_community_theme_template
@@ -446,7 +449,7 @@ def new_record():
446
449
  @login_required
447
450
  @no_cache_response
448
451
  @pass_draft_community
449
- def deposit_create(community=None):
452
+ def deposit_create(community=None, community_ui=None):
450
453
  """Create a new deposit."""
451
454
  can_create = current_rdm_records.records_service.check_permission(
452
455
  g.identity, "create"
@@ -456,7 +459,7 @@ def deposit_create(community=None):
456
459
 
457
460
  community_theme = None
458
461
  if community is not None:
459
- community_theme = community.get("theme", {})
462
+ community_theme = community_ui.get("theme", {})
460
463
 
461
464
  community_use_jinja_header = bool(community_theme)
462
465
  dashboard_routes = current_app.config["APP_RDM_USER_DASHBOARD_ROUTES"]
@@ -479,9 +482,10 @@ def deposit_create(community=None):
479
482
  searchbar_config=dict(searchUrl=get_search_url()),
480
483
  record=new_record(),
481
484
  community=community,
485
+ community_ui=community_ui,
482
486
  community_use_jinja_header=community_use_jinja_header,
483
487
  files=dict(default_preview=None, entries=[], links={}),
484
- preselectedCommunity=community,
488
+ preselectedCommunity=community_ui,
485
489
  files_locked=False,
486
490
  permissions=get_record_permissions(
487
491
  [
@@ -517,6 +521,7 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
517
521
  ui_serializer = UIJSONSerializer()
518
522
  record = ui_serializer.dump_obj(draft.to_dict())
519
523
 
524
+ community_ui = None
520
525
  community_theme = None
521
526
  community = record.get("expanded", {}).get("parent", {}).get("review", {}).get(
522
527
  "receiver"
@@ -531,6 +536,7 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
531
536
  id_=community["id"], identity=g.identity
532
537
  )
533
538
  community_theme = community.to_dict().get("theme", {})
539
+ community_ui = UICommunityJSONSerializer().dump_obj(community.to_dict())
534
540
  except CommunityDeletedError:
535
541
  pass
536
542
 
@@ -573,6 +579,7 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
573
579
  forms_config=form_config,
574
580
  record=record,
575
581
  community=community,
582
+ community_ui=community_ui,
576
583
  community_use_jinja_header=community_use_jinja_header,
577
584
  files=files_dict,
578
585
  searchbar_config=dict(searchUrl=get_search_url()),
@@ -216,19 +216,13 @@ def record_detail(
216
216
  if record is not None and emitter is not None:
217
217
  emitter(current_app, record=record._record, via_api=False)
218
218
 
219
- record_owner = (
220
- record_ui.get("expanded", {})
221
- .get("parent", {})
222
- .get("access", {})
223
- .get("owned_by", {})
224
- )
225
219
  resolved_community, _ = get_record_community(record_ui)
226
- resolved_community = (
220
+ resolved_community_ui = (
227
221
  UICommunityJSONSerializer().dump_obj(resolved_community.to_dict())
228
222
  if resolved_community
229
223
  else None
230
224
  )
231
- theme = resolved_community.get("theme", {}) if resolved_community else None
225
+ theme = resolved_community_ui.get("theme", {}) if resolved_community else None
232
226
 
233
227
  return render_community_theme_template(
234
228
  current_app.config.get("APP_RDM_RECORD_LANDING_PAGE_TEMPLATE"),
@@ -256,11 +250,9 @@ def record_detail(
256
250
  include_deleted=include_deleted,
257
251
  is_draft=is_draft,
258
252
  community=resolved_community,
253
+ community_ui=resolved_community_ui,
259
254
  external_resources=get_external_resources(record),
260
255
  user_avatar=avatar,
261
- record_owner_id=(
262
- record_owner.get("id")
263
- ), # record created with system_identity have not owners e.g demo
264
256
  )
265
257
 
266
258
 
@@ -24,6 +24,14 @@ export class ViewRecentChanges extends Component {
24
24
  };
25
25
  }
26
26
 
27
+ componentDidMount() {
28
+ this.fetchPreviousRevision();
29
+ }
30
+
31
+ componentWillUnmount() {
32
+ this.cancellableAction && this.cancellableAction.cancel();
33
+ }
34
+
27
35
  async fetchPreviousRevision() {
28
36
  const { resource } = this.props;
29
37
  const {
@@ -60,14 +68,6 @@ export class ViewRecentChanges extends Component {
60
68
  }
61
69
  }
62
70
 
63
- componentDidMount() {
64
- this.fetchPreviousRevision();
65
- }
66
-
67
- componentWillUnmount() {
68
- this.cancellableAction && this.cancellableAction.cancel();
69
- }
70
-
71
71
  handleModalClose = () => {
72
72
  const { actionCancelCallback } = this.props;
73
73
  actionCancelCallback();
@@ -24,20 +24,6 @@ export class RevisionsDiffViewer extends Component {
24
24
  ignoreCaseForKey: false,
25
25
  recursiveEqual: true,
26
26
  });
27
-
28
- this.viewerProps = {
29
- indent: 4,
30
- lineNumbers: true,
31
- highlightInlineDiff: true,
32
- inlineDiffOptions: {
33
- mode: "word",
34
- wordSeparator: " ",
35
- },
36
- hideUnchangedLines: true,
37
- syntaxHighlight: false,
38
- virtual: true,
39
- };
40
-
41
27
  this.state = {
42
28
  currentDiff: undefined,
43
29
  };
@@ -58,13 +44,13 @@ export class RevisionsDiffViewer extends Component {
58
44
  };
59
45
 
60
46
  render() {
61
- const { currentDiff } = this.state;
47
+ const { currentDiff, viewerProps } = this.state;
62
48
 
63
49
  return currentDiff ? (
64
50
  <Grid>
65
51
  <Grid.Column width={16}>
66
52
  <Container fluid>
67
- <Viewer diff={currentDiff} {...this.viewerProps} />
53
+ <Viewer diff={currentDiff} {...viewerProps} />
68
54
  </Container>
69
55
  </Grid.Column>
70
56
  </Grid>
@@ -79,4 +65,16 @@ RevisionsDiffViewer.propTypes = {
79
65
 
80
66
  RevisionsDiffViewer.defaultProps = {
81
67
  diff: {},
68
+ viewerProps: {
69
+ indent: 4,
70
+ lineNumbers: true,
71
+ highlightInlineDiff: true,
72
+ inlineDiffOptions: {
73
+ mode: "word",
74
+ wordSeparator: " ",
75
+ },
76
+ hideUnchangedLines: true,
77
+ syntaxHighlight: false,
78
+ virtual: true,
79
+ },
82
80
  };
@@ -1,12 +1,11 @@
1
1
  /*
2
2
  * This file is part of Invenio.
3
- * Copyright (C) 2023 CERN.
3
+ * Copyright (C) 2023-2025 CERN.
4
4
  *
5
5
  * Invenio is free software; you can redistribute it and/or modify it
6
6
  * under the terms of the MIT License; see LICENSE file for more details.
7
7
  */
8
8
 
9
- import { last } from "lodash";
10
9
  import _get from "lodash/get";
11
10
 
12
11
  const APIRoutesGenerators = {
@@ -796,4 +796,5 @@ RDMDepositForm.defaultProps = {
796
796
  files: null,
797
797
  filesLocked: false,
798
798
  allowEmptyFiles: true,
799
+ useUppy: false,
799
800
  };
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2023-2024 CERN.
2
+ // Copyright (C) 2023-2025 CERN.
3
3
  //
4
4
  // Invenio App RDM is free software; you can redistribute it and/or modify it
5
5
  // under the terms of the MIT License; see LICENSE file for more details.
@@ -135,7 +135,7 @@ export class CommunitiesManagement extends Component {
135
135
  successActionCallback={this.handleRefresh}
136
136
  recordCommunityEndpoint={recordCommunityEndpoint}
137
137
  permissions={permissions}
138
- record={record}
138
+ recordParent={record.parent}
139
139
  />
140
140
 
141
141
  {!loading && communities?.length > MAX_COMMUNITIES && (
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2021-2024 CERN.
2
+ // Copyright (C) 2021-2025 CERN.
3
3
  // Copyright (C) 2021 Graz University of Technology.
4
4
  // Copyright (C) 2021 TU Wien
5
5
  //
@@ -28,18 +28,18 @@ export class RecordCitationField extends Component {
28
28
  }
29
29
 
30
30
  componentDidMount() {
31
- const { record, defaultStyle, includeDeleted } = this.props;
32
- this.getCitation(record, defaultStyle, includeDeleted);
33
- }
34
-
35
- componentWillUnmount() {
36
- this.cancellableFetchCitation?.cancel();
31
+ const { recordLinks, defaultStyle, includeDeleted } = this.props;
32
+ this.getCitation(recordLinks, defaultStyle, includeDeleted);
37
33
  }
38
34
 
39
35
  async componentDidUpdate() {
40
36
  await window.MathJax?.typesetPromise();
41
37
  }
42
38
 
39
+ componentWillUnmount() {
40
+ this.cancellableFetchCitation?.cancel();
41
+ }
42
+
43
43
  placeholderLoader = () => {
44
44
  return (
45
45
  <Placeholder>
@@ -56,9 +56,9 @@ export class RecordCitationField extends Component {
56
56
  return <Message negative>{message}</Message>;
57
57
  };
58
58
 
59
- fetchCitation = async (record, style, includeDeleted) => {
59
+ fetchCitation = async (recordLinks, style, includeDeleted) => {
60
60
  const includeDeletedParam = includeDeleted === true ? "&include_deleted=1" : "";
61
- const url = `${record.links.self}?locale=${navigator.language}&style=${style}${includeDeletedParam}`;
61
+ const url = `${recordLinks.self}?locale=${navigator.language}&style=${style}${includeDeletedParam}`;
62
62
  return await http.get(url, {
63
63
  headers: {
64
64
  Accept: "text/x-bibliography",
@@ -66,7 +66,7 @@ export class RecordCitationField extends Component {
66
66
  });
67
67
  };
68
68
 
69
- getCitation = async (record, style, includeDeleted) => {
69
+ getCitation = async (recordLinks, style, includeDeleted) => {
70
70
  this.setState({
71
71
  loading: true,
72
72
  citation: "",
@@ -74,7 +74,7 @@ export class RecordCitationField extends Component {
74
74
  });
75
75
 
76
76
  this.cancellableFetchCitation = withCancel(
77
- this.fetchCitation(record, style, includeDeleted)
77
+ this.fetchCitation(recordLinks, style, includeDeleted)
78
78
  );
79
79
 
80
80
  try {
@@ -95,7 +95,7 @@ export class RecordCitationField extends Component {
95
95
  };
96
96
 
97
97
  render() {
98
- const { styles, record, defaultStyle, includeDeleted } = this.props;
98
+ const { styles, recordLinks, defaultStyle, includeDeleted } = this.props;
99
99
  const { loading, citation, error } = this.state;
100
100
  const citationOptions = styles.map((style) => {
101
101
  return {
@@ -140,7 +140,8 @@ export class RecordCitationField extends Component {
140
140
  options={citationOptions}
141
141
  selection
142
142
  onChange={_debounce(
143
- (event, data) => this.getCitation(record, data.value, includeDeleted),
143
+ (event, data) =>
144
+ this.getCitation(recordLinks, data.value, includeDeleted),
144
145
  500
145
146
  )}
146
147
  />
@@ -155,7 +156,7 @@ export class RecordCitationField extends Component {
155
156
 
156
157
  RecordCitationField.propTypes = {
157
158
  styles: PropTypes.array.isRequired,
158
- record: PropTypes.object.isRequired,
159
+ recordLinks: PropTypes.object.isRequired,
159
160
  defaultStyle: PropTypes.string.isRequired,
160
161
  includeDeleted: PropTypes.bool.isRequired,
161
162
  };
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2023 CERN.
2
+ // Copyright (C) 2023-2025 CERN.
3
3
  //
4
4
  // InvenioRDM is free software; you can redistribute it and/or modify it
5
5
  // under the terms of the MIT License; see LICENSE file for more details.
@@ -13,9 +13,9 @@ import { RecordCommunitiesSearch } from "./RecordCommunitiesSearch";
13
13
  export class RecordCommunitiesListModal extends Component {
14
14
  constructor(props) {
15
15
  super(props);
16
- const { record } = this.props;
16
+ const { recordParent } = this.props;
17
17
  this.state = {
18
- recordParent: record.parent,
18
+ recordParent: recordParent,
19
19
  };
20
20
  }
21
21
 
@@ -77,7 +77,7 @@ RecordCommunitiesListModal.propTypes = {
77
77
  handleOnClose: PropTypes.func.isRequired,
78
78
  handleOnOpen: PropTypes.func.isRequired,
79
79
  permissions: PropTypes.object.isRequired,
80
- record: PropTypes.object.isRequired,
80
+ recordParent: PropTypes.object.isRequired,
81
81
  };
82
82
 
83
83
  RecordCommunitiesListModal.defaultProps = {
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2020-2024 CERN.
2
+ // Copyright (C) 2020-2025 CERN.
3
3
  // Copyright (C) 2020-2021 Northwestern University.
4
4
  // Copyright (C) 2021 Graz University of Technology.
5
5
  // Copyright (C) 2023 TU Wien.
@@ -16,35 +16,28 @@ import { ExportDropdown } from "./ExportDropdown";
16
16
  import { CommunitiesManagement } from "./CommunitiesManagement";
17
17
  import Overridable, { OverridableContext, overrideStore } from "react-overridable";
18
18
 
19
- const recordManagementAppDiv = document.getElementById("recordManagement");
20
- const recordManagementMobile = document.getElementById("recordManagementMobile");
21
-
22
- const recordVersionsAppDiv = document.getElementById("recordVersions");
23
- const recordCitationAppDiv = document.getElementById("recordCitation");
24
- const recordExportDownloadDiv = document.getElementById("recordExportDownload");
25
- const sidebarCommunitiesManageDiv = document.getElementById(
26
- "sidebar-communities-manage"
27
- );
28
-
29
19
  const overriddenComponents = overrideStore.getAll();
30
20
 
21
+ const recordManagementAppDiv = document.getElementById("recordManagement");
22
+ const recordManagementMobile = document.getElementById("recordManagementMobile");
31
23
  if (recordManagementAppDiv) {
32
24
  renderRecordManagement(recordManagementAppDiv);
33
25
  recordManagementMobile && renderRecordManagement(recordManagementMobile);
34
26
  }
35
27
 
36
28
  function renderRecordManagement(element) {
29
+ const record = JSON.parse(recordManagementAppDiv.dataset.record);
37
30
  ReactDOM.render(
38
31
  <OverridableContext.Provider value={overriddenComponents}>
39
32
  <RecordManagement
40
- record={JSON.parse(recordManagementAppDiv.dataset.record)}
33
+ record={record}
41
34
  permissions={JSON.parse(recordManagementAppDiv.dataset.permissions)}
42
35
  isDraft={JSON.parse(recordManagementAppDiv.dataset.isDraft)}
43
36
  isPreviewSubmissionRequest={JSON.parse(
44
37
  recordManagementAppDiv.dataset.isPreviewSubmissionRequest
45
38
  )}
46
39
  currentUserId={recordManagementAppDiv.dataset.currentUserId}
47
- recordOwnerID={recordManagementAppDiv.dataset.recordOwnerId}
40
+ recordOwnerID={record.parent.access.owned_by.user}
48
41
  groupsEnabled={JSON.parse(recordManagementAppDiv.dataset.groupsEnabled)}
49
42
  />
50
43
  </OverridableContext.Provider>,
@@ -52,6 +45,7 @@ function renderRecordManagement(element) {
52
45
  );
53
46
  }
54
47
 
48
+ const recordVersionsAppDiv = document.getElementById("recordVersions");
55
49
  if (recordVersionsAppDiv) {
56
50
  ReactDOM.render(
57
51
  <RecordVersionsList
@@ -62,10 +56,11 @@ if (recordVersionsAppDiv) {
62
56
  );
63
57
  }
64
58
 
59
+ const recordCitationAppDiv = document.getElementById("recordCitation");
65
60
  if (recordCitationAppDiv) {
66
61
  ReactDOM.render(
67
62
  <RecordCitationField
68
- record={JSON.parse(recordCitationAppDiv.dataset.record)}
63
+ recordLinks={JSON.parse(recordCitationAppDiv.dataset.recordLinks)}
69
64
  styles={JSON.parse(recordCitationAppDiv.dataset.styles)}
70
65
  defaultStyle={JSON.parse(recordCitationAppDiv.dataset.defaultstyle)}
71
66
  includeDeleted={JSON.parse(recordCitationAppDiv.dataset.includeDeleted)}
@@ -74,6 +69,7 @@ if (recordCitationAppDiv) {
74
69
  );
75
70
  }
76
71
 
72
+ const recordExportDownloadDiv = document.getElementById("recordExportDownload");
77
73
  if (recordExportDownloadDiv) {
78
74
  ReactDOM.render(
79
75
  <ExportDropdown formats={JSON.parse(recordExportDownloadDiv.dataset.formats)} />,
@@ -81,44 +77,46 @@ if (recordExportDownloadDiv) {
81
77
  );
82
78
  }
83
79
 
80
+ const sidebarCommunitiesManageDiv = document.getElementById(
81
+ "sidebar-communities-manage"
82
+ );
84
83
  if (sidebarCommunitiesManageDiv) {
84
+ const userCommunitiesMemberships = JSON.parse(
85
+ sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
86
+ );
87
+ const recordCommunityEndpoint =
88
+ sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint;
85
89
  const recordCommunitySearchConfig = JSON.parse(
86
90
  sidebarCommunitiesManageDiv.dataset.recordCommunitySearchConfig
87
91
  );
88
- const pendingCommunitiesSearchConfig =
89
- sidebarCommunitiesManageDiv.dataset.pendingCommunitiesSearchConfig;
92
+ const recordUserCommunitySearchConfig = JSON.parse(
93
+ sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
94
+ );
95
+ const pendingCommunitiesSearchConfig = JSON.parse(
96
+ sidebarCommunitiesManageDiv.dataset.pendingCommunitiesSearchConfig
97
+ );
98
+ const permissions = JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions);
99
+ const record = JSON.parse(sidebarCommunitiesManageDiv.dataset.record);
90
100
  ReactDOM.render(
91
101
  <OverridableContext.Provider value={overriddenComponents}>
92
102
  <Overridable
93
103
  id="InvenioAppRdm.RecordLandingPage.CommunitiesManagement.container"
94
- userCommunitiesMemberships={JSON.parse(
95
- sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
96
- )}
97
- recordCommunityEndpoint={
98
- sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint
99
- }
100
- recordUserCommunitySearchConfig={JSON.parse(
101
- sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
102
- )}
104
+ userCommunitiesMemberships={userCommunitiesMemberships}
105
+ recordCommunityEndpoint={recordCommunityEndpoint}
106
+ recordUserCommunitySearchConfig={recordUserCommunitySearchConfig}
103
107
  recordCommunitySearchConfig={recordCommunitySearchConfig}
104
- permissions={JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions)}
105
- searchConfig={JSON.parse(pendingCommunitiesSearchConfig)}
106
- record={JSON.parse(recordCitationAppDiv.dataset.record)}
108
+ permissions={permissions}
109
+ searchConfig={pendingCommunitiesSearchConfig}
110
+ record={record}
107
111
  >
108
112
  <CommunitiesManagement
109
- userCommunitiesMemberships={JSON.parse(
110
- sidebarCommunitiesManageDiv.dataset.userCommunitiesMemberships
111
- )}
112
- recordCommunityEndpoint={
113
- sidebarCommunitiesManageDiv.dataset.recordCommunityEndpoint
114
- }
115
- recordUserCommunitySearchConfig={JSON.parse(
116
- sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
117
- )}
113
+ userCommunitiesMemberships={userCommunitiesMemberships}
114
+ recordCommunityEndpoint={recordCommunityEndpoint}
115
+ recordUserCommunitySearchConfig={recordUserCommunitySearchConfig}
118
116
  recordCommunitySearchConfig={recordCommunitySearchConfig}
119
- permissions={JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions)}
120
- searchConfig={JSON.parse(pendingCommunitiesSearchConfig)}
121
- record={JSON.parse(recordCitationAppDiv.dataset.record)}
117
+ permissions={permissions}
118
+ searchConfig={pendingCommunitiesSearchConfig}
119
+ record={record}
122
120
  />
123
121
  </Overridable>
124
122
  </OverridableContext.Provider>,
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioRDM
2
- // Copyright (C) 2020-2021 CERN.
2
+ // Copyright (C) 2020-2025 CERN.
3
3
  // Copyright (C) 2020-2021 Northwestern University.
4
4
  // Copyright (C) 2021 Graz University of Technology.
5
5
  //
@@ -32,7 +32,7 @@ $(".dropdown.export").dropdown({
32
32
  },
33
33
  });
34
34
 
35
- const $licensesPopup = $("#licenses li.has-popup .license.clickable");
35
+ const $licensesPopup = $("#licenses .has-popup .license.clickable");
36
36
 
37
37
  // Licenses description popup
38
38
  $licensesPopup.popup({
@@ -49,18 +49,18 @@ $licensesPopup.popup({
49
49
 
50
50
  $licensesPopup.on("keydown", function (event) {
51
51
  if (event.key === "Enter") {
52
- $("#licenses li.has-popup .license.clickable").popup("hide");
52
+ $licensesPopup.popup("hide");
53
53
  $(event.target).popup("show");
54
54
  }
55
55
  });
56
56
 
57
57
  $("#licenses .licenses-description .close.icon").on({
58
58
  click: function () {
59
- $("#licenses li.has-popup .license.clickable").popup("hide");
59
+ $licensesPopup.popup("hide");
60
60
  },
61
61
  keydown: function (event) {
62
62
  if (event.key === "Enter") {
63
- $("#licenses li.has-popup .license.clickable").popup("hide");
63
+ $licensesPopup.popup("hide");
64
64
  }
65
65
  },
66
66
  });
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (C) 2020-2022 CERN.
2
+ * Copyright (C) 2020-2025 CERN.
3
3
  * Copyright (C) 2020 Northwestern University.
4
4
  * Copyright (C) 2021 Graz University of Technology.
5
5
  * Copyright (C) 2021 New York University.
@@ -8,10 +8,12 @@
8
8
  * it under the terms of the MIT License; see LICENSE file for more details.
9
9
  */
10
10
 
11
- #licenses ul.details-list {
11
+ #licenses ul.details-list,
12
+ #licenses dl.details-list {
12
13
  list-style-type: none;
13
14
 
14
- li {
15
+ li,
16
+ dd {
15
17
  margin: .5rem 0;
16
18
 
17
19
  &:first-child {
@@ -1,15 +1,16 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
- # Copyright (C) 2023-2024 CERN.
3
+ # Copyright (C) 2023-2025 CERN.
4
4
  # Copyright (C) 2024-2025 Graz University of Technology.
5
+ # Copyright (C) 2025 Northwestern University.
5
6
  #
6
7
  # Invenio-App-RDM is free software; you can redistribute it and/or modify
7
8
  # it under the terms of the MIT License; see LICENSE file for more details.
8
9
 
9
- """Record migration script from InvenioRDM 11.0 to 12.0.
10
+ """Record migration script from InvenioRDM 12.0 to 13.0.
10
11
 
11
12
  Disclaimer: This script is intended to be executed *only once*, namely when
12
- upgrading from InvenioRDM 11.0 to 12.0!
13
+ upgrading from InvenioRDM 12.0 to 13.0!
13
14
  If this script is executed at any other time, probably the best case scenario
14
15
  is that nothing happens!
15
16
 
@@ -20,11 +21,17 @@ This script has been tested with following data:
20
21
  - internal_notes
21
22
  """
22
23
 
24
+ import sys
25
+ import traceback
26
+
23
27
  from click import secho
24
28
  from invenio_access.permissions import system_identity
25
29
  from invenio_db import db
26
30
  from invenio_rdm_records.proxies import current_rdm_records_service as records_service
27
31
  from invenio_search.engine import dsl
32
+ from invenio_vocabularies.contrib.affiliations.api import Affiliation
33
+ from invenio_vocabularies.contrib.names.api import Name
34
+ from sqlalchemy import select
28
35
 
29
36
 
30
37
  def run_upgrade(has, migrate):
@@ -113,12 +120,75 @@ def run_upgrade_for_thesis():
113
120
  secho("Thesis upgrade has finished.", fg="green")
114
121
 
115
122
 
123
+ def run_upgrade_for_affiliations():
124
+ """Update affiliations entry so that they conform to new shape."""
125
+ secho("Affiliations upgrade has started.", fg="green")
126
+
127
+ error = False
128
+ # Batch intake to limit memory usage
129
+ stmt = select(Affiliation.model_cls).execution_options(yield_per=250)
130
+
131
+ for affiliation_model in db.session.scalars(stmt):
132
+ try:
133
+ data_for_affiliation = affiliation_model.data
134
+ data_for_affiliation.pop("id", None)
135
+ data_for_affiliation.pop("pid", None)
136
+ affiliation = Affiliation(data_for_affiliation, model=affiliation_model)
137
+ affiliation.commit()
138
+ except Exception as e:
139
+ secho(f"Migration failed with '{repr(e)}'.", fg="red")
140
+ secho(f"Affiliation {affiliation_model.pid} failed to update", fg="red")
141
+ trace = traceback.format_exc()
142
+ secho(f"Traceback {trace}", fg="red")
143
+ error = True
144
+ break
145
+
146
+ if error:
147
+ db.session.rollback()
148
+ secho("Affiliations upgrade failed.", fg="red")
149
+ sys.exit(1)
150
+ else:
151
+ db.session.commit()
152
+ secho("Affiliations upgrade succeeded.", fg="green")
153
+
154
+
155
+ def run_upgrade_for_names():
156
+ """Update names entry so that they conform to new shape."""
157
+ secho("Names upgrade has started.", fg="green")
158
+
159
+ error = False
160
+ # Batch intake to limit memory usage
161
+ stmt = select(Name.model_cls).execution_options(yield_per=250)
162
+
163
+ for name_model in db.session.scalars(stmt):
164
+ try:
165
+ data_for_name = name_model.data
166
+ data_for_name.pop("id", None)
167
+ data_for_name.pop("pid", None)
168
+ name = Name(data_for_name, model=name_model)
169
+ name.commit()
170
+ except Exception as e:
171
+ secho(f"Migration failed with '{repr(e)}'.", fg="red")
172
+ secho(f"Name {name_model.pid} failed to update", fg="red")
173
+ trace = traceback.format_exc()
174
+ secho(f"Traceback {trace}", fg="red")
175
+ error = True
176
+ break
177
+
178
+ if error:
179
+ db.session.rollback()
180
+ secho("Names upgrade failed.", fg="red")
181
+ sys.exit(1)
182
+ else:
183
+ db.session.commit()
184
+ secho("Names upgrade succeeded.", fg="green")
185
+
186
+
116
187
  def execute_upgrade():
117
188
  """Execute the upgrade from InvenioRDM 12.0 to 13.0.0.
118
189
 
119
190
  Please read the disclaimer on this module before thinking about executing
120
191
  this function!
121
- THIS MODULE IS WORK IN PROGRESS, UNTIL official v13 release
122
192
 
123
193
  NOTE:
124
194
  since the data upgrade steps are more selective now, the approach how to do
@@ -131,6 +201,8 @@ def execute_upgrade():
131
201
  secho("Starting data migration...", fg="green")
132
202
 
133
203
  run_upgrade_for_thesis()
204
+ run_upgrade_for_affiliations()
205
+ run_upgrade_for_names()
134
206
 
135
207
 
136
208
  # if the script is executed on its own, perform the upgrade
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-app-rdm
3
- Version: 14.0.0b0.dev1
3
+ Version: 14.0.0b0.dev2
4
4
  Summary: Invenio Research Data Management.
5
5
  Home-page: https://github.com/inveniosoftware/invenio-app-rdm
6
6
  Author: CERN
@@ -101,9 +101,28 @@ https://inveniordm.docs.cern.ch
101
101
  Changes
102
102
  =======
103
103
 
104
+ Version v14.0.0b0.dev2 (released 2025-08-08)
105
+
106
+ - fix(views): use correct community value
107
+ * After the change in 33f1b0d2, values passed to the UI or used for
108
+ accessing UI-related attributes (e.g. the "theme"), must come from
109
+ the community UI-serialized value instead of the service result item.
110
+ - fix(pages): add community base template as a valid option
111
+ - feat(fixtures): allow specifying `template_name` in page fixtures
112
+ - ui: refactor record injecting in JS components
113
+ - inject only record links in citations cmps
114
+ - remove dependency between citations and communities cmps which
115
+ they were sharing the same record injection
116
+ - fix(deposits): pass missing community_ui to community theme templates
117
+ * also introduce more explicit distinctions between community and
118
+ community_ui variables
119
+ - UI: set order of entries and rename category to deposits
120
+ - UI: make external resources section consistent with details
121
+ - UI: make rights section consistent with details
122
+
104
123
  Version v14.0.0b0.dev1 (released 2025-08-01)
105
124
 
106
- - setup: bump invenio-communities and invenio-rdm-records
125
+ - setup: bump invenio-communities and invenio-rdm-records
107
126
  - theme: add search overrides for reviewers search results
108
127
  - requests: add request action_accept permissions to UI
109
128
  - theme: update package-lock.json for compiling catalog for frontend tests
@@ -1,6 +1,6 @@
1
- invenio_app_rdm/__init__.py,sha256=6dYQGfSQL6Uaziwaadzsqg9EpCluU2_cc9V1KpnqQCI,704
1
+ invenio_app_rdm/__init__.py,sha256=YnOgO6cbNQXzzkcAA2wTGVo9kayF70_p_V8fa9P3Dig,704
2
2
  invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
3
- invenio_app_rdm/config.py,sha256=MQYHg0C5p5xAphuGOh3lqxp7k9Dboi27uxn7WHkv2JU,52040
3
+ invenio_app_rdm/config.py,sha256=T5pTzoBAAsxyp4ACAnfIhHcMowVkAnk8fWXlHR2OrRA,52107
4
4
  invenio_app_rdm/ext.py,sha256=K7syn5CU5If7yOclFeNOCZX_u5q6VB7NJEQVm41mlng,5286
5
5
  invenio_app_rdm/tasks.py,sha256=FyrIQXVuPjms-dNEnLrVmmdwrX_IykJ87gcSNgOR6O0,1373
6
6
  invenio_app_rdm/views.py,sha256=SDr9NwZEWQcgT_3GFRYdDf6eUaK9DfnoafIkhUf9nSI,785
@@ -10,7 +10,7 @@ invenio_app_rdm/administration/audit_logs/audit_logs.py,sha256=6tZvqPKt54Hc8gL3L
10
10
  invenio_app_rdm/administration/domains/__init__.py,sha256=Qob5kqjRPxpuSE5yDV2tesN6tmaKp5JcxCxGA8Mrcak,487
11
11
  invenio_app_rdm/administration/domains/domains.py,sha256=vafLa-mqkg_tQLjx328E64P_4mksB5kjBlsfunvdatg,5599
12
12
  invenio_app_rdm/administration/records/__init__.py,sha256=WpNHBm_Mk9FF8GzvrXWjL79URMSgBhpqgxvrLXNooqg,434
13
- invenio_app_rdm/administration/records/records.py,sha256=BFxxnB4acN8Fd3A6CWuyRUjo3bvdWmNSkcxuVZYzTaA,5357
13
+ invenio_app_rdm/administration/records/records.py,sha256=6nVyDwYLdipIDSnlXMRe6JuiIIo5CaVojeNJCOlTPjI,5371
14
14
  invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/audit_logs.html,sha256=kLP3lfZiwLB8N-78_xINymnD8TIjGMzeJIO1a1zO130,346
15
15
  invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/domains_search.html,sha256=NP8HPfOQPIR9psNDMFRXJH8fjok2AbXCentD_3Q1wWw,338
16
16
  invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/user_moderation.html,sha256=koXd8lV_KBgAl1Wll7aM3xR0NgYcOl2PiFqD2Xkcp2w,348
@@ -36,7 +36,7 @@ invenio_app_rdm/communities_ui/views/communities.py,sha256=LPSe4ixyJvmO3auHJK3Y6
36
36
  invenio_app_rdm/communities_ui/views/ui.py,sha256=YZ9yiZazEutwkpR4xEolLe6mUtiTJrxVdCOtQGAILOw,3007
37
37
  invenio_app_rdm/fixtures/__init__.py,sha256=XwWy4U66FkpWOEBFfn5EnXfuTKlXnh3HWZNBMDX4Rgk,1512
38
38
  invenio_app_rdm/fixtures/oai_sets.py,sha256=ZoS94FNkIsdEJWHihZRYvFAstp3GBrZ0viDml9mQXOI,621
39
- invenio_app_rdm/fixtures/pages.py,sha256=oWGpcjm8lhV2RQth10zV4VZNGe2qknBJtknFJGglkeg,2531
39
+ invenio_app_rdm/fixtures/pages.py,sha256=DF8DGQ_TPLHxr8PVb2ZVmnMDAc5m20pcVF2OjnTnNu4,2630
40
40
  invenio_app_rdm/fixtures/data/oai_sets.yaml,sha256=NlkL0Y4AH_HxmO0mfwzOlF7ZYAT0D7EV6aOs-_OLl7Q,256
41
41
  invenio_app_rdm/fixtures/data/pages.yaml,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  invenio_app_rdm/fixtures/pages/.gitkeep,sha256=1HVs32jZTGcMkk-dV9RHGPZm5FdydwFIZDW1epflLF8,68
@@ -55,7 +55,7 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/restric
55
55
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/search.html,sha256=MdDMzWNIqvZRH-7Blvb9lBdJCA-TK0MXdPpyVWjjBo8,606
56
56
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html,sha256=oXt0IHIF_AL3b0zLfBgl_meMBzDupNBwFaRGD2EIofY,1902
57
57
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/access-form.html,sha256=rLkoNmouAMV8S6fAU3_PtGuqDjFTACniyiosGAKjcN0,2317
58
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html,sha256=kLtpjahv3CHa1NvRmSirbv7st53q9F3K7LNYTCdvCuk,564
58
+ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html,sha256=QBbRNCBBdE7JJirLrIdCWlhcmR37qh_2QXg7AnTtwdw,576
59
59
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/contact.html,sha256=czuC-Ec5zJaKzFOaqhz7JqhWiCS3U3NKaQmPw9-rzks,403
60
60
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/creatibutors.html,sha256=43fnhdtCdec6d3s9B__7biS4vp0opvcMYh-1_jncYbA,2231
61
61
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/description.html,sha256=UGUy-EOWggvBRCZT-H418yMW4PzYgn-5QFcmgZx1P8U,930
@@ -66,14 +66,14 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details
66
66
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html,sha256=T-J48dh0mtIZf1LmaEKjS4ki5sv5kxv38lSkU45Xz1g,4373
67
67
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/subjects.html,sha256=bYER2zAbf7XtM5sMXNzO1GwaLHpZQbdhhMZiMP5yRwU,1518
68
68
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/citations.html,sha256=5Sdg_gwGOgm0qLRv4-CUmDNx7PYlOsa5XPGjDdx7k20,258
69
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html,sha256=Mv6hMKj190MFjx_y768SgsD9KrJ0K3_bd3vzMj2SxbA,1603
69
+ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html,sha256=VsAa3NxRPHVOD-5hyMhIcIhK0P9Y2f0X1k4mr4Ghb0c,1644
70
70
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/details.html,sha256=J5z4zxhSZDcKE2ZEdyhcRMIKKVCyKGE6DTeGysijwRU,2123
71
71
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/export.html,sha256=RfPvs17eTUkWfWA6o9jRWqjUeDyTKL0XyreGR0UXLt4,1404
72
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html,sha256=Ia92YMRlxuGRTMsWU4hQTLJDeRy8BX8bnSSaLXKst4Y,1934
72
+ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html,sha256=bE1wqTkQdJkBHpO_9Rr2TZcf7CrRChdCjzcr0dK9UdE,1944
73
73
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/keywords_subjects.html,sha256=8FTUt6MVRvEsj89qDxP6eK2feyv2UI0fgICoT99cUIU,717
74
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html,sha256=K1wutmzuIaS7Wq3kyii0fYXs9JM8rQkJo2o3nQG9bSY,3140
74
+ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/licenses.html,sha256=8VfF1BJCvjc3MPPGDg5cm2M6_zbkz2HybJuRU5a2gXc,3172
75
75
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/locations.html,sha256=6o5nQyXP0V158KMBsOpKMeuLGcw_lAhnZIyGpaogbMk,721
76
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html,sha256=C2Y96zEZAiDmAq5gOTKLKHpUnGktCZDgihBy4LKse98,1496
76
+ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/manage_menu.html,sha256=RZyotLNBXK9V2mMOhydcyjQ1S2lX-Az1fGPzXqAOCOA,1442
77
77
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/metrics.html,sha256=6aS28YC8U7VDWn2vI2ckYtzm9wVWacGZ4a7Pu5D3BBI,526
78
78
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/technical_metadata.html,sha256=ptS8h6orgDhFFGXeZBCNBltELy_g9fUtS1bMTzieCPk,676
79
79
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/versions.html,sha256=fIa8R0blN2rWkrP0K43qvSTye4Gt6-5yo3HN5FLdLTA,935
@@ -85,10 +85,10 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/
85
85
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/stats_popup.html,sha256=5SVzfIS15Aro2Itd2BiaLbMXm0cvvwk6ZCdYjuSwhBw,625
86
86
  invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/version.html,sha256=eA8-n81XUezkwPXvcG5v2sgLPQNTgr7hB36-_Gr-tVI,758
87
87
  invenio_app_rdm/records_ui/views/__init__.py,sha256=9DaDls04IQv7fYttDjLofIWGsRRjk-FwUYnIfxV3OWk,5840
88
- invenio_app_rdm/records_ui/views/decorators.py,sha256=MUUmgGuigmFMigcpyJbNvM0yPKUyeAw5LE6MJ69BoFA,15883
89
- invenio_app_rdm/records_ui/views/deposits.py,sha256=26rZSuR5AE8-uDwP6hbgmq6OtLi7BbEkFuZmr5ipb6A,22486
88
+ invenio_app_rdm/records_ui/views/decorators.py,sha256=JWiypClbUsTzpwKB0YuDGffowP_WaJfdjX_-Hm6sJl4,15930
89
+ invenio_app_rdm/records_ui/views/deposits.py,sha256=W5H6QxIcxAopDCt7IAQ--l2d0VaZPEv5uwwTEon8MyU,22790
90
90
  invenio_app_rdm/records_ui/views/filters.py,sha256=zKuqjM_Yb9MmBmloStjasASYCwVG7mUe0eolI2MtPXg,6998
91
- invenio_app_rdm/records_ui/views/records.py,sha256=u3zvyMk5ADvzC6WhUlxFqjdJMIcuBAwh7PdV_TPg2KE,16454
91
+ invenio_app_rdm/records_ui/views/records.py,sha256=8uA8JKhHU9UvpkqxZ9zcExyceOXibHIq4bMvtJ0DMBc,16220
92
92
  invenio_app_rdm/redirector/__init__.py,sha256=AYCTGmfbmkHW3YJXMqXlWBXcBrUsta-QmL9ULX2bjwA,243
93
93
  invenio_app_rdm/redirector/resource.py,sha256=XuH6ZK0HVE5LdXoorlm8aI3deizvnZ5gFa9d1ihYosk,3312
94
94
  invenio_app_rdm/redirector/views.py,sha256=CTJ3EGEFKfc0lFwNb9pwH7MbMLiqaWnF8LA3xGIwahc,563
@@ -112,14 +112,14 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js,sha256=LIgn
112
112
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/utils.js,sha256=oTCQkmr7j6FwVsOfM6hsKrPHfadW7m9IurrqYVDgxDw,3628
113
113
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/AuditLogActions.js,sha256=ugQ-0b_6_O5rDeP7JUlNJ5SLGGlip_tP3OoTT4hRcak,3984
114
114
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewJson.js,sha256=UX4-c4gtXOih4T7GQ1c_9zvlAEa0ljTiz22GU8A05Ps,955
115
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js,sha256=RKqpLDHZR1UNJjPYBC-XhSr4YVv5B4_BbUxAWhEqZOg,3279
115
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/ViewRecentChanges.js,sha256=M-vgjjroSGlo7TTTIW9UqCxRkMalCVmGBDTzOP2ZPSE,3279
116
116
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/index.js,sha256=Ruks4rwRBgtKrFop72ZoGNr4-BXoqqv7I-qiflZWzKg,1078
117
117
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/search/SearchResultItemLayout.js,sha256=CvH3a5Ws57x_FqZjK6vIz1AO4s6WmI0T-BkHNd8kOo0,3077
118
118
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/auditLogs/search/index.js,sha256=q1WaQ-kNNMvNdnsONMw2c4GWobizoPWsmIdWL2fRCPc,283
119
119
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/CompareRevisionsDropdown.js,sha256=BNdMxfFYPhlrGKPg47oc4X8ILllfCngN61L1b7Yt_8Q,2483
120
120
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUser.js,sha256=1tnHc9PaCQvVS1PVsDWtfpWzVxJJ5_eltn9WJEYygiY,2366
121
121
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUserForm.js,sha256=YWPZeI-vBr7GixhhzwYVS-epnbIw5frr8StsD81a5J8,6578
122
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js,sha256=Q-aAVC9jhOaOb7rL9SD48oGuI1fTmoskX8tKGRnpt9c,1921
122
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js,sha256=dcRsIbD8k-l-139qXGk0y9s-eMQjA6GglhzkI5-H4io,1897
123
123
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaAction.js,sha256=SzJIoK64pt5h1B9bHH28MFcd29dLl_EXA74BNv9Bfbk,3036
124
124
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaForm.js,sha256=Ltr03KlCogkg2NjqWc1GkxJlYPWB2LDLHL04w6eJiRU,5749
125
125
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/index.js,sha256=soELMxc1jf_rL62CJ9wtWGVG13yk1PRY7JqseqnKkqU,297
@@ -136,7 +136,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/recor
136
136
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/index.js,sha256=kWIIp7kzH3oe4xbByiUC3SpgEjAt4R3mWH8vneGWhiU,1460
137
137
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/api.js,sha256=NxrBwrejTwqBq0LMVAuQeyFLIlwDAVHGbJi009TiLEQ,1181
138
138
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/index.js,sha256=8D199izj4qOxNVS1XrS3JutmuBYIjHkvshUdv1aU92U,261
139
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js,sha256=4Jg17NQH_CMbI3ydjyFStMZ4W5VkXKNavkX5fmDBgwc,920
139
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/api/routes.js,sha256=yodLKUXGnyq3XcO4-6cGQsa7PbXD74mzGe-otU8iNjc,894
140
140
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/AdministrationSearchLayout.js,sha256=3pRQVkFOnyqRFWmbE3vXMB75Vnrvf-Y5pzZF79iT9q0,1854
141
141
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/RecordSearchLayout.js,sha256=F3Ht0kMf6-cSmbTSRo-PnJLneCqoqh7d0ea1A2Lj2i8,2544
142
142
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/SearchResultItemLayout.js,sha256=CsbdG5fVx2hw1SenJ5wHVd468-n5qp2yhB5x3ceGCuE,5611
@@ -170,30 +170,30 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButto
170
170
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayPartOfCommunities.js,sha256=bSmhuwSWk4CW80mqa4ZZbjfa-_NsiJ1IxQ9veDy6sAM,2751
171
171
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayVerifiedCommunity.js,sha256=m3rT8jJ3440ZX22zZog8bHatWltYXwvmw_tu6tJUM9k,1506
172
172
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordsResultsListItem.js,sha256=RTSQBlGQY7ww7fVGHDvDfWQNyJ07mnEoyboTGIcCgD4,6694
173
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js,sha256=pZ3OSEJFIBHh8-9L0jN0xyLfhIsyYRikVTlsbiDdJfI,33427
173
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js,sha256=TNV3iA-yEYipxvyFbBeiodyBcRQz-vqN4Bgu8R4n6Xg,33445
174
174
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/ShareDraftButton.js,sha256=ICMV4Ixe-nTe6q7COZ0oyAQf2nVp2cez_-iUZobwUD0,1998
175
175
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/config.js,sha256=rd2wqiwmYOkh4kWe8AiGWJar2kA8R8TkGMnX5XZvihs,1473
176
176
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js,sha256=xdJtxsdo8_tlq3HdjXp_tb3I_wvHi65a7z-tdH4pcqE,1643
177
177
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/RecordsList.js,sha256=PkLpiCl7sNSlQoCo7xxZ_H6QvWqK_TydoseIiKvtuMw,4176
178
178
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/index.js,sha256=X0tsSvLwGPzSFQEf4J1zPZbFRCiYeJq5CnEXr_J5LsU,900
179
179
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/AccessRequestForm.js,sha256=5GRlVkJQpwrY9wk4KI5Tmqmll2d3cEls8isJZjvoA9Q,8798
180
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js,sha256=YnRSutAGqKCN4pWfUcEELpQBzQEvZz7rKRxhkLjnM3g,5699
180
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js,sha256=dG0-R9Ddb-RK8mxnfUYFifyx5R2Pzgqj0mvPq_8Zwwo,5712
181
181
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagementDropdown.js,sha256=qocsinvtbWEqAi8kgqNqx7c0X-_evRmCz2bPTaMQlcI,5953
182
182
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/EditButton.js,sha256=WJ5lNpbPcd_Kymn_TYklSTfkCJRPhpFeT6cWcR48mSQ,1452
183
183
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js,sha256=fDqs5sel6Zo1oPkJT1XbR3dtHXvvgVuDhe_sg_-D690,1969
184
184
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js,sha256=79DO4JKJDU0AI1uaLzE2AAQRxTPx2rFKNj-CJ_UKP54,2934
185
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js,sha256=9bfvaNvr55jJ55kyv0vsNSliHAlNuw7lqwxpJM4gYQA,4700
185
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js,sha256=XYfXsQejNeC1R0spndn0qDrqvz6w3bj5UlPEIgT4U24,4757
186
186
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesList.js,sha256=wORVCOjlyX2mIsDU9J0MwWFE4Zw9CCL5inWpV7m8lsM,4004
187
187
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js,sha256=p49VyNWrYQw88xOxLdemHpBu0ty_4kVG_Bf69EZcl14,3875
188
188
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js,sha256=ZJaD4fW2z00tcektXVz0eLXu6oGLLW-NUjV86neuDjM,7141
189
189
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js,sha256=FVcpKl22zMi1GssbLZAj1pO98c6Em_wg_yBIdfBJor0,938
190
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=FkCbK5FrXlSaD_TDO1eUMDORULhBJccf7FEvhmto-GM,5029
191
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js,sha256=KrvpMMv46SNhOfd-kML-bcnPwcyt2rcQA-1qA1gf7_E,3242
190
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=4Ma2oL0YsvBHCesuWuLSgVvjpM5IuBWgU2356hxVS0w,4977
191
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js,sha256=TieqbbmJrxVKlkD5Kvsw6F-sbpucxSV9dv30Y6pXKjI,3144
192
192
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageDefaultBrandingAction/ManageDefaultBrandingAction.js,sha256=qNWpe3KyZ8NDHKocG6XKJzb6w3fIQk3muWN126pUo9w,3529
193
193
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesModal.js,sha256=G9OwLxKqX73w_7D1k7BHOzMeLmokowMfJQg5Km7J8RA,1797
194
194
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesSearch.js,sha256=8kiiICVaJ0m2K_5cPbiHo8tN8Q_AweSmlBIkx-aJ-dA,2753
195
195
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunityRequestItem.js,sha256=dQH-Ec5btlFoXPf110IoswM_RYy19ia2onJr_iC5P78,1080
196
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js,sha256=M63JhBJd3KtDc7xosVEtOOSedOqZgBEfHSQZw1vV4qM,2449
196
+ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesListModal.js,sha256=2YsFRDs2eyLtm46jz91x17jVU2Y72i7e7OFas-2WsSo,2465
197
197
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesSearch.js,sha256=bNkexo7L1fz5rzaxoZCM4R9GRdnZcdTRr-djR4k2t5o,3079
198
198
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/RecordCommunitiesSearchItem.js,sha256=7Mvz7C1_S_MfsJoN8-iyAaw9Y7aBPwBa6MH6O0gWhuw,1667
199
199
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesListModal/index.js,sha256=lf_UCmT3y3IPc47X6KESV4RGhTbjdXX8bQrn8ngJbqc,221
@@ -231,7 +231,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploa
231
231
  invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/MobileUploadsItem.js,sha256=7rwJz0nVwBk4bXOEcWymAZrPyL0pmekBcMeBwNt8OJc,5060
232
232
  invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/file_uploader/uppy.less,sha256=HwHovPrcrhWjcFKglnhbre7UbKBuhJlPPgu_Bdjpntg,723
233
233
  invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/creatibutors.less,sha256=X47WXPv66x2-T2XghG_ibq5vkX_3gxelK9O0mPxzFO8,1113
234
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less,sha256=SumVdXtD3IBMvOBUk3JiW-wD4Xy5ASEG1v4wwrsPrBI,1352
234
+ invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less,sha256=I-sVY6xvkMIh-cew5zjqp7QAD_ZGhB3vkpoBneEEd-M,1385
235
235
  invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/previewer/iiif_simple.less,sha256=EH1nrWuEFjfcrXrsbC82pTQqWQ2xAELSTtIkpRpar8I,326
236
236
  invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/theme.less,sha256=Qf4srjQoY4uAw___JDsrMhLRHTY39e5DEFyE5QlfBTg,1959
237
237
  invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/collections/form.overrides,sha256=KQ4zXjP5z9-WAq4vn_lSQ6QunZf0jApC5GqU6-Mi2tY,3291
@@ -463,7 +463,7 @@ invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_1_0_to_2_0.py,sha256=S
463
463
  invenio_app_rdm/upgrade_scripts/fix_migrated_records_from_8_0_to_9_0.py,sha256=p6qTNjUMAJ-0tnrSwar7jtDX_sg6V9kFj7fzH-wrbkY,2769
464
464
  invenio_app_rdm/upgrade_scripts/migrate_10_0_to_11_0.py,sha256=TX6FCWXY4qM4z7IYzDO5qaMTheo3zAjFrmR1sXaEf4U,1333
465
465
  invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py,sha256=Tp7jfT2JHrYCFzF2qIYqG7yr7k-GhX2zkw61CWJGA78,6941
466
- invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=iE5oJsCslLIACdShhgNJP3vmsUc4Sgvroj0T6rb3aAU,4564
466
+ invenio_app_rdm/upgrade_scripts/migrate_12_0_to_13_0.py,sha256=bN10r6gancomX6P-yBHtNjWImgSYltw1A5qtcXWjZz8,7038
467
467
  invenio_app_rdm/upgrade_scripts/migrate_1_0_records_to_2_0.py,sha256=mRDv_Ao5zMgA6X0aogMfvhspO1CIApKtDW_ziJp5fjI,3325
468
468
  invenio_app_rdm/upgrade_scripts/migrate_2_0_to_3_0.py,sha256=jL_2I61Q9qt3fjBzYYueeT4EMQ9FlNPxYE4nzDQbLEY,2698
469
469
  invenio_app_rdm/upgrade_scripts/migrate_3_0_to_4_0.py,sha256=BNjGufwLBvLHnu0gz5b_Are-FuxYjXlCtkLgNQckV3U,4768
@@ -484,9 +484,9 @@ invenio_app_rdm/users_ui/views/__init__.py,sha256=SMdY2NJj9GICfr3Xuok7qdNYVtA2bJ
484
484
  invenio_app_rdm/users_ui/views/dashboard.py,sha256=iUn2PrODAwb8ugmMosJKAjPhUzjCiWiAWoXQr9RUFuc,1793
485
485
  invenio_app_rdm/users_ui/views/ui.py,sha256=W_eXM8dLVIrNHQB2UEh37C9BYoHauft6RyvcDNFHovA,1742
486
486
  invenio_app_rdm/utils/files.py,sha256=CruDyO2gDVadSlWEJD-WHpWHeOQ0juh-Ei9jz3D9yjc,3923
487
- invenio_app_rdm-14.0.0b0.dev1.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
488
- invenio_app_rdm-14.0.0b0.dev1.dist-info/METADATA,sha256=ZszOnmC7_Sen4osMVuWoMvIxRQz9lbWDzrr4BtCBGx0,15701
489
- invenio_app_rdm-14.0.0b0.dev1.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
490
- invenio_app_rdm-14.0.0b0.dev1.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
491
- invenio_app_rdm-14.0.0b0.dev1.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
492
- invenio_app_rdm-14.0.0b0.dev1.dist-info/RECORD,,
487
+ invenio_app_rdm-14.0.0b0.dev2.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
488
+ invenio_app_rdm-14.0.0b0.dev2.dist-info/METADATA,sha256=_xLGTs8NBJrJWkOXLQybqZ5XASNLulc5Juc4LZ0swAw,16697
489
+ invenio_app_rdm-14.0.0b0.dev2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
490
+ invenio_app_rdm-14.0.0b0.dev2.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
491
+ invenio_app_rdm-14.0.0b0.dev2.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
492
+ invenio_app_rdm-14.0.0b0.dev2.dist-info/RECORD,,