invenio-app-rdm 14.0.0b3.dev0__py2.py3-none-any.whl → 14.0.0b3.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/administration/moderation/requests.py +1 -1
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html +3 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html +3 -2
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html +6 -1
- invenio_app_rdm/records_ui/utils.py +33 -8
- invenio_app_rdm/records_ui/views/decorators.py +1 -5
- invenio_app_rdm/records_ui/views/deposits.py +13 -2
- invenio_app_rdm/records_ui/views/records.py +1 -1
- invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/file-modification/index.html +88 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js +2 -4
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js +45 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionModal.js +23 -25
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion.js +2 -1
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js +22 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js +6 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js +6 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/mapping.js +1 -1
- invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides +1 -1
- {invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/METADATA +26 -2
- {invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/RECORD +26 -24
- {invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/WHEEL +0 -0
- {invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/entry_points.txt +0 -0
- {invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/licenses/LICENSE +0 -0
- {invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/top_level.txt +0 -0
invenio_app_rdm/__init__.py
CHANGED
|
@@ -51,7 +51,7 @@ class ModerationRequestListView(AdminResourceListView):
|
|
|
51
51
|
search_sort_config_name = "APP_RDM_MODERATION_REQUEST_SORT_OPTIONS"
|
|
52
52
|
|
|
53
53
|
item_field_list = {
|
|
54
|
-
"
|
|
54
|
+
"title": {"text": _("Title"), "order": 1, "width": 3},
|
|
55
55
|
"created": {"text": _("Created"), "order": 2, "width": 3},
|
|
56
56
|
"last_reply": {"text": _("Last reply"), "order": 3, "width": 3},
|
|
57
57
|
}
|
|
@@ -51,6 +51,9 @@
|
|
|
51
51
|
{% if record_deletion %}
|
|
52
52
|
<input type="hidden" name="deposits-record-deletion" value='{{ record_deletion | tojson }}'>
|
|
53
53
|
{% endif %}
|
|
54
|
+
{% if file_modification %}
|
|
55
|
+
<input type="hidden" name="deposits-file-modification" value='{{ file_modification | tojson }}'>
|
|
56
|
+
{% endif %}
|
|
54
57
|
<input type="hidden" name="config-groups-enabled"
|
|
55
58
|
value='{{ config.USERS_RESOURCES_GROUPS_ENABLED | tojson }}'>
|
|
56
59
|
<input type="hidden" name="records-resources-allow-empty-files"
|
|
@@ -73,12 +73,13 @@
|
|
|
73
73
|
{{ '(' ~ add_description.lang.title_l10n ~ ')' if add_description.lang is defined else '' }}
|
|
74
74
|
</span>
|
|
75
75
|
</h2>
|
|
76
|
+
{# additional description data is being sanitized by marshmallow in the backend #}
|
|
76
77
|
{% if desc_type_defined and add_description.type.id == "notes" %}
|
|
77
78
|
<div class="ui message warning">
|
|
78
|
-
{{ desc_text |
|
|
79
|
+
{{ desc_text | safe }}
|
|
79
80
|
</div>
|
|
80
81
|
{% else %}
|
|
81
|
-
{{ desc_text |
|
|
82
|
+
{{ desc_text | safe }}
|
|
82
83
|
{% endif %}
|
|
83
84
|
</section>
|
|
84
85
|
{% endfor %}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{#
|
|
2
|
-
Copyright (C) 2021 CERN.
|
|
2
|
+
Copyright (C) 2021-2025 CERN.
|
|
3
3
|
Copyright (C) 2023 TU Wien.
|
|
4
4
|
|
|
5
5
|
Invenio App RDM is free software; you can redistribute it and/or modify it
|
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
<p>
|
|
38
38
|
<strong>{{ _("Removed by:") }}</strong> {{ record.ui.tombstone.removed_by }}
|
|
39
39
|
</p>
|
|
40
|
+
{%- if record.ui.tombstone.deletion_policy %}
|
|
41
|
+
<p>
|
|
42
|
+
<strong>{{ _("Deletion Policy:") }}</strong> {{ record.ui.tombstone.deletion_policy }}
|
|
43
|
+
</p>
|
|
44
|
+
{%- endif %}
|
|
40
45
|
{%- if record.ui.tombstone.note %}
|
|
41
46
|
<p>
|
|
42
47
|
<strong>{{ _("Removal note:") }}</strong> {{ record.ui.tombstone.note }}
|
|
@@ -9,13 +9,17 @@
|
|
|
9
9
|
|
|
10
10
|
"""Utility functions."""
|
|
11
11
|
|
|
12
|
+
from datetime import datetime, timezone
|
|
12
13
|
from itertools import chain
|
|
13
14
|
|
|
14
15
|
from flask import current_app
|
|
15
16
|
from invenio_access.permissions import system_identity
|
|
16
17
|
from invenio_rdm_records.records.api import RDMRecord
|
|
17
18
|
from invenio_rdm_records.requests.record_deletion import RecordDeletion
|
|
18
|
-
from invenio_rdm_records.services.config import
|
|
19
|
+
from invenio_rdm_records.services.config import (
|
|
20
|
+
FileModificationPolicyEvaluator,
|
|
21
|
+
RDMRecordDeletionPolicy,
|
|
22
|
+
)
|
|
19
23
|
from invenio_records.dictutils import dict_set
|
|
20
24
|
from invenio_records.errors import MissingModelError
|
|
21
25
|
from invenio_records_files.api import FileObject
|
|
@@ -115,14 +119,11 @@ def get_existing_deletion_request(record_id):
|
|
|
115
119
|
|
|
116
120
|
def evaluate_record_deletion(record: RDMRecord, identity):
|
|
117
121
|
"""Evaluate whether a given record can be deleted by an identity."""
|
|
118
|
-
rec_del = RDMRecordDeletionPolicy().evaluate(identity, record
|
|
122
|
+
rec_del = RDMRecordDeletionPolicy().evaluate(identity, record)
|
|
119
123
|
|
|
120
124
|
immediate, request = rec_del["immediate_deletion"], rec_del["request_deletion"]
|
|
121
125
|
rd_enabled = immediate.enabled or request.enabled
|
|
122
|
-
rd_valid_user =
|
|
123
|
-
rec_del["immediate_deletion"].valid_user
|
|
124
|
-
or rec_del["request_deletion"].valid_user
|
|
125
|
-
)
|
|
126
|
+
rd_valid_user = immediate.valid_user or request.valid_user
|
|
126
127
|
rd_allowed = immediate.allowed or request.allowed
|
|
127
128
|
|
|
128
129
|
if rd_allowed:
|
|
@@ -138,7 +139,7 @@ def evaluate_record_deletion(record: RDMRecord, identity):
|
|
|
138
139
|
),
|
|
139
140
|
"context": {
|
|
140
141
|
"files": record.files.count,
|
|
141
|
-
"internalDoi": record.pids
|
|
142
|
+
"internalDoi": record.pids.get("doi", {}).get("provider") != "external",
|
|
142
143
|
},
|
|
143
144
|
}
|
|
144
145
|
else:
|
|
@@ -149,9 +150,33 @@ def evaluate_record_deletion(record: RDMRecord, identity):
|
|
|
149
150
|
}
|
|
150
151
|
record_deletion["existing_request"] = (
|
|
151
152
|
# We show existing requests to valid users (even if they are not allowed to delete a record anymore).
|
|
152
|
-
get_existing_deletion_request(record.
|
|
153
|
+
get_existing_deletion_request(record.pid.pid_value)
|
|
153
154
|
if rd_valid_user
|
|
154
155
|
else None
|
|
155
156
|
)
|
|
156
157
|
|
|
157
158
|
return record_deletion
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def evaluate_file_modification(record, identity):
|
|
162
|
+
"""Evaluate whether a given record file's can be edited by an identity."""
|
|
163
|
+
file_mod = FileModificationPolicyEvaluator().evaluate(identity, record)
|
|
164
|
+
|
|
165
|
+
file_mod = file_mod["immediate_file_modification"]
|
|
166
|
+
|
|
167
|
+
file_modification = {
|
|
168
|
+
"enabled": file_mod.enabled,
|
|
169
|
+
"valid_user": file_mod.valid_user,
|
|
170
|
+
"allowed": file_mod.allowed,
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
if file_mod.allowed:
|
|
174
|
+
file_modification["fileModification"] = file_mod
|
|
175
|
+
created = record.created.replace(tzinfo=timezone.utc)
|
|
176
|
+
modification_until = created + current_app.config.get(
|
|
177
|
+
"RDM_FILE_MODIFICATION_PERIOD"
|
|
178
|
+
)
|
|
179
|
+
days_until = (modification_until - datetime.now(timezone.utc)).days
|
|
180
|
+
file_modification["context"] = {"days_until": days_until}
|
|
181
|
+
|
|
182
|
+
return file_modification
|
|
@@ -81,11 +81,7 @@ def pass_draft(expand=False):
|
|
|
81
81
|
expand=expand,
|
|
82
82
|
)
|
|
83
83
|
kwargs["draft"] = draft
|
|
84
|
-
kwargs["files_locked"] =
|
|
85
|
-
record_service.config.lock_edit_published_files(
|
|
86
|
-
record_service, g.identity, draft=draft, record=draft._record
|
|
87
|
-
)
|
|
88
|
-
)
|
|
84
|
+
kwargs["files_locked"] = draft._record.files.bucket.locked
|
|
89
85
|
return f(**kwargs)
|
|
90
86
|
except PIDDoesNotExistError:
|
|
91
87
|
# Redirect to /records/:id because users are interchangeably
|
|
@@ -37,7 +37,11 @@ from invenio_vocabularies.records.models import VocabularyScheme
|
|
|
37
37
|
from marshmallow_utils.fields.babel import gettext_from_dict
|
|
38
38
|
from sqlalchemy.orm import load_only
|
|
39
39
|
|
|
40
|
-
from ..utils import
|
|
40
|
+
from ..utils import (
|
|
41
|
+
evaluate_file_modification,
|
|
42
|
+
evaluate_record_deletion,
|
|
43
|
+
set_default_value,
|
|
44
|
+
)
|
|
41
45
|
from .decorators import (
|
|
42
46
|
no_cache_response,
|
|
43
47
|
pass_draft,
|
|
@@ -551,9 +555,15 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
|
|
|
551
555
|
)
|
|
552
556
|
published_record = ui_serializer.dump_obj(published_record_result.to_dict())
|
|
553
557
|
|
|
554
|
-
record_deletion = evaluate_record_deletion(
|
|
558
|
+
record_deletion = evaluate_record_deletion(
|
|
559
|
+
published_record_result._record, g.identity
|
|
560
|
+
)
|
|
561
|
+
file_modification = evaluate_file_modification(
|
|
562
|
+
published_record_result._record, g.identity
|
|
563
|
+
)
|
|
555
564
|
else:
|
|
556
565
|
record_deletion = {}
|
|
566
|
+
file_modification = {}
|
|
557
567
|
|
|
558
568
|
community_ui = None
|
|
559
569
|
community_theme = None
|
|
@@ -629,6 +639,7 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
|
|
|
629
639
|
]
|
|
630
640
|
),
|
|
631
641
|
record_deletion=record_deletion,
|
|
642
|
+
file_modification=file_modification,
|
|
632
643
|
)
|
|
633
644
|
|
|
634
645
|
|
|
@@ -161,7 +161,7 @@ def record_detail(
|
|
|
161
161
|
|
|
162
162
|
record_ui = UIJSONSerializer().dump_obj(record.to_dict())
|
|
163
163
|
|
|
164
|
-
record_deletion = evaluate_record_deletion(record, g.identity)
|
|
164
|
+
record_deletion = evaluate_record_deletion(record._record, g.identity)
|
|
165
165
|
|
|
166
166
|
# The deletion options are only needed if the user is allowed to delete the given record.
|
|
167
167
|
record_deletion_options = (
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/file-modification/index.html
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{# -*- coding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
This file is part of Invenio.
|
|
4
|
+
Copyright (C) 2016-2025 CERN.
|
|
5
|
+
|
|
6
|
+
Invenio is free software; you can redistribute it and/or modify it
|
|
7
|
+
under the terms of the MIT License; see LICENSE file for more details.
|
|
8
|
+
#}
|
|
9
|
+
|
|
10
|
+
{% extends "invenio_requests/details/index.html" %}
|
|
11
|
+
|
|
12
|
+
{% set active_dashboard_menu_item = 'requests' %}
|
|
13
|
+
{% set active_community_header_menu_item = 'requests' %}
|
|
14
|
+
|
|
15
|
+
{%- block request_header %}
|
|
16
|
+
{% set back_button_url = url_for("invenio_app_rdm_users.requests") %}
|
|
17
|
+
{% from "invenio_requests/macros/request_header.html" import inclusion_request_header %}
|
|
18
|
+
{{ inclusion_request_header(
|
|
19
|
+
request=invenio_request,
|
|
20
|
+
record=record,
|
|
21
|
+
accepted=request_is_accepted,
|
|
22
|
+
back_button_url=back_button_url,
|
|
23
|
+
back_button_text=_("Back to requests")
|
|
24
|
+
) }}
|
|
25
|
+
{%- endblock request_header %}
|
|
26
|
+
|
|
27
|
+
{% block request_timeline %}
|
|
28
|
+
<div
|
|
29
|
+
class="ui container rdm-tab-container fluid rel-pt-2 ml-0-mobile mr-0-mobile"
|
|
30
|
+
id="request-request-deletion-tab-container"
|
|
31
|
+
>
|
|
32
|
+
<div
|
|
33
|
+
class="ui secondary pointing menu rdm-tab-menu"
|
|
34
|
+
id="request-deletion-request-tab"
|
|
35
|
+
>
|
|
36
|
+
<a
|
|
37
|
+
class="active item"
|
|
38
|
+
data-tab="conversation"
|
|
39
|
+
role="tab"
|
|
40
|
+
aria-selected="true"
|
|
41
|
+
aria-controls="conversation-tab-panel"
|
|
42
|
+
id="conversation-tab"
|
|
43
|
+
>
|
|
44
|
+
{{ _("Conversation") }}
|
|
45
|
+
</a>
|
|
46
|
+
|
|
47
|
+
{% if record_ui %}
|
|
48
|
+
<a
|
|
49
|
+
role="tab"
|
|
50
|
+
class="item"
|
|
51
|
+
data-tab="record"
|
|
52
|
+
aria-selected="false"
|
|
53
|
+
aria-controls="record-tab-panel"
|
|
54
|
+
id="record-tab"
|
|
55
|
+
>
|
|
56
|
+
{{ _("Record") }}
|
|
57
|
+
</a>
|
|
58
|
+
{% endif %}
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<div
|
|
62
|
+
class="ui bottom attached tab segment active borderless p-0"
|
|
63
|
+
data-tab="conversation"
|
|
64
|
+
role="tabpanel"
|
|
65
|
+
aria-labelledby="conversation-tab"
|
|
66
|
+
id="conversation-tab-panel"
|
|
67
|
+
>
|
|
68
|
+
{{ super() }}
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
{# The record tab content needs to be last since the HTML structure is complex and breaks following tab contents #}
|
|
72
|
+
{% if record_ui %}
|
|
73
|
+
<div
|
|
74
|
+
class="ui bottom attached tab segment borderless"
|
|
75
|
+
data-tab="record"
|
|
76
|
+
role="tabpanel"
|
|
77
|
+
aria-labelledby="record-tab"
|
|
78
|
+
id="record-tab-panel"
|
|
79
|
+
hidden="hidden"
|
|
80
|
+
>
|
|
81
|
+
{% set use_theme_basic_template = false %}
|
|
82
|
+
{% set preview_submission_request = true %}
|
|
83
|
+
{% include config.APP_RDM_RECORD_LANDING_PAGE_TEMPLATE %}
|
|
84
|
+
</div>
|
|
85
|
+
{% endif %}
|
|
86
|
+
|
|
87
|
+
</div>
|
|
88
|
+
{% endblock request_timeline %}
|
|
@@ -30,9 +30,7 @@ class SearchResultItemComponent extends Component {
|
|
|
30
30
|
className="word-break-all"
|
|
31
31
|
>
|
|
32
32
|
<a href={AdminUIRoutes.detailsView(listUIEndpoint, result, idKeyPath)}>
|
|
33
|
-
{
|
|
34
|
-
https://github.com/inveniosoftware/invenio-requests/issues/414 */}
|
|
35
|
-
{result.type === "record-deletion" && "Record deletion"}
|
|
33
|
+
{result.title}
|
|
36
34
|
</a>
|
|
37
35
|
</Table.Cell>
|
|
38
36
|
<Table.Cell
|
|
@@ -43,7 +41,7 @@ class SearchResultItemComponent extends Component {
|
|
|
43
41
|
<UserListItemCompact
|
|
44
42
|
user={result.expanded.created_by}
|
|
45
43
|
id={result.created_by.user}
|
|
46
|
-
|
|
44
|
+
linkToDetailView={`/administration/requests?q=created_by.user:${result.created_by.user}`}
|
|
47
45
|
/>
|
|
48
46
|
{toRelativeTime(result.created)}
|
|
49
47
|
</Table.Cell>
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// This file is part of InvenioRDM
|
|
2
|
+
// Copyright (C) 2025 CERN.
|
|
3
|
+
//
|
|
4
|
+
// Invenio RDM Records is free software; you can redistribute it and/or modify it
|
|
5
|
+
// under the terms of the MIT License; see LICENSE file for more details.
|
|
6
|
+
|
|
7
|
+
import React, { Component } from "react";
|
|
8
|
+
import PropTypes from "prop-types";
|
|
9
|
+
import { i18next } from "@translations/invenio_app_rdm/i18next";
|
|
10
|
+
|
|
11
|
+
export class FileModificationUntil extends Component {
|
|
12
|
+
render() {
|
|
13
|
+
const { filesLocked, fileModification, record } = this.props;
|
|
14
|
+
|
|
15
|
+
if (!fileModification.fileModification?.enabled) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const isPublished = record.is_published;
|
|
20
|
+
const filesUnlocked = !filesLocked;
|
|
21
|
+
const daysUntil = fileModification.context?.days_until;
|
|
22
|
+
if (isPublished && filesUnlocked && daysUntil) {
|
|
23
|
+
return (
|
|
24
|
+
<>
|
|
25
|
+
{" "}
|
|
26
|
+
{i18next.t("– Unlocked, {{ daysUntil }} days to publish changes", {
|
|
27
|
+
daysUntil: fileModification.context.days_until,
|
|
28
|
+
})}
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
FileModificationUntil.propTypes = {
|
|
38
|
+
filesLocked: PropTypes.bool.isRequired,
|
|
39
|
+
fileModification: PropTypes.object,
|
|
40
|
+
record: PropTypes.object.isRequired,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
FileModificationUntil.defaultProps = {
|
|
44
|
+
fileModification: {},
|
|
45
|
+
};
|
|
@@ -109,27 +109,27 @@ export class DeletionModal extends Component {
|
|
|
109
109
|
reason: values.reason,
|
|
110
110
|
comment: values.comment,
|
|
111
111
|
};
|
|
112
|
-
if ("request_deletion" in record.links) {
|
|
113
|
-
this.
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
112
|
+
if (!("request_deletion" in record.links)) {
|
|
113
|
+
this.setState({ error: "Could not submit deletion request", loading: false });
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.cancellableAction = withCancel(
|
|
117
|
+
http.post(record.links.request_deletion, payload)
|
|
118
|
+
);
|
|
119
|
+
try {
|
|
120
|
+
const response = await this.cancellableAction.promise;
|
|
121
|
+
const data = response.data;
|
|
119
122
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
} catch (error) {
|
|
126
|
-
this.setState({ error: error });
|
|
127
|
-
console.error(error);
|
|
128
|
-
} finally {
|
|
129
|
-
this.setState({ loading: false });
|
|
123
|
+
if (response.status === 200) {
|
|
124
|
+
window.location.reload();
|
|
125
|
+
} else if (response.status === 201) {
|
|
126
|
+
window.location.href = data.links.self_html;
|
|
130
127
|
}
|
|
131
|
-
}
|
|
132
|
-
this.setState({ error:
|
|
128
|
+
} catch (error) {
|
|
129
|
+
this.setState({ error: error });
|
|
130
|
+
console.error(error);
|
|
131
|
+
} finally {
|
|
132
|
+
this.setState({ loading: false });
|
|
133
133
|
}
|
|
134
134
|
};
|
|
135
135
|
|
|
@@ -189,17 +189,15 @@ export class DeletionModal extends Component {
|
|
|
189
189
|
{immediateDeletionAllowed ? (
|
|
190
190
|
<p>
|
|
191
191
|
{
|
|
192
|
-
recordDeletion
|
|
193
|
-
|
|
194
|
-
]["description"]
|
|
192
|
+
recordDeletion.recordDeletion?.immediate_deletion?.policy
|
|
193
|
+
?.description
|
|
195
194
|
}
|
|
196
195
|
</p>
|
|
197
196
|
) : (
|
|
198
197
|
<p>
|
|
199
198
|
{
|
|
200
|
-
recordDeletion
|
|
201
|
-
|
|
202
|
-
]
|
|
199
|
+
recordDeletion.recordDeletion?.request_deletion?.policy
|
|
200
|
+
?.description
|
|
203
201
|
}
|
|
204
202
|
</p>
|
|
205
203
|
)}
|
|
@@ -71,10 +71,11 @@ RecordDeletion.propTypes = {
|
|
|
71
71
|
disabled: PropTypes.bool,
|
|
72
72
|
record: PropTypes.object.isRequired,
|
|
73
73
|
permissions: PropTypes.object.isRequired,
|
|
74
|
-
recordDeletion: PropTypes.object
|
|
74
|
+
recordDeletion: PropTypes.object,
|
|
75
75
|
options: PropTypes.array.isRequired,
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
RecordDeletion.defaultProps = {
|
|
79
79
|
disabled: false,
|
|
80
|
+
recordDeletion: {},
|
|
80
81
|
};
|
|
@@ -48,6 +48,7 @@ import { CopyrightsField } from "@js/invenio_rdm_records/src/deposit/fields/Copy
|
|
|
48
48
|
import { ShareDraftButton } from "./ShareDraftButton";
|
|
49
49
|
import { depositFormSectionsConfig, severityChecksConfig } from "./config";
|
|
50
50
|
import { RecordDeletion } from "../components/RecordDeletion";
|
|
51
|
+
import { FileModificationUntil } from "../components/FileModificationUntil";
|
|
51
52
|
|
|
52
53
|
export class RDMDepositForm extends Component {
|
|
53
54
|
constructor(props) {
|
|
@@ -114,6 +115,7 @@ export class RDMDepositForm extends Component {
|
|
|
114
115
|
recordRestrictionGracePeriod,
|
|
115
116
|
allowRecordRestriction,
|
|
116
117
|
recordDeletion,
|
|
118
|
+
fileModification,
|
|
117
119
|
groupsEnabled,
|
|
118
120
|
allowEmptyFiles,
|
|
119
121
|
useUppy,
|
|
@@ -138,6 +140,7 @@ export class RDMDepositForm extends Component {
|
|
|
138
140
|
recordRestrictionGracePeriod={recordRestrictionGracePeriod}
|
|
139
141
|
allowRecordRestriction={allowRecordRestriction}
|
|
140
142
|
recordDeletion={recordDeletion}
|
|
143
|
+
fileModification={fileModification}
|
|
141
144
|
groupsEnabled={groupsEnabled}
|
|
142
145
|
allowEmptyFiles={allowEmptyFiles}
|
|
143
146
|
customFieldsUI={customFieldsUI}
|
|
@@ -181,12 +184,25 @@ export class RDMDepositForm extends Component {
|
|
|
181
184
|
record={record}
|
|
182
185
|
config={this.config}
|
|
183
186
|
noFiles={this.noFiles}
|
|
187
|
+
fileModification={fileModification}
|
|
188
|
+
filesLocked={filesLocked}
|
|
184
189
|
>
|
|
185
190
|
<AccordionField
|
|
186
191
|
includesPaths={this.sectionsConfig["files-section"]}
|
|
187
192
|
severityChecks={this.severityChecks}
|
|
188
193
|
active
|
|
189
|
-
label={
|
|
194
|
+
label={
|
|
195
|
+
<>
|
|
196
|
+
{i18next.t("Files")}
|
|
197
|
+
{record.is_published && (
|
|
198
|
+
<FileModificationUntil
|
|
199
|
+
fileModification={fileModification}
|
|
200
|
+
filesLocked={filesLocked}
|
|
201
|
+
record={record}
|
|
202
|
+
/>
|
|
203
|
+
)}
|
|
204
|
+
</>
|
|
205
|
+
}
|
|
190
206
|
id="files-section"
|
|
191
207
|
>
|
|
192
208
|
{this.noFiles && record.is_published && (
|
|
@@ -210,6 +226,7 @@ export class RDMDepositForm extends Component {
|
|
|
210
226
|
allowEmptyFiles={allowEmptyFiles}
|
|
211
227
|
filesLocked={filesLocked}
|
|
212
228
|
fileUploadConcurrency={config.fileUploadConcurrency}
|
|
229
|
+
fileModification={fileModification}
|
|
213
230
|
/>
|
|
214
231
|
</Overridable>
|
|
215
232
|
</AccordionField>
|
|
@@ -809,7 +826,8 @@ RDMDepositForm.propTypes = {
|
|
|
809
826
|
config: PropTypes.object.isRequired,
|
|
810
827
|
recordRestrictionGracePeriod: PropTypes.number.isRequired,
|
|
811
828
|
allowRecordRestriction: PropTypes.bool.isRequired,
|
|
812
|
-
recordDeletion: PropTypes.object
|
|
829
|
+
recordDeletion: PropTypes.object,
|
|
830
|
+
fileModification: PropTypes.object,
|
|
813
831
|
record: PropTypes.object.isRequired,
|
|
814
832
|
preselectedCommunity: PropTypes.object,
|
|
815
833
|
files: PropTypes.object,
|
|
@@ -826,4 +844,6 @@ RDMDepositForm.defaultProps = {
|
|
|
826
844
|
filesLocked: false,
|
|
827
845
|
allowEmptyFiles: true,
|
|
828
846
|
useUppy: false,
|
|
847
|
+
recordDeletion: {},
|
|
848
|
+
fileModification: {},
|
|
829
849
|
};
|
|
@@ -29,6 +29,7 @@ ReactDOM.render(
|
|
|
29
29
|
)}
|
|
30
30
|
allowRecordRestriction={getInputFromDOM("deposits-allow-record-restriction")}
|
|
31
31
|
recordDeletion={getInputFromDOM("deposits-record-deletion")}
|
|
32
|
+
fileModification={getInputFromDOM("deposits-file-modification")}
|
|
32
33
|
groupsEnabled={getInputFromDOM("config-groups-enabled")}
|
|
33
34
|
allowEmptyFiles={getInputFromDOM("records-resources-allow-empty-files")}
|
|
34
35
|
isDoiRequired={getInputFromDOM("deposits-is-doi-required")}
|
|
@@ -74,8 +74,12 @@ ManageButton.propTypes = {
|
|
|
74
74
|
record: PropTypes.object.isRequired,
|
|
75
75
|
recordOwnerID: PropTypes.string.isRequired,
|
|
76
76
|
permissions: PropTypes.object.isRequired,
|
|
77
|
-
recordDeletion: PropTypes.object
|
|
78
|
-
recordDeletionOptions: PropTypes.
|
|
77
|
+
recordDeletion: PropTypes.object,
|
|
78
|
+
recordDeletionOptions: PropTypes.array.isRequired,
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
ManageButton.defaultProps = {
|
|
82
|
+
recordDeletion: {},
|
|
79
83
|
};
|
|
80
84
|
|
|
81
85
|
const BlockUserItem = ({ recordOwnerID }) => {
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js
CHANGED
|
@@ -128,6 +128,10 @@ RecordManagement.propTypes = {
|
|
|
128
128
|
isPreviewSubmissionRequest: PropTypes.bool.isRequired,
|
|
129
129
|
currentUserId: PropTypes.string.isRequired,
|
|
130
130
|
recordOwnerID: PropTypes.string.isRequired,
|
|
131
|
-
recordDeletion: PropTypes.object
|
|
132
|
-
recordDeletionOptions: PropTypes.
|
|
131
|
+
recordDeletion: PropTypes.object,
|
|
132
|
+
recordDeletionOptions: PropTypes.array.isRequired,
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
RecordManagement.defaultProps = {
|
|
136
|
+
recordDeletion: {},
|
|
133
137
|
};
|
{invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invenio-app-rdm
|
|
3
|
-
Version: 14.0.0b3.
|
|
3
|
+
Version: 14.0.0b3.dev2
|
|
4
4
|
Summary: Invenio Research Data Management.
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-app-rdm
|
|
6
6
|
Author: CERN
|
|
@@ -101,7 +101,31 @@ https://inveniordm.docs.cern.ch
|
|
|
101
101
|
Changes
|
|
102
102
|
=======
|
|
103
103
|
|
|
104
|
-
Version v14.0.0b3.
|
|
104
|
+
Version v14.0.0b3.dev2 (released 2025-11-21)
|
|
105
|
+
|
|
106
|
+
- fix: revert mapping.js symlink
|
|
107
|
+
|
|
108
|
+
Version v14.0.0b3.dev1 (released 2025-11-21)
|
|
109
|
+
|
|
110
|
+
- UI: add info message about remaining days to publish changes
|
|
111
|
+
- request: add file mod request template
|
|
112
|
+
- fix: set files_locked to `bucket.locked` rather than permission
|
|
113
|
+
* currently the permission is whether you can unlock the files
|
|
114
|
+
* but the files are only unlocked when you create the draft
|
|
115
|
+
* as such as an admin when you edit a published draft, if it was
|
|
116
|
+
created by a user it will look like the files are unlocked but
|
|
117
|
+
this is false
|
|
118
|
+
- feat: pass file modification eval to deposit form
|
|
119
|
+
- fix: align selector with semantic-ui
|
|
120
|
+
- fix(views): pass API record to evaluate record deletion
|
|
121
|
+
- fix(record-ui): do not sanitize additional description in template
|
|
122
|
+
- admin: requests details view improvements
|
|
123
|
+
- Replace `Record deletion` by `Deletion request for "Record name"`
|
|
124
|
+
- Link showing all requests for a given user
|
|
125
|
+
- tombstone: add deletion policy
|
|
126
|
+
- Update release date for version v14.0.0b3.dev0
|
|
127
|
+
|
|
128
|
+
Version v14.0.0b3.dev0 (released 2025-11-12)
|
|
105
129
|
|
|
106
130
|
- setup: bump major version of `invenio-oauthclient`
|
|
107
131
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
invenio_app_rdm/__init__.py,sha256=
|
|
1
|
+
invenio_app_rdm/__init__.py,sha256=SDbca7QR87fVoWcdzSB1HkMhsF0cwluqvbDUhZjUW-s,704
|
|
2
2
|
invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
|
|
3
3
|
invenio_app_rdm/config.py,sha256=pigyCXGUMru2krv-ZJ15iosbm3UBk9dmiAQauYvzWbk,53632
|
|
4
4
|
invenio_app_rdm/ext.py,sha256=K7syn5CU5If7yOclFeNOCZX_u5q6VB7NJEQVm41mlng,5286
|
|
@@ -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/moderation/__init__.py,sha256=5Jr_Kicz0xsybdyRr48amQDkLlalVbRz9Pq0zGrTqMg,404
|
|
13
|
-
invenio_app_rdm/administration/moderation/requests.py,sha256=
|
|
13
|
+
invenio_app_rdm/administration/moderation/requests.py,sha256=tFa26P9hue2NIHw1HevWt_lm_8tD71X_yaAkPYt0TL4,6264
|
|
14
14
|
invenio_app_rdm/administration/records/__init__.py,sha256=WpNHBm_Mk9FF8GzvrXWjL79URMSgBhpqgxvrLXNooqg,434
|
|
15
15
|
invenio_app_rdm/administration/records/records.py,sha256=6nVyDwYLdipIDSnlXMRe6JuiIIo5CaVojeNJCOlTPjI,5371
|
|
16
16
|
invenio_app_rdm/administration/templates/semantic-ui/invenio_app_rdm/administration/audit_logs.html,sha256=kLP3lfZiwLB8N-78_xINymnD8TIjGMzeJIO1a1zO130,346
|
|
@@ -47,17 +47,17 @@ invenio_app_rdm/fixtures/pages/.gitkeep,sha256=1HVs32jZTGcMkk-dV9RHGPZm5FdydwFIZ
|
|
|
47
47
|
invenio_app_rdm/records_ui/__init__.py,sha256=c4_HH3R7fTOp7AnNQSF4P9h_mwOvL0SE9tkpo6SBnT8,327
|
|
48
48
|
invenio_app_rdm/records_ui/searchapp.py,sha256=QD5fTdimVUC5K4ERVBjgXHZdbC3ZkgcR8LSIxFTPBQY,2697
|
|
49
49
|
invenio_app_rdm/records_ui/sitemap.py,sha256=erWpwi8lx17ATicBo3dTwMiEEwHTilL8xTAkNCC3J4U,1619
|
|
50
|
-
invenio_app_rdm/records_ui/utils.py,sha256=
|
|
50
|
+
invenio_app_rdm/records_ui/utils.py,sha256=MGB4YAWrrE5Wu4RhbT2F5SAfVkm3PLe-jzD1BDWBpdo,6101
|
|
51
51
|
invenio_app_rdm/records_ui/previewer/__init__.py,sha256=T32i_ssGKONDpNB3gECpn20ubHvGYYVrNuIgCADioOM,267
|
|
52
52
|
invenio_app_rdm/records_ui/previewer/iiif_simple.py,sha256=lGxB3g0hNVJDWnq5jV_KrKPwC-LR1C51DMjas1-UpBM,1589
|
|
53
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html,sha256=
|
|
53
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html,sha256=aBdqSLQMi2nKKoC0dt3c7B8xluy3eE6l9j-M-rAa5Zc,3121
|
|
54
54
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html,sha256=_OqYPP-7qOyzenDoj-8qhSPwmwtMFYJ8mj6MdJcMPNI,20852
|
|
55
55
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/draft_not_found.html,sha256=_FPflgqVZ556Xw349mHPSFb0FOhxYkIHfmUUTX53_LU,624
|
|
56
56
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/export.html,sha256=2h-FGJvNKS9ASZ0mErL2vz5jXQYiLL8u8rTO2_D3FVQ,1166
|
|
57
57
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/iiif_preview.html,sha256=RningdsVBXsJ8qnQjzurf0Ty8R5Tq08eS31s53c3DNE,444
|
|
58
58
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/restricted_with_doi_tombstone.html,sha256=d2_LrLbWG_vQuR-Gz8P2nrgGuBZONk36kGBMT6iW3uE,987
|
|
59
59
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/search.html,sha256=MdDMzWNIqvZRH-7Blvb9lBdJCA-TK0MXdPpyVWjjBo8,606
|
|
60
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html,sha256=
|
|
60
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/tombstone.html,sha256=QyFJ1q9NsECLpktZxPtR4X62uJ6X8-gymq0g2CKsFwI,2094
|
|
61
61
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/access-form.html,sha256=rLkoNmouAMV8S6fAU3_PtGuqDjFTACniyiosGAKjcN0,2317
|
|
62
62
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/citation.html,sha256=QBbRNCBBdE7JJirLrIdCWlhcmR37qh_2QXg7AnTtwdw,576
|
|
63
63
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/contact.html,sha256=czuC-Ec5zJaKzFOaqhz7JqhWiCS3U3NKaQmPw9-rzks,403
|
|
@@ -82,17 +82,17 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details
|
|
|
82
82
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/technical_metadata.html,sha256=ptS8h6orgDhFFGXeZBCNBltELy_g9fUtS1bMTzieCPk,676
|
|
83
83
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/versions.html,sha256=fIa8R0blN2rWkrP0K43qvSTye4Gt6-5yo3HN5FLdLTA,935
|
|
84
84
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/creatibutors.html,sha256=N53nwtlEZjxweCx70qFJa1s6uL1pPSzWZgk8p1vodE4,4277
|
|
85
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html,sha256=
|
|
85
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/detail.html,sha256=Ur6pFoCiL8K02X7D6QNgtMoS7eMiDo7BhExKx9fMke8,11052
|
|
86
86
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/doi.html,sha256=32Yknq5PgvJpYg9Z3Brod9wui9yrpDNE11_esG-20jw,1656
|
|
87
87
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/files.html,sha256=6OIavFXP1BeV1Xozkv-2SOea9M5RUwjRI6gEGzBUle4,9564
|
|
88
88
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/locations.html,sha256=27-KyPqb05pu-yRXHvxCgZWRSi5bFP6xf7XBn91sbeA,1741
|
|
89
89
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/stats_popup.html,sha256=5SVzfIS15Aro2Itd2BiaLbMXm0cvvwk6ZCdYjuSwhBw,625
|
|
90
90
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/version.html,sha256=eA8-n81XUezkwPXvcG5v2sgLPQNTgr7hB36-_Gr-tVI,758
|
|
91
91
|
invenio_app_rdm/records_ui/views/__init__.py,sha256=9DaDls04IQv7fYttDjLofIWGsRRjk-FwUYnIfxV3OWk,5840
|
|
92
|
-
invenio_app_rdm/records_ui/views/decorators.py,sha256
|
|
93
|
-
invenio_app_rdm/records_ui/views/deposits.py,sha256=
|
|
92
|
+
invenio_app_rdm/records_ui/views/decorators.py,sha256=t4Mt7bkidwq3tKE-3sMUSLIR7GxaOewwAng3s9bAMz0,16347
|
|
93
|
+
invenio_app_rdm/records_ui/views/deposits.py,sha256=vckL56fcyOFcrQ0YSxPtx-jk7AAwzKQrxjIrXcIVSyQ,24636
|
|
94
94
|
invenio_app_rdm/records_ui/views/filters.py,sha256=dtAjJ5NmPvxEYZJeldW5oxrj0D0AYXobNelii57Tfdo,7455
|
|
95
|
-
invenio_app_rdm/records_ui/views/records.py,sha256=
|
|
95
|
+
invenio_app_rdm/records_ui/views/records.py,sha256=H1lZaKzr1QdX8QKvlm_-p4lPXMy6nQqHcB4NIlSYyAQ,16785
|
|
96
96
|
invenio_app_rdm/redirector/__init__.py,sha256=AYCTGmfbmkHW3YJXMqXlWBXcBrUsta-QmL9ULX2bjwA,243
|
|
97
97
|
invenio_app_rdm/redirector/resource.py,sha256=XuH6ZK0HVE5LdXoorlm8aI3deizvnZ5gFa9d1ihYosk,3312
|
|
98
98
|
invenio_app_rdm/redirector/views.py,sha256=CTJ3EGEFKfc0lFwNb9pwH7MbMLiqaWnF8LA3xGIwahc,563
|
|
@@ -101,6 +101,7 @@ invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-inc
|
|
|
101
101
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-invitation/community_dashboard.html,sha256=3soWIke5l4eRAmZw2UeW6wu-AcT6ms4K_9U6DIYxMmw,1153
|
|
102
102
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-invitation/user_dashboard.html,sha256=ppUbbIROa_zED4WFTB6qqRbbJxewzjc6wKDzKhVglak,778
|
|
103
103
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/community-submission/index.html,sha256=nJIHevyCGQua_H67IV0mnFiQjNjcQYsZTieQgvP48JY,3452
|
|
104
|
+
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/file-modification/index.html,sha256=4TruFY1vSFz5bJAdsRHhEe4xTS4sgb_fq_HOBKUYz_o,2492
|
|
104
105
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/guest-access-request/index.html,sha256=RXtoMrLFvEGHuy2YgoyCkpjEJmUVehFbmXvX1_7qGtY,1978
|
|
105
106
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/macros/request_header.html,sha256=Iado6BmcFFswmvQ9IrdtgSyAzJr5AIT2BP2IDg-B-8U,2695
|
|
106
107
|
invenio_app_rdm/requests_ui/templates/semantic-ui/invenio_requests/record-deletion/index.html,sha256=JzLATsMOLpHMfxlXeBPXgC2VMydCYa9TDjPHAuLPbU4,2820
|
|
@@ -148,7 +149,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/recor
|
|
|
148
149
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/index.js,sha256=Aax3344oX3S_M4_KDwBsfr2Z8x01vHrNGGvEDmE08wY,342
|
|
149
150
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/filters/DeletionStatusFilter.js,sha256=xv0kXgAQUjBmSfBND-qjdXSXMqMQV9O7ntNkXTQGFSk,3291
|
|
150
151
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/search/filters/index.js,sha256=wNAQbt_8N5_jhPzCWazdb0wufYoUGH2wfTvbLL7JM50,309
|
|
151
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js,sha256=
|
|
152
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchResultItem.js,sha256=XF8KZI48xwr2LrMju7uHffK7wqB92PhN9ROXh9toe4U,2695
|
|
152
153
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/RequestsSearchbarLayout.js,sha256=w-u6zyo4yTeoqBu4uYeUwHulUjmK2X2kCP2Iw1aLuUQ,1587
|
|
153
154
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/requests/index.js,sha256=nzN98yzW92VnPwxdovrySsVkZSZ3qm0El4_hBD6nvYQ,899
|
|
154
155
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/userModeration/ModerationActions.js,sha256=Il9iTiHv8HQHoCHH1aBEWv_KiBcrJVkqhb4WkIf6jtQ,3193
|
|
@@ -177,14 +178,15 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CompactSt
|
|
|
177
178
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/CopyButton.js,sha256=uBcEXzGJYZ7dPIdQBxPqxLvwP6Z5QVg1x-YRncRDW3k,3550
|
|
178
179
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayPartOfCommunities.js,sha256=bSmhuwSWk4CW80mqa4ZZbjfa-_NsiJ1IxQ9veDy6sAM,2751
|
|
179
180
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/DisplayVerifiedCommunity.js,sha256=m3rT8jJ3440ZX22zZog8bHatWltYXwvmw_tu6tJUM9k,1506
|
|
180
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/
|
|
181
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/FileModificationUntil.js,sha256=3GtEW_IaP6TBKzMBBX1eYD-DuJbM31ps-dbjdgpLfc8,1254
|
|
182
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion.js,sha256=AZOgoxAfI19_KXfGGaKP8rtyJDbYjnYzu43hspAIKCk,2272
|
|
181
183
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordsResultsListItem.js,sha256=RTSQBlGQY7ww7fVGHDvDfWQNyJ07mnEoyboTGIcCgD4,6694
|
|
182
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionModal.js,sha256=
|
|
184
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionModal.js,sha256=u5ta6jcMl_s0Wj52ExgHlfviW6bsnNmUrYXgIUi6URs,12033
|
|
183
185
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/components/RecordDeletion/DeletionRadioGroup.js,sha256=qMFdPQkVQQsaS0P9KdPyFcuunZmGlEALjfABPueuoVU,1227
|
|
184
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js,sha256=
|
|
186
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/RDMDepositForm.js,sha256=tLytkGYgCBN-9JSRmcxonu3EdxJjuUmKUE6l9vvnSI0,35840
|
|
185
187
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/ShareDraftButton.js,sha256=ICMV4Ixe-nTe6q7COZ0oyAQf2nVp2cez_-iUZobwUD0,1998
|
|
186
188
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/config.js,sha256=rd2wqiwmYOkh4kWe8AiGWJar2kA8R8TkGMnX5XZvihs,1473
|
|
187
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js,sha256=
|
|
189
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js,sha256=hvgwIw_mCDL6tWmXVYehdHJaZ2W44Kp3mzWdDOpCng4,1781
|
|
188
190
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/RecordsList.js,sha256=PkLpiCl7sNSlQoCo7xxZ_H6QvWqK_TydoseIiKvtuMw,4176
|
|
189
191
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/index.js,sha256=X0tsSvLwGPzSFQEf4J1zPZbFRCiYeJq5CnEXr_J5LsU,900
|
|
190
192
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/AccessRequestForm.js,sha256=5GRlVkJQpwrY9wk4KI5Tmqmll2d3cEls8isJZjvoA9Q,8798
|
|
@@ -192,10 +194,10 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/Communi
|
|
|
192
194
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagementDropdown.js,sha256=qocsinvtbWEqAi8kgqNqx7c0X-_evRmCz2bPTaMQlcI,5953
|
|
193
195
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/EditButton.js,sha256=WJ5lNpbPcd_Kymn_TYklSTfkCJRPhpFeT6cWcR48mSQ,1452
|
|
194
196
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js,sha256=fDqs5sel6Zo1oPkJT1XbR3dtHXvvgVuDhe_sg_-D690,1969
|
|
195
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js,sha256=
|
|
197
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageButton.js,sha256=Sf5mBYLq3ydpb10cwBFbqUGqn0hsQ3aap3ujkdMTB9g,3872
|
|
196
198
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCitationField.js,sha256=XYfXsQejNeC1R0spndn0qDrqvz6w3bj5UlPEIgT4U24,4757
|
|
197
199
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordCommunitiesList.js,sha256=wORVCOjlyX2mIsDU9J0MwWFE4Zw9CCL5inWpV7m8lsM,4004
|
|
198
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js,sha256=
|
|
200
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js,sha256=cViV1fQ_1xvd_JUV3toffX-nuWgkKiy7WGtZcg5tV5Y,4297
|
|
199
201
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js,sha256=ZJaD4fW2z00tcektXVz0eLXu6oGLLW-NUjV86neuDjM,7141
|
|
200
202
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js,sha256=FVcpKl22zMi1GssbLZAj1pO98c6Em_wg_yBIdfBJor0,938
|
|
201
203
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=ETWFzdM61Uy94bUwT2uzjM11aIk6Lt2MOzxmPswrjoA,5177
|
|
@@ -225,7 +227,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOp
|
|
|
225
227
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/UserGroupAccessSearchResultItem.js,sha256=TYluO2lRliHcIoJBiTnAy8H4B-sEsa5h2TZ6mC1Xb7I,5750
|
|
226
228
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/api/api.js,sha256=WpRWWdlN_8TqeaMdB7RV2rQJSluetA91qIuJcAddfLY,926
|
|
227
229
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/index.js,sha256=xktX9vqs7xPTrKmGD93T-faSmg07LNsmK3GepA9F6j0,424
|
|
228
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/mapping.js,sha256=
|
|
230
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/mapping.js,sha256=gTGWSI6Ef3y8j63mC-6wETnmKq1JSFGC48x0TG4gJ5A,439
|
|
229
231
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/AccessRequestExpiration.js,sha256=1h-Vkn-34-D3d-nfvg0de7-yi29NAifc2BJ-D4Z0kbQ,1940
|
|
230
232
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/index.js,sha256=FZ_XVB-5V7k_wOYeiI06RXQn3aIeh7beyBhcK5AIvCg,75
|
|
231
233
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/AccessRequestTimelineEdit.js,sha256=xd0uVbKLC23Y3RHlHDs0NdQ2vq9PNhimPwANkEtLSJ8,5727
|
|
@@ -277,7 +279,7 @@ invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/rese
|
|
|
277
279
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/reset.variables,sha256=Luyh-V1w5wDFv2j77bYmTxfn22Cp7h1vLjRsqhf207Y,139
|
|
278
280
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.overrides,sha256=EBhnYyEUy057UPvqLBBov-tORBgUEOio-cWHUVUevNs,9127
|
|
279
281
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/globals/site.variables,sha256=IQZqcNQ1AwmrpiPwkWZ6Zk67kyCMf8DJBqNgC1porDY,3043
|
|
280
|
-
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides,sha256=
|
|
282
|
+
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.overrides,sha256=Hh05CyqHwtZLzSX8bg1LFZKo7364JV-h52HJfAddLqc,3517
|
|
281
283
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/accordion.variables,sha256=JFUnfiL_Xve48EwxRjYq0T-QJA8jboC606L08IjrBXg,322
|
|
282
284
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/checkbox.overrides,sha256=VV-V1ez1AT-2ULq8kh9akUZncGOx6ESGnEUqDlvRihY,137
|
|
283
285
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/theme/modules/checkbox.variables,sha256=fknu9A-l5L6-tH7KOYKK6cHhxx8cKMlig7EGYI7zIU0,137
|
|
@@ -496,9 +498,9 @@ invenio_app_rdm/users_ui/views/__init__.py,sha256=SMdY2NJj9GICfr3Xuok7qdNYVtA2bJ
|
|
|
496
498
|
invenio_app_rdm/users_ui/views/dashboard.py,sha256=iUn2PrODAwb8ugmMosJKAjPhUzjCiWiAWoXQr9RUFuc,1793
|
|
497
499
|
invenio_app_rdm/users_ui/views/ui.py,sha256=W_eXM8dLVIrNHQB2UEh37C9BYoHauft6RyvcDNFHovA,1742
|
|
498
500
|
invenio_app_rdm/utils/files.py,sha256=CruDyO2gDVadSlWEJD-WHpWHeOQ0juh-Ei9jz3D9yjc,3923
|
|
499
|
-
invenio_app_rdm-14.0.0b3.
|
|
500
|
-
invenio_app_rdm-14.0.0b3.
|
|
501
|
-
invenio_app_rdm-14.0.0b3.
|
|
502
|
-
invenio_app_rdm-14.0.0b3.
|
|
503
|
-
invenio_app_rdm-14.0.0b3.
|
|
504
|
-
invenio_app_rdm-14.0.0b3.
|
|
501
|
+
invenio_app_rdm-14.0.0b3.dev2.dist-info/licenses/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
|
|
502
|
+
invenio_app_rdm-14.0.0b3.dev2.dist-info/METADATA,sha256=TTlOQKxyUHk5f2xFpERIzW_AN2icuVuqdaOE4bur3q8,20888
|
|
503
|
+
invenio_app_rdm-14.0.0b3.dev2.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
|
|
504
|
+
invenio_app_rdm-14.0.0b3.dev2.dist-info/entry_points.txt,sha256=MwtT1SN5saWOgTYhNb5y0YGA9VGAi0kXN0cykIfsb4U,2405
|
|
505
|
+
invenio_app_rdm-14.0.0b3.dev2.dist-info/top_level.txt,sha256=quZejDUw2vLfKQboNIuVLJ9fxZifdnCT_s2PNf1dfmk,16
|
|
506
|
+
invenio_app_rdm-14.0.0b3.dev2.dist-info/RECORD,,
|
|
File without changes
|
{invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{invenio_app_rdm-14.0.0b3.dev0.dist-info → invenio_app_rdm-14.0.0b3.dev2.dist-info}/top_level.txt
RENAMED
|
File without changes
|