invenio-app-rdm 13.0.0b4.dev0__py2.py3-none-any.whl → 13.0.0b4.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.
- invenio_app_rdm/__init__.py +1 -1
- invenio_app_rdm/communities_ui/views/communities.py +7 -2
- invenio_app_rdm/config.py +2 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html +2 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html +2 -4
- invenio_app_rdm/records_ui/views/deposits.py +14 -3
- invenio_app_rdm/requests_ui/views/requests.py +30 -82
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +18 -1
- {invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/METADATA +17 -1
- {invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/RECORD +14 -14
- {invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/WHEEL +0 -0
- {invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/entry_points.txt +0 -0
- {invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/licenses/LICENSE +0 -0
- {invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/top_level.txt +0 -0
invenio_app_rdm/__init__.py
CHANGED
|
@@ -22,11 +22,11 @@ from invenio_communities.views.communities import (
|
|
|
22
22
|
render_community_theme_template,
|
|
23
23
|
)
|
|
24
24
|
from invenio_communities.views.decorators import pass_community
|
|
25
|
+
from invenio_i18n import get_locale
|
|
25
26
|
from invenio_pages.proxies import current_pages_service
|
|
26
27
|
from invenio_pages.records.errors import PageNotFoundError
|
|
27
28
|
from invenio_rdm_records.proxies import (
|
|
28
29
|
current_community_records_service,
|
|
29
|
-
current_rdm_records,
|
|
30
30
|
)
|
|
31
31
|
from invenio_rdm_records.resources.serializers import UIJSONSerializer
|
|
32
32
|
from invenio_records_resources.services.errors import PermissionDeniedError
|
|
@@ -149,7 +149,12 @@ def community_static_page(pid_value, community, community_ui, **kwargs):
|
|
|
149
149
|
raise PermissionDeniedError()
|
|
150
150
|
|
|
151
151
|
try:
|
|
152
|
-
|
|
152
|
+
lang = get_locale()
|
|
153
|
+
page = current_pages_service.read_by_url(
|
|
154
|
+
g.identity,
|
|
155
|
+
request.path,
|
|
156
|
+
lang=lang.language,
|
|
157
|
+
).to_dict()
|
|
153
158
|
|
|
154
159
|
except PageNotFoundError:
|
|
155
160
|
abort(404)
|
invenio_app_rdm/config.py
CHANGED
|
@@ -818,7 +818,7 @@ APP_RDM_RECORD_EXPORTERS = {
|
|
|
818
818
|
"json-ld": {
|
|
819
819
|
"name": _("JSON-LD"),
|
|
820
820
|
"serializer": (
|
|
821
|
-
"invenio_rdm_records.resources.serializers:
|
|
821
|
+
"invenio_rdm_records.resources.serializers:SchemaorgJSONLDSerializer"
|
|
822
822
|
),
|
|
823
823
|
"content-type": "application/ld+json",
|
|
824
824
|
"filename": "{id}.json",
|
|
@@ -866,7 +866,7 @@ APP_RDM_RECORD_EXPORTERS = {
|
|
|
866
866
|
},
|
|
867
867
|
"bibtex": {
|
|
868
868
|
"name": _("BibTeX"),
|
|
869
|
-
"serializer": ("invenio_rdm_records.resources.serializers:
|
|
869
|
+
"serializer": ("invenio_rdm_records.resources.serializers:BibtexSerializer"),
|
|
870
870
|
"params": {},
|
|
871
871
|
"content-type": "application/x-bibtex",
|
|
872
872
|
"filename": "{id}.bib",
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{#
|
|
2
|
-
Copyright (C) 2020-
|
|
2
|
+
Copyright (C) 2020-2025 CERN.
|
|
3
3
|
Copyright (C) 2020-2021 Northwestern University.
|
|
4
4
|
Copyright (C) 2021 New York University.
|
|
5
5
|
|
|
@@ -316,7 +316,7 @@ show_alternate_identifiers, show_related_identifiers, show_funding, show_dates %
|
|
|
316
316
|
id="references-panel"
|
|
317
317
|
role="region"
|
|
318
318
|
aria-labelledby="references-accordion-trigger"
|
|
319
|
-
class="active content sixteen wide mobile twelve wide tablet thirteen wide computer column"
|
|
319
|
+
class="active content sixteen wide mobile twelve wide tablet thirteen wide computer column text-break"
|
|
320
320
|
>
|
|
321
321
|
{{ show_references(metadata.references) }}
|
|
322
322
|
</div>
|
|
@@ -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.
|
|
@@ -28,11 +28,9 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
|
|
30
30
|
<div class="ui accordion rel-mt-1 centered">
|
|
31
|
-
<div class="title">
|
|
31
|
+
<div class="title trigger" tabindex="0">
|
|
32
32
|
<i class="caret right icon" aria-hidden="true"></i>
|
|
33
33
|
<span
|
|
34
|
-
tabindex="0"
|
|
35
|
-
class="trigger"
|
|
36
34
|
data-open-text="{{ _('Show more details') }}"
|
|
37
35
|
data-close-text="{{ _('Show less details') }}"
|
|
38
36
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
#
|
|
3
|
-
# Copyright (C) 2019-
|
|
3
|
+
# Copyright (C) 2019-2025 CERN.
|
|
4
4
|
# Copyright (C) 2019-2021 Northwestern University.
|
|
5
5
|
# Copyright (C) 2021 TU Wien.
|
|
6
6
|
# Copyright (C) 2022-2024 KTH Royal Institute of Technology
|
|
@@ -391,6 +391,17 @@ def get_form_config(**kwargs):
|
|
|
391
391
|
)
|
|
392
392
|
|
|
393
393
|
|
|
394
|
+
def get_actual_files_quota(draft):
|
|
395
|
+
"""Report the actual effective quota from the draft's bucket, if available."""
|
|
396
|
+
if draft is not None and draft.bucket is not None:
|
|
397
|
+
return {
|
|
398
|
+
"quota_size": draft.bucket.quota_size,
|
|
399
|
+
"max_file_size": draft.bucket.max_file_size,
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
return get_files_quota(draft)
|
|
403
|
+
|
|
404
|
+
|
|
394
405
|
def get_search_url():
|
|
395
406
|
"""Get the search URL."""
|
|
396
407
|
# TODO: this should not be used
|
|
@@ -453,7 +464,7 @@ def deposit_create(community=None):
|
|
|
453
464
|
forms_config=get_form_config(
|
|
454
465
|
dashboard_routes=dashboard_routes,
|
|
455
466
|
createUrl="/api/records",
|
|
456
|
-
quota=
|
|
467
|
+
quota=get_actual_files_quota(None),
|
|
457
468
|
hide_community_selection=community_use_jinja_header,
|
|
458
469
|
is_doi_required=is_doi_required,
|
|
459
470
|
),
|
|
@@ -529,7 +540,7 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
|
|
|
529
540
|
apiUrl=f"/api/records/{pid_value}/draft",
|
|
530
541
|
dashboard_routes=dashboard_routes,
|
|
531
542
|
# maybe quota should be serialized into the record e.g for admins
|
|
532
|
-
quota=
|
|
543
|
+
quota=get_actual_files_quota(draft._record),
|
|
533
544
|
# hide react community component
|
|
534
545
|
hide_community_selection=community_use_jinja_header,
|
|
535
546
|
is_doi_required=is_doi_required,
|
|
@@ -11,9 +11,10 @@
|
|
|
11
11
|
|
|
12
12
|
from flask import current_app, g, render_template
|
|
13
13
|
from flask_login import current_user, login_required
|
|
14
|
+
from invenio_checks.api import ChecksAPI
|
|
14
15
|
from invenio_communities.config import COMMUNITIES_ROLES
|
|
15
16
|
from invenio_communities.members.services.request import CommunityInvitation
|
|
16
|
-
from invenio_communities.proxies import
|
|
17
|
+
from invenio_communities.proxies import current_identities_cache
|
|
17
18
|
from invenio_communities.subcommunities.services.request import (
|
|
18
19
|
SubCommunityInvitationRequest,
|
|
19
20
|
SubCommunityRequest,
|
|
@@ -31,7 +32,6 @@ from invenio_requests.customizations import AcceptAction
|
|
|
31
32
|
from invenio_requests.resolvers.registry import ResolverRegistry
|
|
32
33
|
from invenio_requests.views.decorators import pass_request
|
|
33
34
|
from invenio_users_resources.proxies import current_user_resources
|
|
34
|
-
from sqlalchemy import case
|
|
35
35
|
from sqlalchemy.orm.exc import NoResultFound
|
|
36
36
|
|
|
37
37
|
from ...records_ui.utils import get_external_resources
|
|
@@ -53,10 +53,9 @@ def _resolve_topic_record(request):
|
|
|
53
53
|
user_owns_request = str(creator_id) == str(current_user.id)
|
|
54
54
|
|
|
55
55
|
if request["is_closed"] and not user_owns_request:
|
|
56
|
-
return dict(permissions={}, record_ui=None, record=None
|
|
56
|
+
return dict(permissions={}, record_ui=None, record=None)
|
|
57
57
|
|
|
58
58
|
record = None
|
|
59
|
-
record_uuid = None
|
|
60
59
|
# parse the topic field to get the draft/record pid `record:abcd-efgh`
|
|
61
60
|
entity = ResolverRegistry.resolve_entity_proxy(request["topic"])
|
|
62
61
|
pid = entity._parse_ref_dict_id()
|
|
@@ -85,15 +84,11 @@ def _resolve_topic_record(request):
|
|
|
85
84
|
break
|
|
86
85
|
# read published record
|
|
87
86
|
record = current_rdm_records_service.read(g.identity, pid, expand=True)
|
|
88
|
-
record_uuid = current_rdm_records_service.record_cls.pid.resolve(pid).id
|
|
89
87
|
else:
|
|
90
88
|
# read draft
|
|
91
89
|
record = current_rdm_records_service.read_draft(
|
|
92
90
|
g.identity, pid, expand=True
|
|
93
91
|
)
|
|
94
|
-
record_uuid = current_rdm_records_service.draft_cls.pid.resolve(
|
|
95
|
-
pid, registered_only=False
|
|
96
|
-
).id
|
|
97
92
|
except (NoResultFound, PIDDoesNotExistError):
|
|
98
93
|
# We catch PIDDoesNotExistError because a published record with
|
|
99
94
|
# a soft-deleted draft will raise this error. The lines below
|
|
@@ -103,7 +98,6 @@ def _resolve_topic_record(request):
|
|
|
103
98
|
try:
|
|
104
99
|
# read published record
|
|
105
100
|
record = current_rdm_records_service.read(g.identity, pid, expand=True)
|
|
106
|
-
record_uuid = current_rdm_records_service.record_cls.pid.resolve(pid).id
|
|
107
101
|
except NoResultFound:
|
|
108
102
|
# record tab not displayed when the record is not found
|
|
109
103
|
# the request is probably not open anymore
|
|
@@ -126,10 +120,9 @@ def _resolve_topic_record(request):
|
|
|
126
120
|
permissions=permissions,
|
|
127
121
|
record_ui=record_ui,
|
|
128
122
|
record=record,
|
|
129
|
-
record_uuid=record_uuid,
|
|
130
123
|
)
|
|
131
124
|
|
|
132
|
-
return dict(permissions={}, record_ui=None, record=None
|
|
125
|
+
return dict(permissions={}, record_ui=None, record=None)
|
|
133
126
|
|
|
134
127
|
|
|
135
128
|
def _resolve_record_or_draft_files(record, request):
|
|
@@ -174,72 +167,6 @@ def _resolve_record_or_draft_media_files(record, request):
|
|
|
174
167
|
return None
|
|
175
168
|
|
|
176
169
|
|
|
177
|
-
def _resolve_checks(record_uuid, request, community=None):
|
|
178
|
-
"""Resolve the checks for this draft/record related to the community and the request."""
|
|
179
|
-
# FIXME: Move this logic to invenio-checks
|
|
180
|
-
|
|
181
|
-
# Early exit if checks are not enabled.
|
|
182
|
-
enabled = current_app.config.get("CHECKS_ENABLED", False)
|
|
183
|
-
|
|
184
|
-
if not enabled:
|
|
185
|
-
return None
|
|
186
|
-
|
|
187
|
-
# Early exit if not draft submission nor record inclusion
|
|
188
|
-
request_type = request["type"]
|
|
189
|
-
is_draft_submission = request_type == CommunitySubmission.type_id
|
|
190
|
-
is_record_inclusion = request_type == CommunityInclusion.type_id
|
|
191
|
-
|
|
192
|
-
if not is_draft_submission and not is_record_inclusion:
|
|
193
|
-
return None
|
|
194
|
-
|
|
195
|
-
# Early exit if there is no record UUID (for instance for some closed requests)
|
|
196
|
-
if not record_uuid:
|
|
197
|
-
return None
|
|
198
|
-
|
|
199
|
-
# Resolve the target community from the request if the community was not passed as an argument
|
|
200
|
-
if not community:
|
|
201
|
-
community_uuid = request["receiver"]["community"]
|
|
202
|
-
community = current_communities.service.read(
|
|
203
|
-
id_=community_uuid, identity=g.identity
|
|
204
|
-
)
|
|
205
|
-
|
|
206
|
-
# Collect the community UUID and the potential parent community UUID
|
|
207
|
-
communities = []
|
|
208
|
-
community_parent_id = community.to_dict().get("parent", {}).get("id")
|
|
209
|
-
if community_parent_id:
|
|
210
|
-
# Add the parent community first for later ordering of check configs
|
|
211
|
-
communities.append(community_parent_id)
|
|
212
|
-
communities.append(community.id)
|
|
213
|
-
|
|
214
|
-
# Early exit if no check config found for the communities
|
|
215
|
-
from invenio_checks.models import CheckConfig, CheckRun
|
|
216
|
-
|
|
217
|
-
check_configs = (
|
|
218
|
-
CheckConfig.query.filter(CheckConfig.community_id.in_(communities))
|
|
219
|
-
.order_by(
|
|
220
|
-
# Order by the communities (parent first if any) and then by check IDs for deterministic ordering
|
|
221
|
-
case((CheckConfig.community_id == communities[0], 0), else_=1),
|
|
222
|
-
CheckConfig.check_id,
|
|
223
|
-
)
|
|
224
|
-
.all()
|
|
225
|
-
)
|
|
226
|
-
|
|
227
|
-
if not check_configs:
|
|
228
|
-
return None
|
|
229
|
-
|
|
230
|
-
# Find check runs for the given check configs
|
|
231
|
-
check_config_ids = [check_config.id for check_config in check_configs]
|
|
232
|
-
checks = CheckRun.query.filter(
|
|
233
|
-
CheckRun.config_id.in_(check_config_ids),
|
|
234
|
-
CheckRun.record_id == record_uuid,
|
|
235
|
-
).all()
|
|
236
|
-
# For a given record, there is one check run corresponding to one check config
|
|
237
|
-
# Order the check runs by the same order as the check configs for deterministic ordering
|
|
238
|
-
checks = sorted(checks, key=lambda check: check_config_ids.index(check.config_id))
|
|
239
|
-
|
|
240
|
-
return checks
|
|
241
|
-
|
|
242
|
-
|
|
243
170
|
@login_required
|
|
244
171
|
@pass_request(expand=True)
|
|
245
172
|
def user_dashboard_request_view(request, **kwargs):
|
|
@@ -254,17 +181,26 @@ def user_dashboard_request_view(request, **kwargs):
|
|
|
254
181
|
has_topic = request["topic"] is not None
|
|
255
182
|
has_record_topic = has_topic and "record" in request["topic"]
|
|
256
183
|
has_community_topic = has_topic and "community" in request["topic"]
|
|
184
|
+
is_record_inclusion = request_type == CommunityInclusion.type_id
|
|
257
185
|
|
|
258
186
|
if has_record_topic:
|
|
259
187
|
topic = _resolve_topic_record(request)
|
|
260
188
|
record_ui = topic["record_ui"]
|
|
261
189
|
record = topic["record"]
|
|
262
|
-
record_uuid = topic["record_uuid"]
|
|
263
190
|
is_draft = record_ui["is_draft"] if record_ui else False
|
|
264
|
-
|
|
191
|
+
is_published = record_ui["is_published"] if record_ui else False
|
|
192
|
+
has_draft = record._record.has_draft if record else False
|
|
265
193
|
|
|
266
194
|
files = _resolve_record_or_draft_files(record_ui, request)
|
|
267
195
|
media_files = _resolve_record_or_draft_media_files(record_ui, request)
|
|
196
|
+
|
|
197
|
+
checks = None
|
|
198
|
+
if current_app.config.get("CHECKS_ENABLED", False) and record:
|
|
199
|
+
if is_record_inclusion and has_draft:
|
|
200
|
+
checks = ChecksAPI.get_runs(record._record, is_draft=True)
|
|
201
|
+
else:
|
|
202
|
+
checks = ChecksAPI.get_runs(record._record)
|
|
203
|
+
|
|
268
204
|
return render_template(
|
|
269
205
|
f"invenio_requests/{request_type}/index.html",
|
|
270
206
|
base_template="invenio_app_rdm/users/base.html",
|
|
@@ -276,6 +212,8 @@ def user_dashboard_request_view(request, **kwargs):
|
|
|
276
212
|
permissions=topic["permissions"],
|
|
277
213
|
is_preview=is_draft, # preview only when draft
|
|
278
214
|
is_draft=is_draft,
|
|
215
|
+
is_published=is_published,
|
|
216
|
+
has_draft=has_draft,
|
|
279
217
|
request_is_accepted=request_is_accepted,
|
|
280
218
|
files=files,
|
|
281
219
|
media_files=media_files,
|
|
@@ -341,13 +279,21 @@ def community_dashboard_request_view(request, community, community_ui, **kwargs)
|
|
|
341
279
|
topic = _resolve_topic_record(request)
|
|
342
280
|
record_ui = topic["record_ui"]
|
|
343
281
|
record = topic["record"]
|
|
344
|
-
record_uuid = topic["record_uuid"]
|
|
345
282
|
is_draft = record_ui["is_draft"] if record_ui else False
|
|
346
|
-
|
|
347
|
-
|
|
283
|
+
is_published = record_ui["is_published"] if record_ui else False
|
|
284
|
+
has_draft = record._record.has_draft if record else False
|
|
348
285
|
permissions.update(topic["permissions"])
|
|
286
|
+
|
|
349
287
|
files = _resolve_record_or_draft_files(record_ui, request)
|
|
350
288
|
media_files = _resolve_record_or_draft_media_files(record_ui, request)
|
|
289
|
+
|
|
290
|
+
checks = None
|
|
291
|
+
if current_app.config.get("CHECKS_ENABLED", False) and record:
|
|
292
|
+
if is_record_inclusion and has_draft:
|
|
293
|
+
checks = ChecksAPI.get_runs(record._record, is_draft=True)
|
|
294
|
+
else:
|
|
295
|
+
checks = ChecksAPI.get_runs(record._record)
|
|
296
|
+
|
|
351
297
|
return render_community_theme_template(
|
|
352
298
|
f"invenio_requests/{request_type}/index.html",
|
|
353
299
|
theme=community.to_dict().get("theme", {}),
|
|
@@ -361,6 +307,8 @@ def community_dashboard_request_view(request, community, community_ui, **kwargs)
|
|
|
361
307
|
permissions=permissions,
|
|
362
308
|
is_preview=is_draft, # preview only when draft
|
|
363
309
|
is_draft=is_draft,
|
|
310
|
+
has_draft=has_draft,
|
|
311
|
+
is_published=is_published,
|
|
364
312
|
request_is_accepted=request_is_accepted,
|
|
365
313
|
files=files,
|
|
366
314
|
media_files=media_files,
|
|
@@ -52,7 +52,6 @@ export class RDMDepositForm extends Component {
|
|
|
52
52
|
super(props);
|
|
53
53
|
this.config = props.config || {};
|
|
54
54
|
const { files, record } = this.props;
|
|
55
|
-
|
|
56
55
|
// TODO: Make ALL vocabulary be generated by backend.
|
|
57
56
|
// Currently, some vocabulary is generated by backend and some is
|
|
58
57
|
// generated by frontend here. Iteration is faster and abstractions can be
|
|
@@ -143,6 +142,7 @@ export class RDMDepositForm extends Component {
|
|
|
143
142
|
preselectedCommunity={preselectedCommunity}
|
|
144
143
|
files={files}
|
|
145
144
|
permissions={permissions}
|
|
145
|
+
errors={record.errors}
|
|
146
146
|
>
|
|
147
147
|
<Overridable
|
|
148
148
|
id="InvenioAppRdm.Deposit.FormFeedback.container"
|
|
@@ -377,6 +377,23 @@ export class RDMDepositForm extends Component {
|
|
|
377
377
|
/>
|
|
378
378
|
</AccordionField>
|
|
379
379
|
</Overridable>
|
|
380
|
+
<Overridable
|
|
381
|
+
id="InvenioAppRdm.Deposit.BasicInformation.after.container"
|
|
382
|
+
record={record}
|
|
383
|
+
files={files}
|
|
384
|
+
permissions={permissions}
|
|
385
|
+
preselectedCommunity={preselectedCommunity}
|
|
386
|
+
filesLocked={filesLocked}
|
|
387
|
+
recordRestrictionGracePeriod={recordRestrictionGracePeriod}
|
|
388
|
+
allowRecordRestriction={allowRecordRestriction}
|
|
389
|
+
groupsEnabled={groupsEnabled}
|
|
390
|
+
allowEmptyFiles={allowEmptyFiles}
|
|
391
|
+
customFieldsUI={customFieldsUI}
|
|
392
|
+
config={this.config}
|
|
393
|
+
vocabularies={this.vocabularies}
|
|
394
|
+
noFiles={this.noFiles}
|
|
395
|
+
hideCommunitySelection={this.hide_community_selection}
|
|
396
|
+
/>
|
|
380
397
|
<Overridable
|
|
381
398
|
id="InvenioAppRdm.Deposit.AccordionFieldRecommendedInformation.container"
|
|
382
399
|
vocabularies={this.vocabularies}
|
{invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invenio-app-rdm
|
|
3
|
-
Version: 13.0.0b4.
|
|
3
|
+
Version: 13.0.0b4.dev2
|
|
4
4
|
Summary: Invenio Research Data Management.
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-app-rdm
|
|
6
6
|
Author: CERN
|
|
@@ -101,6 +101,22 @@ https://inveniordm.docs.cern.ch
|
|
|
101
101
|
Changes
|
|
102
102
|
=======
|
|
103
103
|
|
|
104
|
+
Version v13.0.0b4.dev2 (released 2025-06-13)
|
|
105
|
+
|
|
106
|
+
- checks: integrate into community requests flow
|
|
107
|
+
- deposit-ui: pass draft errors to form
|
|
108
|
+
- landing page: text-break references
|
|
109
|
+
- ui: fixed caret trigger in stats
|
|
110
|
+
|
|
111
|
+
- deposit: report actual file quota rather than configured values
|
|
112
|
+
* previously, the deposit form would show values from the configuration
|
|
113
|
+
that might be different from the actually effective quota
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
Version v13.0.0b4.dev1 (released 2025-06-10)
|
|
117
|
+
|
|
118
|
+
- communities-ui: pass locale language when rendering static pages
|
|
119
|
+
- deposit UI: add overridable hook for a separate section
|
|
104
120
|
|
|
105
121
|
Version v13.0.0b4.dev0 (released 2025-06-04)
|
|
106
122
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
invenio_app_rdm/__init__.py,sha256=
|
|
1
|
+
invenio_app_rdm/__init__.py,sha256=ZuHPebji2ZX0mDRRQgXsJ_EfReWBWi4H-P_nZ2QJVxg,704
|
|
2
2
|
invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
|
|
3
|
-
invenio_app_rdm/config.py,sha256=
|
|
3
|
+
invenio_app_rdm/config.py,sha256=IGAlE1QJsAgawB67di-Cs93nn5OdGKUDFu97L3bcODg,51369
|
|
4
4
|
invenio_app_rdm/ext.py,sha256=PkZhATGJDgYqBJQh41NdvBZWR83mgI3Eej6rj10UVJE,5278
|
|
5
5
|
invenio_app_rdm/tasks.py,sha256=FyrIQXVuPjms-dNEnLrVmmdwrX_IykJ87gcSNgOR6O0,1373
|
|
6
6
|
invenio_app_rdm/views.py,sha256=SDr9NwZEWQcgT_3GFRYdDf6eUaK9DfnoafIkhUf9nSI,785
|
|
@@ -32,7 +32,7 @@ invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/collect
|
|
|
32
32
|
invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/details/browse/index.html,sha256=3cp9pSf1ItKA-PHm2hnmc_x7pIryTFxpxk_yfrgFz3o,2125
|
|
33
33
|
invenio_app_rdm/communities_ui/templates/semantic-ui/invenio_communities/records/index.html,sha256=5Ub4uyVsjjTHzbhNe8Y-AAZG5oI28wZs2jQXvSPofXw,700
|
|
34
34
|
invenio_app_rdm/communities_ui/views/__init__.py,sha256=HsbOWjDobxXGx6WFlTn45JYr0V9yqjCpDXOR_i2wmtw,401
|
|
35
|
-
invenio_app_rdm/communities_ui/views/communities.py,sha256=
|
|
35
|
+
invenio_app_rdm/communities_ui/views/communities.py,sha256=e-mZh9ipKruDGxcA5JcdcmcKDx0_3nxZsPbKBLhlZdM,6831
|
|
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
|
|
@@ -59,11 +59,11 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details
|
|
|
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
|
|
62
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html,sha256=
|
|
62
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/details.html,sha256=6hWOr-iRzGnIqlVUC_ZZd7JHbp5e4LNHYNXhK-rPoeg,12289
|
|
63
63
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/doi.html,sha256=bveXC9JvZVjPKQrtZ8FFUV-fIHEN4nB1VSyomR_obxA,473
|
|
64
64
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/meta.html,sha256=CbojPWKp0PpXetywwbKW0a7jM_83t8LSbVmYiSEm-L8,1819
|
|
65
65
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar.html,sha256=PjmX-aH2YVZl67Q9ydFDOTLlrEwV2hgz64dRfftFF0A,426
|
|
66
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html,sha256=
|
|
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
69
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html,sha256=Mv6hMKj190MFjx_y768SgsD9KrJ0K3_bd3vzMj2SxbA,1603
|
|
@@ -86,7 +86,7 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/
|
|
|
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
88
|
invenio_app_rdm/records_ui/views/decorators.py,sha256=MUUmgGuigmFMigcpyJbNvM0yPKUyeAw5LE6MJ69BoFA,15883
|
|
89
|
-
invenio_app_rdm/records_ui/views/deposits.py,sha256=
|
|
89
|
+
invenio_app_rdm/records_ui/views/deposits.py,sha256=GmzunqPcEzkunvvo6VJP0SsRtGlwUIRwKSsyfF2Xc8A,21924
|
|
90
90
|
invenio_app_rdm/records_ui/views/filters.py,sha256=Rm55fXJv97cqq8B_6KCe-3PxxHUH4VRu-jd9fTea6r4,6994
|
|
91
91
|
invenio_app_rdm/records_ui/views/records.py,sha256=u3zvyMk5ADvzC6WhUlxFqjdJMIcuBAwh7PdV_TPg2KE,16454
|
|
92
92
|
invenio_app_rdm/redirector/__init__.py,sha256=AYCTGmfbmkHW3YJXMqXlWBXcBrUsta-QmL9ULX2bjwA,243
|
|
@@ -103,7 +103,7 @@ invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity/
|
|
|
103
103
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/subcommunity-invitation/index.html,sha256=347Saf8Fv78uevCbK2nFiOtNFUT0QyZSZS7lgoNzHdQ,1448
|
|
104
104
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/user-access-request/index.html,sha256=ltSP9sYPnpmCKMDYpZYU25Wxr3Dfqe2RNDxm6bVjX_I,1779
|
|
105
105
|
invenio_app_rdm/requests_ui/views/__init__.py,sha256=7QiAyRq8Eu84IXwjzxK63vNeTZnowZ5P85xtw7XgRjs,397
|
|
106
|
-
invenio_app_rdm/requests_ui/views/requests.py,sha256=
|
|
106
|
+
invenio_app_rdm/requests_ui/views/requests.py,sha256=psHuNbN4JJ2zoOiopRAic1RpB93uyem6BFe2aI3vbrI,14165
|
|
107
107
|
invenio_app_rdm/requests_ui/views/ui.py,sha256=DBysYQa__gOCg-pikO6HmoVLmRmMAVWeTBiYhPa7PmA,2359
|
|
108
108
|
invenio_app_rdm/theme/__init__.py,sha256=QbkxNjjOmGKRlie96HfTXgnFeVQjOX0GdiZnHP7pIhs,277
|
|
109
109
|
invenio_app_rdm/theme/views.py,sha256=mrcxejY9PlYwEqh8f0ojKX4CtmD9jz4f9rU-5aLZszU,4457
|
|
@@ -170,7 +170,7 @@ 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=
|
|
173
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js,sha256=YCLDocPHyKu2NBuiQTKfWn0bxXAMv-_d8FgbjxtDPyw,33167
|
|
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=gA0BaUFpaJr9nkmHSWoxuwKDfSD3JUTPcadj2TKHN24,1587
|
|
@@ -479,7 +479,7 @@ invenio_app_rdm/users_ui/views/__init__.py,sha256=SMdY2NJj9GICfr3Xuok7qdNYVtA2bJ
|
|
|
479
479
|
invenio_app_rdm/users_ui/views/dashboard.py,sha256=iUn2PrODAwb8ugmMosJKAjPhUzjCiWiAWoXQr9RUFuc,1793
|
|
480
480
|
invenio_app_rdm/users_ui/views/ui.py,sha256=W_eXM8dLVIrNHQB2UEh37C9BYoHauft6RyvcDNFHovA,1742
|
|
481
481
|
invenio_app_rdm/utils/files.py,sha256=CruDyO2gDVadSlWEJD-WHpWHeOQ0juh-Ei9jz3D9yjc,3923
|
|
482
|
-
invenio_app_rdm-13.0.0b4.
|
|
482
|
+
invenio_app_rdm-13.0.0b4.dev2.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
|
|
483
483
|
tests/__init__.py,sha256=yKVf0yYRuxmXvyAtLjmfpHGVCsEkZOhs_FojAAM_w-8,244
|
|
484
484
|
tests/conftest.py,sha256=kxOf2CiULBuE9m-ncNv4AtofUVx7iSnvVljlsdI_iCE,11507
|
|
485
485
|
tests/test_tasks.py,sha256=YAf2mryFK6Vfzk2053XLBA2e92vbNCTWqJ6ThWhGOuQ,6645
|
|
@@ -514,8 +514,8 @@ tests/ui/test_robotstxt.py,sha256=Gn0bVPJTDRQH6DO5GGZyD6iMel1UxWRHP5MnGQZ0j18,11
|
|
|
514
514
|
tests/ui/test_signposting_ui.py,sha256=KCSjQlMD2VKlwQCyZYDwYjtVNL35x3u-ZC4ceD5y21w,3847
|
|
515
515
|
tests/ui/test_sitemaps.py,sha256=hPeGbo9v5Q55swr-ZyudAVYm7aJ6lCKV51Vtupk450Q,3180
|
|
516
516
|
tests/ui/test_stats_ui.py,sha256=LHa_0hjvpYvliSk_jknWy-90CO82jVElUfK5Ua_ZmfA,3554
|
|
517
|
-
invenio_app_rdm-13.0.0b4.
|
|
518
|
-
invenio_app_rdm-13.0.0b4.
|
|
519
|
-
invenio_app_rdm-13.0.0b4.
|
|
520
|
-
invenio_app_rdm-13.0.0b4.
|
|
521
|
-
invenio_app_rdm-13.0.0b4.
|
|
517
|
+
invenio_app_rdm-13.0.0b4.dev2.dist-info/METADATA,sha256=vm3MjBwB3QkWuJZ2CU-Z_Md34cyw4vAfC-mDovSUEKw,15405
|
|
518
|
+
invenio_app_rdm-13.0.0b4.dev2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
519
|
+
invenio_app_rdm-13.0.0b4.dev2.dist-info/entry_points.txt,sha256=rfzEeOEdtGy99NlpWzeW-32CoO5XrEpBvlZwLD2Th88,2158
|
|
520
|
+
invenio_app_rdm-13.0.0b4.dev2.dist-info/top_level.txt,sha256=NqTqrntInEAci7EXcNBvouXFMqwyjVQhEI0b7izYRBY,22
|
|
521
|
+
invenio_app_rdm-13.0.0b4.dev2.dist-info/RECORD,,
|
|
File without changes
|
{invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{invenio_app_rdm-13.0.0b4.dev0.dist-info → invenio_app_rdm-13.0.0b4.dev2.dist-info}/top_level.txt
RENAMED
|
File without changes
|