invenio-app-rdm 13.0.0b2.dev3__py2.py3-none-any.whl → 13.0.0b2.dev5__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/config.py +2 -0
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html +3 -3
- invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html +0 -1
- invenio_app_rdm/records_ui/views/decorators.py +17 -5
- invenio_app_rdm/records_ui/views/deposits.py +6 -0
- invenio_app_rdm/tasks.py +6 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/CompareRevisionsDropdown.js +6 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js +5 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/CompareRevisions.js +10 -9
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js +2 -4
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchItem.js +1 -1
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchResultContainer.js +2 -2
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/UserGroupAccessSearchResultItem.js +1 -1
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js +0 -6
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/base.js +39 -6
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/communities.js +1 -0
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads.js +8 -21
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/ComputerTabletUploadsItem.js +14 -12
- invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/MobileUploadsItem.js +10 -10
- invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html +1 -1
- invenio_app_rdm/urls.py +11 -1
- invenio_app_rdm/users_ui/searchapp.py +7 -1
- {invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/METADATA +15 -1
- {invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/RECORD +30 -30
- {invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/WHEEL +1 -1
- tests/ui/test_signposting_ui.py +29 -9
- {invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/LICENSE +0 -0
- {invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/entry_points.txt +0 -0
- {invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/top_level.txt +0 -0
invenio_app_rdm/__init__.py
CHANGED
invenio_app_rdm/config.py
CHANGED
|
@@ -964,6 +964,8 @@ APP_RDM_DEPOSIT_FORM_PUBLISH_MODAL_EXTRA = ""
|
|
|
964
964
|
|
|
965
965
|
APP_RDM_RECORD_LANDING_PAGE_TEMPLATE = "invenio_app_rdm/records/detail.html"
|
|
966
966
|
|
|
967
|
+
APP_RDM_RECORD_LANDING_PAGE_FAIR_SIGNPOSTING_LEVEL_1_ENABLED = False
|
|
968
|
+
|
|
967
969
|
APP_RDM_RECORD_THUMBNAIL_SIZES = [10, 50, 100, 250, 750, 1200]
|
|
968
970
|
"""Allowed record thumbnail sizes."""
|
|
969
971
|
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
{%- set title = record.metadata.title %}
|
|
26
26
|
{%- set metadata = record.metadata %}
|
|
27
27
|
|
|
28
|
-
{%- set
|
|
28
|
+
{%- set can_curate_record = permissions is defined and (permissions.can_edit or permissions.can_review) %}
|
|
29
29
|
|
|
30
30
|
<!-- preview_submission_request is set to true when coming from a community submission request -->
|
|
31
31
|
{%- set is_preview_submission_request = preview_submission_request or false %}
|
|
32
|
-
{%- set show_record_management_menu =
|
|
32
|
+
{%- set show_record_management_menu = can_curate_record and (not is_preview or is_preview_submission_request) %}
|
|
33
33
|
|
|
34
34
|
{%- if record.parent.access.settings %}
|
|
35
35
|
{%- set allow_user_requests = not current_user.is_anonymous and record.parent.access.settings.allow_user_requests %}
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
|
|
176
176
|
{%- block record_header_button -%}
|
|
177
177
|
|
|
178
|
-
{% if is_preview and not is_preview_submission_request and
|
|
178
|
+
{% if is_preview and not is_preview_submission_request and can_curate_record and is_draft %}
|
|
179
179
|
<nav class="back-navigation rel-pb-2 pl-0"
|
|
180
180
|
aria-label="{{ _('Back-navigation') }}">
|
|
181
181
|
{%- set back_page = url_for('invenio_app_rdm_records.deposit_edit', pid_value=record.id) -%}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
data-record-community-endpoint="{{ record.links.communities }}"
|
|
5
5
|
data-record-community-search-endpoint="{{ record.links['communities-suggestions'] }}"
|
|
6
6
|
data-record-user-community-search-endpoint="{{ record.links['user-communities-suggestions'] }}"
|
|
7
|
-
data-can-manage-record='{{ can_manage_record |tojson }}'
|
|
8
7
|
data-pending-communities-search-config='{{ search_app_rdm_record_requests_config(app_id="InvenioAppRdm.RecordRequests", endpoint=record.links.requests) | tojson }}'
|
|
9
8
|
data-record-community-search-config='{{ search_app_rdm_record_communities_config(app_id="InvenioAppRdm.RecordCommunitiesSuggestions", endpoint=record.links["communities-suggestions"]) | tojson }}'
|
|
10
9
|
data-record-user-community-search-config='{{ search_app_rdm_record_user_communities_config(app_id="InvenioAppRdm.RecordUserCommunitiesSuggestions", endpoint=record.links["communities-suggestions"]) | tojson }}'
|
|
@@ -398,13 +398,25 @@ def add_signposting_landing_page(f):
|
|
|
398
398
|
response = make_response(f(*args, **kwargs))
|
|
399
399
|
|
|
400
400
|
# Relies on other decorators having operated before it
|
|
401
|
-
|
|
401
|
+
if current_app.config[
|
|
402
|
+
"APP_RDM_RECORD_LANDING_PAGE_FAIR_SIGNPOSTING_LEVEL_1_ENABLED"
|
|
403
|
+
]:
|
|
404
|
+
record = kwargs["record"]
|
|
405
|
+
|
|
406
|
+
signposting_headers = (
|
|
407
|
+
FAIRSignpostingProfileLvl1Serializer().serialize_object(
|
|
408
|
+
record.to_dict()
|
|
409
|
+
)
|
|
410
|
+
)
|
|
402
411
|
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
412
|
+
response.headers["Link"] = signposting_headers
|
|
413
|
+
else:
|
|
414
|
+
pid_value = kwargs["pid_value"]
|
|
415
|
+
signposting_link = record_url_for(_app="api", pid_value=pid_value)
|
|
406
416
|
|
|
407
|
-
|
|
417
|
+
response.headers["Link"] = (
|
|
418
|
+
f'<{signposting_link}> ; rel="linkset" ; type="application/linkset+json"' # fmt: skip
|
|
419
|
+
)
|
|
408
420
|
|
|
409
421
|
return response
|
|
410
422
|
|
|
@@ -444,6 +444,7 @@ def deposit_create(community=None):
|
|
|
444
444
|
.get("doi", {})
|
|
445
445
|
.get("required")
|
|
446
446
|
)
|
|
447
|
+
|
|
447
448
|
return render_community_theme_template(
|
|
448
449
|
current_app.config["APP_RDM_DEPOSIT_FORM_TEMPLATE"],
|
|
449
450
|
theme=community_theme,
|
|
@@ -483,7 +484,12 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
|
|
|
483
484
|
can_edit_draft = service.check_permission(
|
|
484
485
|
g.identity, "update_draft", record=draft._record
|
|
485
486
|
)
|
|
487
|
+
can_preview_draft = service.check_permission(
|
|
488
|
+
g.identity, "preview", record=draft._record
|
|
489
|
+
)
|
|
486
490
|
if not can_edit_draft:
|
|
491
|
+
if can_preview_draft:
|
|
492
|
+
return redirect(draft["links"]["preview_html"])
|
|
487
493
|
raise PermissionDeniedError()
|
|
488
494
|
|
|
489
495
|
files_dict = None if draft_files is None else draft_files.to_dict()
|
invenio_app_rdm/tasks.py
CHANGED
|
@@ -18,7 +18,10 @@ from .utils.files import send_integrity_report_email
|
|
|
18
18
|
def file_integrity_report():
|
|
19
19
|
"""Send a report of uhealthy/missing files to system admins."""
|
|
20
20
|
# First retry verifying files that errored during their last check
|
|
21
|
-
files = FileInstance.query.filter(
|
|
21
|
+
files = FileInstance.query.filter(
|
|
22
|
+
FileInstance.last_check.is_(None),
|
|
23
|
+
FileInstance.uri.is_not(None),
|
|
24
|
+
)
|
|
22
25
|
for f in files:
|
|
23
26
|
try:
|
|
24
27
|
f.clear_last_check()
|
|
@@ -32,7 +35,8 @@ def file_integrity_report():
|
|
|
32
35
|
FileInstance.query.filter(
|
|
33
36
|
sa.or_(
|
|
34
37
|
FileInstance.last_check.is_(None), FileInstance.last_check.is_(False)
|
|
35
|
-
)
|
|
38
|
+
),
|
|
39
|
+
FileInstance.uri.is_not(None),
|
|
36
40
|
)
|
|
37
41
|
.order_by(FileInstance.created.desc())
|
|
38
42
|
.all()
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* // This file is part of Invenio-App-Rdm
|
|
3
3
|
* // Copyright (C) 2025 CERN.
|
|
4
|
+
* // Copyright (C) 2025 Graz University of Technology.
|
|
4
5
|
* //
|
|
5
6
|
* // Invenio-App-Rdm is free software; you can redistribute it and/or modify it
|
|
6
7
|
* // under the terms of the MIT License; see LICENSE file for more details.
|
|
@@ -81,3 +82,8 @@ CompareRevisionsDropdown.propTypes = {
|
|
|
81
82
|
srcRevision: PropTypes.object,
|
|
82
83
|
targetRevision: PropTypes.object,
|
|
83
84
|
};
|
|
85
|
+
|
|
86
|
+
CompareRevisionsDropdown.defaultProps = {
|
|
87
|
+
srcRevision: 0,
|
|
88
|
+
targetRevision: 0,
|
|
89
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* // This file is part of Invenio-App-Rdm
|
|
3
3
|
* // Copyright (C) 2025 CERN.
|
|
4
|
+
* // Copyright (C) 2025 Graz University of Technology.
|
|
4
5
|
* //
|
|
5
6
|
* // Invenio-App-Rdm is free software; you can redistribute it and/or modify it
|
|
6
7
|
* // under the terms of the MIT License; see LICENSE file for more details.
|
|
@@ -75,3 +76,7 @@ RevisionsDiffViewer.propTypes = {
|
|
|
75
76
|
diff: PropTypes.object,
|
|
76
77
|
viewerProps: PropTypes.object.isRequired,
|
|
77
78
|
};
|
|
79
|
+
|
|
80
|
+
RevisionsDiffViewer.defaultProps = {
|
|
81
|
+
diff: {},
|
|
82
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* // This file is part of Invenio-App-Rdm
|
|
3
3
|
* // Copyright (C) 2025 CERN.
|
|
4
|
+
* // Copyright (C) 2025 Graz University of Technology.
|
|
4
5
|
* //
|
|
5
6
|
* // Invenio-App-Rdm is free software; you can redistribute it and/or modify it
|
|
6
7
|
* // under the terms of the MIT License; see LICENSE file for more details.
|
|
@@ -28,6 +29,14 @@ export class CompareRevisions extends Component {
|
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
|
|
32
|
+
componentDidMount() {
|
|
33
|
+
this.fetchRevisions();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
componentWillUnmount() {
|
|
37
|
+
this.cancellableAction && this.cancellableAction.cancel();
|
|
38
|
+
}
|
|
39
|
+
|
|
31
40
|
async fetchRevisions() {
|
|
32
41
|
const { resource } = this.props;
|
|
33
42
|
this.setState({ loading: true });
|
|
@@ -50,14 +59,6 @@ export class CompareRevisions extends Component {
|
|
|
50
59
|
}
|
|
51
60
|
}
|
|
52
61
|
|
|
53
|
-
componentDidMount() {
|
|
54
|
-
this.fetchRevisions();
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
componentWillUnmount() {
|
|
58
|
-
this.cancellableAction && this.cancellableAction.cancel();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
62
|
handleModalClose = () => {
|
|
62
63
|
const { actionCancelCallback } = this.props;
|
|
63
64
|
actionCancelCallback();
|
|
@@ -100,7 +101,7 @@ export class CompareRevisions extends Component {
|
|
|
100
101
|
</Modal.Content>
|
|
101
102
|
)}
|
|
102
103
|
<Modal.Content scrolling>
|
|
103
|
-
<RevisionsDiffViewer diff={
|
|
104
|
+
<RevisionsDiffViewer diff={diff} />
|
|
104
105
|
</Modal.Content>
|
|
105
106
|
</Modal.Content>
|
|
106
107
|
<Modal.Actions>
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js
CHANGED
|
@@ -88,7 +88,6 @@ export class CommunitiesManagement extends Component {
|
|
|
88
88
|
const {
|
|
89
89
|
recordCommunitySearchConfig,
|
|
90
90
|
permissions,
|
|
91
|
-
canManageRecord,
|
|
92
91
|
userCommunitiesMemberships,
|
|
93
92
|
recordCommunityEndpoint,
|
|
94
93
|
recordUserCommunitySearchConfig,
|
|
@@ -97,7 +96,7 @@ export class CommunitiesManagement extends Component {
|
|
|
97
96
|
} = this.props;
|
|
98
97
|
const { communities, loading, error, manageCommunitiesModalOpen } = this.state;
|
|
99
98
|
return (
|
|
100
|
-
(!_isEmpty(communities) ||
|
|
99
|
+
(!_isEmpty(communities) || permissions.can_manage) && (
|
|
101
100
|
<>
|
|
102
101
|
<Header
|
|
103
102
|
size="medium"
|
|
@@ -106,7 +105,7 @@ export class CommunitiesManagement extends Component {
|
|
|
106
105
|
attached="top"
|
|
107
106
|
>
|
|
108
107
|
{i18next.t("Communities")}
|
|
109
|
-
{
|
|
108
|
+
{permissions.can_manage && (
|
|
110
109
|
<CommunitiesManagementDropdown
|
|
111
110
|
actionSucceed={this.handleRefresh}
|
|
112
111
|
userCommunitiesMemberships={userCommunitiesMemberships}
|
|
@@ -166,7 +165,6 @@ CommunitiesManagement.propTypes = {
|
|
|
166
165
|
recordCommunityEndpoint: PropTypes.string.isRequired,
|
|
167
166
|
recordUserCommunitySearchConfig: PropTypes.object.isRequired,
|
|
168
167
|
permissions: PropTypes.object.isRequired,
|
|
169
|
-
canManageRecord: PropTypes.bool.isRequired,
|
|
170
168
|
userCommunitiesMemberships: PropTypes.object.isRequired,
|
|
171
169
|
searchConfig: PropTypes.object.isRequired,
|
|
172
170
|
record: PropTypes.object.isRequired,
|
|
@@ -73,7 +73,7 @@ export const LinksSearchItem = ({
|
|
|
73
73
|
selfLink = `${record.links.record_html || record.links.self_html}?`;
|
|
74
74
|
} else if (result?.permission === "preview") {
|
|
75
75
|
// point to `/records/<id>?preview=1` even for published records
|
|
76
|
-
selfLink = `${record.links.
|
|
76
|
+
selfLink = `${record.links.preview_html}&`;
|
|
77
77
|
} else if (result?.permission === "edit") {
|
|
78
78
|
selfLink = `${record.links.self_html}?`;
|
|
79
79
|
}
|
|
@@ -33,7 +33,7 @@ export const dropdownOptions = [
|
|
|
33
33
|
title: i18next.t("Can preview drafts"),
|
|
34
34
|
value: "preview",
|
|
35
35
|
description: i18next.t(
|
|
36
|
-
"Can view drafts
|
|
36
|
+
"Can view drafts, restricted files, and comment on associated draft requests of all versions of this record."
|
|
37
37
|
),
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -43,7 +43,7 @@ export const dropdownOptions = [
|
|
|
43
43
|
title: i18next.t("Can edit"),
|
|
44
44
|
value: "edit",
|
|
45
45
|
description: i18next.t(
|
|
46
|
-
"Can edit drafts
|
|
46
|
+
"Can edit drafts, view restricted files, and comment on associated draft requests of all versions of this record."
|
|
47
47
|
),
|
|
48
48
|
},
|
|
49
49
|
];
|
|
@@ -25,7 +25,7 @@ export const accessDropdownOptions = [
|
|
|
25
25
|
title: i18next.t("Can manage"),
|
|
26
26
|
value: "manage",
|
|
27
27
|
description: i18next.t(
|
|
28
|
-
"Can manage access, edit drafts
|
|
28
|
+
"Can manage access, edit drafts, view restricted files, and comment on associated draft requests of all versions of this record."
|
|
29
29
|
),
|
|
30
30
|
},
|
|
31
31
|
];
|
|
@@ -100,9 +100,6 @@ if (sidebarCommunitiesManageDiv) {
|
|
|
100
100
|
recordUserCommunitySearchConfig={JSON.parse(
|
|
101
101
|
sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
|
|
102
102
|
)}
|
|
103
|
-
canManageRecord={JSON.parse(
|
|
104
|
-
sidebarCommunitiesManageDiv.dataset.canManageRecord
|
|
105
|
-
)}
|
|
106
103
|
recordCommunitySearchConfig={recordCommunitySearchConfig}
|
|
107
104
|
permissions={JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions)}
|
|
108
105
|
searchConfig={JSON.parse(pendingCommunitiesSearchConfig)}
|
|
@@ -118,9 +115,6 @@ if (sidebarCommunitiesManageDiv) {
|
|
|
118
115
|
recordUserCommunitySearchConfig={JSON.parse(
|
|
119
116
|
sidebarCommunitiesManageDiv.dataset.recordUserCommunitySearchConfig
|
|
120
117
|
)}
|
|
121
|
-
canManageRecord={JSON.parse(
|
|
122
|
-
sidebarCommunitiesManageDiv.dataset.canManageRecord
|
|
123
|
-
)}
|
|
124
118
|
recordCommunitySearchConfig={recordCommunitySearchConfig}
|
|
125
119
|
permissions={JSON.parse(sidebarCommunitiesManageDiv.dataset.permissions)}
|
|
126
120
|
searchConfig={JSON.parse(pendingCommunitiesSearchConfig)}
|
|
@@ -12,6 +12,8 @@ import {
|
|
|
12
12
|
SearchAppResultsPane,
|
|
13
13
|
InvenioSearchPagination,
|
|
14
14
|
} from "@js/invenio_search_ui/components";
|
|
15
|
+
import { SharedOrMineFilter } from "@js/invenio_requests/components/SharedOrMineFilter";
|
|
16
|
+
|
|
15
17
|
import { i18next } from "@translations/invenio_app_rdm/i18next";
|
|
16
18
|
import React from "react";
|
|
17
19
|
import { ResultsList, SearchBar, Sort, buildUID } from "react-searchkit";
|
|
@@ -75,6 +77,7 @@ DashboardResultView.defaultProps = {
|
|
|
75
77
|
export const DashboardSearchLayoutHOC = ({
|
|
76
78
|
searchBarPlaceholder = "",
|
|
77
79
|
appName = undefined,
|
|
80
|
+
showSharedFilters = false,
|
|
78
81
|
}) => {
|
|
79
82
|
const DashboardUploadsSearchLayout = (props) => {
|
|
80
83
|
const [sidebarVisible, setSidebarVisible] = React.useState(false);
|
|
@@ -100,7 +103,7 @@ export const DashboardSearchLayoutHOC = ({
|
|
|
100
103
|
</Grid.Column>
|
|
101
104
|
<Grid.Column
|
|
102
105
|
mobile={14}
|
|
103
|
-
tablet={
|
|
106
|
+
tablet={14}
|
|
104
107
|
verticalAlign="middle"
|
|
105
108
|
floated="right"
|
|
106
109
|
>
|
|
@@ -108,8 +111,32 @@ export const DashboardSearchLayoutHOC = ({
|
|
|
108
111
|
</Grid.Column>
|
|
109
112
|
</Grid.Row>
|
|
110
113
|
|
|
111
|
-
<Grid.Row className="
|
|
112
|
-
<Grid.Column
|
|
114
|
+
<Grid.Row className="tablet only">
|
|
115
|
+
<Grid.Column tablet={6} floated="right">
|
|
116
|
+
<SharedOrMineFilter mineLabel={i18next.t("My uploads")} />
|
|
117
|
+
</Grid.Column>
|
|
118
|
+
<Grid.Column tablet={10} textAlign="right">
|
|
119
|
+
{config.sortOptions && (
|
|
120
|
+
<Sort
|
|
121
|
+
values={config.sortOptions}
|
|
122
|
+
label={(cmp) => (
|
|
123
|
+
<>
|
|
124
|
+
<label className="mr-10">{i18next.t("Sort by")}</label>
|
|
125
|
+
{cmp}
|
|
126
|
+
</>
|
|
127
|
+
)}
|
|
128
|
+
/>
|
|
129
|
+
)}
|
|
130
|
+
</Grid.Column>
|
|
131
|
+
</Grid.Row>
|
|
132
|
+
|
|
133
|
+
<Grid.Row className="mobile only">
|
|
134
|
+
<Grid.Column width={16}>
|
|
135
|
+
<SharedOrMineFilter mineLabel={i18next.t("My uploads")} />
|
|
136
|
+
</Grid.Column>
|
|
137
|
+
</Grid.Row>
|
|
138
|
+
<Grid.Row className="mobile only">
|
|
139
|
+
<Grid.Column textAlign="right">
|
|
113
140
|
{config.sortOptions && (
|
|
114
141
|
<Sort
|
|
115
142
|
values={config.sortOptions}
|
|
@@ -127,11 +154,17 @@ export const DashboardSearchLayoutHOC = ({
|
|
|
127
154
|
|
|
128
155
|
{/* Desktop search header */}
|
|
129
156
|
<Grid.Row className="computer only">
|
|
130
|
-
<Grid.Column width={
|
|
131
|
-
|
|
157
|
+
<Grid.Column width={4} />
|
|
158
|
+
<Grid.Column width={4}>
|
|
159
|
+
<SharedOrMineFilter mineLabel={i18next.t("My uploads")} />
|
|
132
160
|
</Grid.Column>
|
|
161
|
+
{showSharedFilters && (
|
|
162
|
+
<Grid.Column width={5} floated="right">
|
|
163
|
+
<SearchBar placeholder={searchBarPlaceholder} />
|
|
164
|
+
</Grid.Column>
|
|
165
|
+
)}
|
|
133
166
|
|
|
134
|
-
<Grid.Column width={
|
|
167
|
+
<Grid.Column width={3} textAlign="right">
|
|
135
168
|
{config.sortOptions && (
|
|
136
169
|
<Sort
|
|
137
170
|
values={config.sortOptions}
|
|
@@ -28,6 +28,7 @@ export const appName = "InvenioAppRdm.DashboardCommunities";
|
|
|
28
28
|
export const DashboardCommunitiesSearchLayout = DashboardSearchLayoutHOC({
|
|
29
29
|
searchBarPlaceholder: i18next.t("Search in my communities..."),
|
|
30
30
|
appName: appName,
|
|
31
|
+
mineLabel: i18next.t("My communities"),
|
|
31
32
|
});
|
|
32
33
|
|
|
33
34
|
const DashboardResultViewWAppName = parametrize(DashboardResultView, {
|
|
@@ -19,7 +19,6 @@ import {
|
|
|
19
19
|
RDMRecordSearchBarElement,
|
|
20
20
|
RDMToggleComponent,
|
|
21
21
|
} from "../search/components";
|
|
22
|
-
import { http } from "react-invenio-forms";
|
|
23
22
|
import { DashboardResultView, DashboardSearchLayoutHOC } from "./base";
|
|
24
23
|
import { createSearchAppInit } from "@js/invenio_search_ui";
|
|
25
24
|
import { ComputerTabletUploadsItem } from "./uploads_items/ComputerTabletUploadsItem";
|
|
@@ -41,24 +40,10 @@ const statuses = {
|
|
|
41
40
|
};
|
|
42
41
|
|
|
43
42
|
export const RDMRecordResultsListItem = ({ result }) => {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
{},
|
|
49
|
-
{
|
|
50
|
-
headers: {
|
|
51
|
-
"Content-Type": "application/json",
|
|
52
|
-
"Accept": "application/vnd.inveniordm.v1+json",
|
|
53
|
-
},
|
|
54
|
-
}
|
|
55
|
-
)
|
|
56
|
-
.then(() => {
|
|
57
|
-
window.location = `/uploads/${result.id}`;
|
|
58
|
-
})
|
|
59
|
-
.catch((error) => {
|
|
60
|
-
console.error(error.response.data);
|
|
61
|
-
});
|
|
43
|
+
const viewDraft = () => {
|
|
44
|
+
// The upload view is responsible to redirect the user to the upload form or
|
|
45
|
+
// the preview page depending on the permissions they have.
|
|
46
|
+
window.location = `/uploads/${result.id}`;
|
|
62
47
|
};
|
|
63
48
|
|
|
64
49
|
const isPublished = result.is_published;
|
|
@@ -97,14 +82,14 @@ export const RDMRecordResultsListItem = ({ result }) => {
|
|
|
97
82
|
<>
|
|
98
83
|
<ComputerTabletUploadsItem
|
|
99
84
|
result={result}
|
|
100
|
-
|
|
85
|
+
viewDraft={viewDraft}
|
|
101
86
|
statuses={statuses}
|
|
102
87
|
access={access}
|
|
103
88
|
uiMetadata={uiMetadata}
|
|
104
89
|
/>
|
|
105
90
|
<MobileUploadsItem
|
|
106
91
|
result={result}
|
|
107
|
-
|
|
92
|
+
viewDraft={viewDraft}
|
|
108
93
|
statuses={statuses}
|
|
109
94
|
access={access}
|
|
110
95
|
uiMetadata={uiMetadata}
|
|
@@ -185,6 +170,8 @@ export const DashboardUploadsSearchLayout = DashboardSearchLayoutHOC({
|
|
|
185
170
|
/>
|
|
186
171
|
),
|
|
187
172
|
appName: appName,
|
|
173
|
+
mineLabel: i18next.t("My uploads"),
|
|
174
|
+
showSharedFilters: true,
|
|
188
175
|
});
|
|
189
176
|
|
|
190
177
|
const ContribSearchAppFacetsWithConfig = parametrize(ContribSearchAppFacets, {
|
|
@@ -15,7 +15,7 @@ import { DisplayPartOfCommunities } from "../../components/DisplayPartOfCommunit
|
|
|
15
15
|
|
|
16
16
|
export const ComputerTabletUploadsItem = ({
|
|
17
17
|
result,
|
|
18
|
-
|
|
18
|
+
viewDraft,
|
|
19
19
|
statuses,
|
|
20
20
|
access,
|
|
21
21
|
uiMetadata,
|
|
@@ -69,16 +69,8 @@ export const ComputerTabletUploadsItem = ({
|
|
|
69
69
|
<i className={`icon ${accessStatusIcon}`} />
|
|
70
70
|
{accessStatus}
|
|
71
71
|
</Label>
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
size="small"
|
|
75
|
-
floated="right"
|
|
76
|
-
onClick={() => editRecord()}
|
|
77
|
-
labelPosition="left"
|
|
78
|
-
icon="edit"
|
|
79
|
-
content={i18next.t("Edit")}
|
|
80
|
-
/>
|
|
81
|
-
{isPublished && (
|
|
72
|
+
|
|
73
|
+
{isPublished ? (
|
|
82
74
|
<Button
|
|
83
75
|
compact
|
|
84
76
|
size="small"
|
|
@@ -88,6 +80,16 @@ export const ComputerTabletUploadsItem = ({
|
|
|
88
80
|
icon="eye"
|
|
89
81
|
content={i18next.t("View")}
|
|
90
82
|
/>
|
|
83
|
+
) : (
|
|
84
|
+
<Button
|
|
85
|
+
compact
|
|
86
|
+
size="small"
|
|
87
|
+
floated="right"
|
|
88
|
+
onClick={() => viewDraft()}
|
|
89
|
+
labelPosition="left"
|
|
90
|
+
icon="eye"
|
|
91
|
+
content={i18next.t("View")}
|
|
92
|
+
/>
|
|
91
93
|
)}
|
|
92
94
|
</Item.Extra>
|
|
93
95
|
<Item.Header as="h2">
|
|
@@ -146,7 +148,7 @@ export const ComputerTabletUploadsItem = ({
|
|
|
146
148
|
|
|
147
149
|
ComputerTabletUploadsItem.propTypes = {
|
|
148
150
|
result: PropTypes.object.isRequired,
|
|
149
|
-
|
|
151
|
+
viewDraft: PropTypes.func.isRequired,
|
|
150
152
|
statuses: PropTypes.object.isRequired,
|
|
151
153
|
access: PropTypes.object.isRequired,
|
|
152
154
|
uiMetadata: PropTypes.object.isRequired,
|
|
@@ -15,7 +15,7 @@ import { DisplayPartOfCommunities } from "../../components/DisplayPartOfCommunit
|
|
|
15
15
|
|
|
16
16
|
export const MobileUploadsItem = ({
|
|
17
17
|
result,
|
|
18
|
-
|
|
18
|
+
viewDraft,
|
|
19
19
|
statuses,
|
|
20
20
|
access,
|
|
21
21
|
uiMetadata,
|
|
@@ -122,20 +122,20 @@ export const MobileUploadsItem = ({
|
|
|
122
122
|
<Item.Extra>
|
|
123
123
|
<Dropdown button text={i18next.t("Actions")} labeled className="icon">
|
|
124
124
|
<Dropdown.Menu>
|
|
125
|
-
|
|
126
|
-
onClick={() => editRecord()}
|
|
127
|
-
labelposition="left"
|
|
128
|
-
icon="edit"
|
|
129
|
-
content={i18next.t("Edit")}
|
|
130
|
-
/>
|
|
131
|
-
|
|
132
|
-
{isPublished && (
|
|
125
|
+
{isPublished ? (
|
|
133
126
|
<Dropdown.Item
|
|
134
127
|
labelposition="left"
|
|
135
128
|
href={viewLink}
|
|
136
129
|
icon="eye"
|
|
137
130
|
content={i18next.t("View")}
|
|
138
131
|
/>
|
|
132
|
+
) : (
|
|
133
|
+
<Dropdown.Item
|
|
134
|
+
onClick={() => viewDraft()}
|
|
135
|
+
labelposition="left"
|
|
136
|
+
icon="eye"
|
|
137
|
+
content={i18next.t("View")}
|
|
138
|
+
/>
|
|
139
139
|
)}
|
|
140
140
|
</Dropdown.Menu>
|
|
141
141
|
</Dropdown>
|
|
@@ -147,7 +147,7 @@ export const MobileUploadsItem = ({
|
|
|
147
147
|
|
|
148
148
|
MobileUploadsItem.propTypes = {
|
|
149
149
|
result: PropTypes.object.isRequired,
|
|
150
|
-
|
|
150
|
+
viewDraft: PropTypes.func.isRequired,
|
|
151
151
|
statuses: PropTypes.object.isRequired,
|
|
152
152
|
access: PropTypes.object.isRequired,
|
|
153
153
|
uiMetadata: PropTypes.object.isRequired,
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
in exactly the same order, and thus for instance would not match a record
|
|
236
236
|
containing the phrase <em>"open access and science"</em>. A proximity search
|
|
237
237
|
allows that the terms are not in the exact order and may include other terms
|
|
238
|
-
|
|
238
|
+
in between. The degree of flexibility is specified by an integer afterwards:
|
|
239
239
|
</p>
|
|
240
240
|
<p>
|
|
241
241
|
<strong>Example:</strong>
|
invenio_app_rdm/urls.py
CHANGED
|
@@ -28,6 +28,9 @@ Design decisions:
|
|
|
28
28
|
- Generated urls are absolute for now
|
|
29
29
|
"""
|
|
30
30
|
|
|
31
|
+
import unicodedata
|
|
32
|
+
from urllib.parse import quote
|
|
33
|
+
|
|
31
34
|
from flask import current_app
|
|
32
35
|
|
|
33
36
|
|
|
@@ -49,7 +52,14 @@ def record_url_for(_app="ui", pid_value=""):
|
|
|
49
52
|
|
|
50
53
|
def download_url_for(pid_value="", filename=""):
|
|
51
54
|
"""Return url for download route."""
|
|
52
|
-
url_prefix = current_app.config.get(
|
|
55
|
+
url_prefix = current_app.config.get("SITE_UI_URL", "")
|
|
56
|
+
|
|
57
|
+
# see https://github.com/pallets/werkzeug/blob/main/src/werkzeug/utils.py#L456-L465
|
|
58
|
+
try:
|
|
59
|
+
filename.encode("ascii")
|
|
60
|
+
except UnicodeEncodeError:
|
|
61
|
+
# safe = RFC 5987 attr-char
|
|
62
|
+
filename = quote(filename, safe="!#$&+-.^_`|~")
|
|
53
63
|
|
|
54
64
|
# We use [] so that this fails and brings to attention the configuration
|
|
55
65
|
# problem if APP_RDM_ROUTES.record_file_download is missing
|
|
@@ -24,6 +24,9 @@ def search_app_context():
|
|
|
24
24
|
"/api/user/records",
|
|
25
25
|
{"Accept": "application/vnd.inveniordm.v1+json"},
|
|
26
26
|
pagination_options=(10, 20),
|
|
27
|
+
initial_filters=[
|
|
28
|
+
["shared_with_me", "false"],
|
|
29
|
+
],
|
|
27
30
|
),
|
|
28
31
|
"search_app_rdm_user_communities_config": partial(
|
|
29
32
|
search_app_config,
|
|
@@ -41,7 +44,10 @@ def search_app_context():
|
|
|
41
44
|
current_app.config["RDM_SORT_OPTIONS"],
|
|
42
45
|
"/api/user/requests",
|
|
43
46
|
{"Accept": "application/json"},
|
|
44
|
-
initial_filters=[
|
|
47
|
+
initial_filters=[
|
|
48
|
+
["is_open", "true"],
|
|
49
|
+
["shared_with_me", "false"],
|
|
50
|
+
],
|
|
45
51
|
hidden_params=[["expand", "1"]],
|
|
46
52
|
),
|
|
47
53
|
}
|
{invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: invenio-app-rdm
|
|
3
|
-
Version: 13.0.0b2.
|
|
3
|
+
Version: 13.0.0b2.dev5
|
|
4
4
|
Summary: Invenio Research Data Management.
|
|
5
5
|
Home-page: https://github.com/inveniosoftware/invenio-app-rdm
|
|
6
6
|
Author: CERN
|
|
@@ -96,6 +96,20 @@ https://inveniordm.docs.cern.ch
|
|
|
96
96
|
Changes
|
|
97
97
|
=======
|
|
98
98
|
|
|
99
|
+
Version v13.0.0b2.dev5 (released 2025-03-11)
|
|
100
|
+
|
|
101
|
+
- dashboard: use always view button to redirect user to the upload
|
|
102
|
+
- If upload is published redirect user to published record
|
|
103
|
+
- If upload is draft redirect user to upload or preview depending on their permission
|
|
104
|
+
- deposit: use permissions.can_manage for record community management
|
|
105
|
+
- dashboard: split mine and shared with me uploads
|
|
106
|
+
|
|
107
|
+
Version v13.0.0b2.dev4 (released 2025-03-10)
|
|
108
|
+
|
|
109
|
+
- views: FAIR signposting level 1 support (config flag)
|
|
110
|
+
- tasks: skip health checks for files that don't have a uri
|
|
111
|
+
- views: signposting: files: fix filename encoding issues for downloads
|
|
112
|
+
|
|
99
113
|
Version v13.0.0b2.dev3 (released 2025-02-21)
|
|
100
114
|
|
|
101
115
|
- views: FAIR signposting level 1 support
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
invenio_app_rdm/__init__.py,sha256=
|
|
1
|
+
invenio_app_rdm/__init__.py,sha256=2imeLNb2IppGU6GUcbAhK5zjFFA44cuFi9_T2uhnPyU,699
|
|
2
2
|
invenio_app_rdm/cli.py,sha256=G6QqNU2W6n6ICtTMnpeKFXIsdorncDmVXwwwsGH5F2k,2746
|
|
3
|
-
invenio_app_rdm/config.py,sha256=
|
|
3
|
+
invenio_app_rdm/config.py,sha256=aQHeG7QxiKx01eDi1Xo7hsOfyAfe_yb8SNrq-CDOYag,50448
|
|
4
4
|
invenio_app_rdm/ext.py,sha256=PkZhATGJDgYqBJQh41NdvBZWR83mgI3Eej6rj10UVJE,5278
|
|
5
|
-
invenio_app_rdm/tasks.py,sha256=
|
|
6
|
-
invenio_app_rdm/urls.py,sha256=
|
|
5
|
+
invenio_app_rdm/tasks.py,sha256=FyrIQXVuPjms-dNEnLrVmmdwrX_IykJ87gcSNgOR6O0,1373
|
|
6
|
+
invenio_app_rdm/urls.py,sha256=8S95QSs4yS0rtORsd4veo--rF3LSLwZenoowJ5ubbmM,2496
|
|
7
7
|
invenio_app_rdm/administration/__init__.py,sha256=8r9LeoE9fNHZSVS5QsCfVhRU7MAiEOWJk9MA3Y--4F8,251
|
|
8
8
|
invenio_app_rdm/administration/domains/__init__.py,sha256=Qob5kqjRPxpuSE5yDV2tesN6tmaKp5JcxCxGA8Mrcak,487
|
|
9
9
|
invenio_app_rdm/administration/domains/domains.py,sha256=vafLa-mqkg_tQLjx328E64P_4mksB5kjBlsfunvdatg,5599
|
|
@@ -42,7 +42,7 @@ invenio_app_rdm/records_ui/utils.py,sha256=0ljPFPC1dAEY_ySZSIT_LRYka2bfsUyvFk_QQ
|
|
|
42
42
|
invenio_app_rdm/records_ui/previewer/__init__.py,sha256=T32i_ssGKONDpNB3gECpn20ubHvGYYVrNuIgCADioOM,267
|
|
43
43
|
invenio_app_rdm/records_ui/previewer/iiif_simple.py,sha256=lGxB3g0hNVJDWnq5jV_KrKPwC-LR1C51DMjas1-UpBM,1589
|
|
44
44
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/deposit.html,sha256=x1JF-cRmkbSSeroh2SWgKHIwGc34FaPJiaYQlwiUkQw,2413
|
|
45
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html,sha256=
|
|
45
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/detail.html,sha256=JDGwci3iCczFB_sliQRMsNORYG3moGoTXBVju5Hrp1w,20051
|
|
46
46
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/draft_not_found.html,sha256=_FPflgqVZ556Xw349mHPSFb0FOhxYkIHfmUUTX53_LU,624
|
|
47
47
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/export.html,sha256=Vtg02WXJU0CpCNci7CXWYN7EGwT-IrBTrg_4tfzIbCs,1160
|
|
48
48
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/iiif_preview.html,sha256=RningdsVBXsJ8qnQjzurf0Ty8R5Tq08eS31s53c3DNE,444
|
|
@@ -61,7 +61,7 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details
|
|
|
61
61
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/stats.html,sha256=74xWPQNHoFbhN1an-p9SEAFUbW-TwCsBEUAaOEyNgWQ,4370
|
|
62
62
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/subjects.html,sha256=Wu7MCXzGj41K38-VXi-kStvc8fm3Ck68uJ1egfFK0dw,1509
|
|
63
63
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/citations.html,sha256=5Sdg_gwGOgm0qLRv4-CUmDNx7PYlOsa5XPGjDdx7k20,258
|
|
64
|
-
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html,sha256=
|
|
64
|
+
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/communities.html,sha256=GxxKbXxVg5lKcSEzVeYJXyz7qUL7yhsZnhXY3lE-vNU,1561
|
|
65
65
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/details.html,sha256=zQCx5x5AE_T8nywICNBzo-9K4vNtfPSyz_F_7cC6L8Y,1974
|
|
66
66
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/export.html,sha256=DoDrQFd_OJcJzqBEQ2FRbcfJpD3TLRjESU68mBLWVyU,1392
|
|
67
67
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/details/side_bar/external_resources.html,sha256=Ia92YMRlxuGRTMsWU4hQTLJDeRy8BX8bnSSaLXKst4Y,1934
|
|
@@ -80,8 +80,8 @@ invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/
|
|
|
80
80
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/stats_popup.html,sha256=5SVzfIS15Aro2Itd2BiaLbMXm0cvvwk6ZCdYjuSwhBw,625
|
|
81
81
|
invenio_app_rdm/records_ui/templates/semantic-ui/invenio_app_rdm/records/macros/version.html,sha256=JpE4e6RpbSR2pQD1rOsfvzD2ur584aRfBWUUap2IMBA,688
|
|
82
82
|
invenio_app_rdm/records_ui/views/__init__.py,sha256=4NxQNADuvMsblEsGd3zkKXSNR5_4eLMcFEFYvc6NxVc,5718
|
|
83
|
-
invenio_app_rdm/records_ui/views/decorators.py,sha256=
|
|
84
|
-
invenio_app_rdm/records_ui/views/deposits.py,sha256=
|
|
83
|
+
invenio_app_rdm/records_ui/views/decorators.py,sha256=XUSPpstYyh72IdNaIO4wz3sw1fjI_2DNGsKdUu3ueL4,15769
|
|
84
|
+
invenio_app_rdm/records_ui/views/deposits.py,sha256=H7LoSmvPzkjVGfhp3TmjMkQkLpJ7jOdmigjVciLqDvA,21536
|
|
85
85
|
invenio_app_rdm/records_ui/views/filters.py,sha256=Rm55fXJv97cqq8B_6KCe-3PxxHUH4VRu-jd9fTea6r4,6994
|
|
86
86
|
invenio_app_rdm/records_ui/views/records.py,sha256=GdxG3JnXrV1QT0KxOqeYWoDGIiZRZ9w5poihPPd-wTo,16428
|
|
87
87
|
invenio_app_rdm/redirector/__init__.py,sha256=AYCTGmfbmkHW3YJXMqXlWBXcBrUsta-QmL9ULX2bjwA,243
|
|
@@ -105,10 +105,10 @@ invenio_app_rdm/theme/views.py,sha256=UJs2_C28BWsXY1JqbRK4_ML1JRtGo1yM2S0_W37JJo
|
|
|
105
105
|
invenio_app_rdm/theme/webpack.py,sha256=5ucwIJQgM1y9EFdRcsxv_ThPs7hXRzdmipVBxoU1McI,5090
|
|
106
106
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/theme.js,sha256=2-BWDEH3YQPwPt1ey3jUHnMrKTyb0JBPRlydk5_reH8,4151
|
|
107
107
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/utils.js,sha256=zKROcc3qE64-UhM8ha42K-EDDxAXMupxoocZZ9bjEHo,3452
|
|
108
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/CompareRevisionsDropdown.js,sha256=
|
|
108
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/CompareRevisionsDropdown.js,sha256=BNdMxfFYPhlrGKPg47oc4X8ILllfCngN61L1b7Yt_8Q,2483
|
|
109
109
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUser.js,sha256=GmZGEPOylGXr6fyNJxS_0hPwCGdO98F2u6Pn8Qrt9ew,2291
|
|
110
110
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/ImpersonateUserForm.js,sha256=qsjNiOsHWx9rrP3uA4nxthUEoY9b82n0IO8PfdObxHQ,6815
|
|
111
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js,sha256
|
|
111
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/RevisionsDiffViewer.js,sha256=-2khcBmWr3zztAjy3mRz4d9gu8b8IAZtWbcnwnD5eAk,1932
|
|
112
112
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaAction.js,sha256=wwvYfTJ7pBEdoeqcEqmxFLaEwpJnnFW0oRQTyAdDSBw,3038
|
|
113
113
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/SetQuotaForm.js,sha256=Ltr03KlCogkg2NjqWc1GkxJlYPWB2LDLHL04w6eJiRU,5749
|
|
114
114
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/components/index.js,sha256=soELMxc1jf_rL62CJ9wtWGVG13yk1PRY7JqseqnKkqU,297
|
|
@@ -116,7 +116,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domai
|
|
|
116
116
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/search/SearchResultItemLayout.js,sha256=sWIHw6tSCmRa0dYCHTa-fbxnHr9MhyDhMUiGlGV-HWE,6097
|
|
117
117
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/domains/search/index.js,sha256=uajCJbGiHGjRH_YapCGGXATKtAUlXTr0jirx1UfqjCQ,283
|
|
118
118
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/drafts/index.js,sha256=DuPY4wnnwyWF61Oyef1S4SvQrg-DrkZZjjQKlA0DeJo,1159
|
|
119
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/CompareRevisions.js,sha256=
|
|
119
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/CompareRevisions.js,sha256=J-bx3k8PPSAFg669w_rhZVuSFDS2RjcKyyqxZ029FFU,3768
|
|
120
120
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RecordActions.js,sha256=FAjkK7TZ4ebjsQh1ZcFFHkVePP2T8msa1OAIjxktKJo,1935
|
|
121
121
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RecordResourceActions.js,sha256=rrQhCfw1Q8n5SJ9aT-XfZfadEZRK9b1N6hzGkbMAnrU,5528
|
|
122
122
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/administration/records/RemovalReasonsSelect.js,sha256=8y1YRo1ZyqDfeQL4aNbO9ig3689YpzEBse8kLf_qI8o,2192
|
|
@@ -165,7 +165,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/deposit/index.js,sha
|
|
|
165
165
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/RecordsList.js,sha256=PkLpiCl7sNSlQoCo7xxZ_H6QvWqK_TydoseIiKvtuMw,4176
|
|
166
166
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/frontpage/index.js,sha256=X0tsSvLwGPzSFQEf4J1zPZbFRCiYeJq5CnEXr_J5LsU,900
|
|
167
167
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/AccessRequestForm.js,sha256=Lc7Pfy0zvD7KzkN3SqtbZMmPIDbd4vJsMKUmnlg6KV0,8413
|
|
168
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js,sha256=
|
|
168
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagement.js,sha256=YnRSutAGqKCN4pWfUcEELpQBzQEvZz7rKRxhkLjnM3g,5699
|
|
169
169
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/CommunitiesManagementDropdown.js,sha256=qocsinvtbWEqAi8kgqNqx7c0X-_evRmCz2bPTaMQlcI,5953
|
|
170
170
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/EditButton.js,sha256=WJ5lNpbPcd_Kymn_TYklSTfkCJRPhpFeT6cWcR48mSQ,1452
|
|
171
171
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ExportDropdown.js,sha256=wAu7H-CaC8ue_BuYzdf7l6oboArRVoz4lLzR6GDIzlE,1775
|
|
@@ -175,7 +175,7 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordC
|
|
|
175
175
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordManagement.js,sha256=i959fJfHHaBvxYxWZmZMBK-9os7SK_WEA1t1pG524zs,3839
|
|
176
176
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/RecordVersionsList.js,sha256=vECGyt1XnoYRXNU7qGk9GMyZWATIXEFH2xV6ibeRcSc,7071
|
|
177
177
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/access.js,sha256=FVcpKl22zMi1GssbLZAj1pO98c6Em_wg_yBIdfBJor0,938
|
|
178
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=
|
|
178
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/index.js,sha256=FkCbK5FrXlSaD_TDO1eUMDORULhBJccf7FEvhmto-GM,5029
|
|
179
179
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/theme.js,sha256=ZtPRShCangzFhik1OdcpzfTTUXdtogZyTHkF70o68Ls,3141
|
|
180
180
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ManageDefaultBrandingAction/ManageDefaultBrandingAction.js,sha256=qNWpe3KyZ8NDHKocG6XKJzb6w3fIQk3muWN126pUo9w,3529
|
|
181
181
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/PendingCommunitiesModal/PendingCommunitiesModal.js,sha256=G9OwLxKqX73w_7D1k7BHOzMeLmokowMfJQg5Km7J8RA,1797
|
|
@@ -191,15 +191,15 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOp
|
|
|
191
191
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/ShareModal.js,sha256=5Gq2TGsOlkvrwg2fURyv7wOaO2QH22_ZWzrjE2nCDiY,6627
|
|
192
192
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/AccessDropdown.js,sha256=0-Fune91rH-7B57kYvZxNlIemg-xLgxZ5LIbHGJY2PE,3068
|
|
193
193
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/CreateAccessLink.js,sha256=2Lmc9dCjv-83cagHUjdi_SGZkheRTGdywQUZGJxkihg,3368
|
|
194
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchItem.js,sha256=
|
|
195
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchResultContainer.js,sha256=
|
|
194
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchItem.js,sha256=qNHO_hfrUw93sVHlq1IjF-rO_5o2CkjEDecHJ4V1C1Q,5163
|
|
195
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksSearchResultContainer.js,sha256=xr5dfml-v7NU2PzCKIB2_BeYFnFghnsqwKMgLErONQI,6786
|
|
196
196
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessLinks/LinksTab.js,sha256=Ki1HN02B4_xFNy3YdPp3Mz2YLO-LxUhmNqRKKrvtVlQ,2883
|
|
197
197
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessRequests/AccessRequestsTab.js,sha256=tbSeqk7tnApZqLFi7NEegrwAGFKJ0sficF_3DB1Ld-0,8405
|
|
198
198
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/AccessUsersGroups.js,sha256=NPKhCbPLU260vFTayQ0QA6x5JuIcEkLZkvvx8zxy5Iw,6885
|
|
199
199
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/AddUserGroupAccessModal.js,sha256=qpaeKpIX2FUhztkBJtD03WlZ_YOziE0_1CF4cGwMb6Y,5839
|
|
200
200
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/GroupsTab.js,sha256=ZqiuZjjr1SZnTs3cBhX7ZckixAVa2KErEZXKY00A3oE,2358
|
|
201
201
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/PeopleTab.js,sha256=yk5anjYE7CNQ9_io3qIAgE_6oeFYvMn0hmc2McpEF_g,2348
|
|
202
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/UserGroupAccessSearchResultItem.js,sha256=
|
|
202
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/AccessUsersGroups/UserGroupAccessSearchResultItem.js,sha256=PRAouFDdR560x3-l6My5UjxG4L14wT76Xu5teAIRyDY,5749
|
|
203
203
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/landing_page/ShareOptions/api/api.js,sha256=WpRWWdlN_8TqeaMdB7RV2rQJSluetA91qIuJcAddfLY,926
|
|
204
204
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/index.js,sha256=xktX9vqs7xPTrKmGD93T-faSmg07LNsmK3GepA9F6j0,424
|
|
205
205
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/overridableRegistry/mapping.js,sha256=kRIVYx1pkzq6kNry3M6Cn5hykDkNJAaG7sQ0BdwGSj8,434
|
|
@@ -211,12 +211,12 @@ invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/requests/timeline/ov
|
|
|
211
211
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/components.js,sha256=vdkahSNMUmM7p4Vg-IUhMXOeEFmn5r7EcYtgkeM0I0o,7309
|
|
212
212
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/search/index.js,sha256=xvc8dtcPsTABiSpbt8azBVuZJuhXi39Nj4N8mPiFd40,2190
|
|
213
213
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/subcommunity/browse.js,sha256=N6tCJ4_NBlfQSRaiYfp4K-keHCC6xgFWmh1UCgBTyXA,921
|
|
214
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/base.js,sha256=
|
|
215
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/communities.js,sha256=
|
|
214
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/base.js,sha256=ZXwVroxi1LgVYfqbQSJcIRPmBkpp0yh6tlNVVvMlbCI,6833
|
|
215
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/communities.js,sha256=5rW9TvCQ_FiDpDaFIm8ansLvxJLX3V29ABVjz9B0OFQ,2164
|
|
216
216
|
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/requests.js,sha256=ivV3UoOF81SLk8e5M-nduIzikYfHhVMYEflXpUxT-6Q,2746
|
|
217
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads.js,sha256=
|
|
218
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/ComputerTabletUploadsItem.js,sha256=
|
|
219
|
-
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/MobileUploadsItem.js,sha256=
|
|
217
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads.js,sha256=wnQ810fc5uhuW2tQyYcxwlNUiQXqHGgM8Fi0s802Y3g,6793
|
|
218
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/ComputerTabletUploadsItem.js,sha256=XXiBPOtCVz6htS4ita8GlNAePEoKyHQcmEs0yLL5B8A,4914
|
|
219
|
+
invenio_app_rdm/theme/assets/semantic-ui/js/invenio_app_rdm/user_dashboard/uploads_items/MobileUploadsItem.js,sha256=7rwJz0nVwBk4bXOEcWymAZrPyL0pmekBcMeBwNt8OJc,5060
|
|
220
220
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/creatibutors.less,sha256=X47WXPv66x2-T2XghG_ibq5vkX_3gxelK9O0mPxzFO8,1113
|
|
221
221
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/landing_page/licenses.less,sha256=SumVdXtD3IBMvOBUk3JiW-wD4Xy5ASEG1v4wwrsPrBI,1352
|
|
222
222
|
invenio_app_rdm/theme/assets/semantic-ui/less/invenio_app_rdm/previewer/iiif_simple.less,sha256=EH1nrWuEFjfcrXrsbC82pTQqWQ2xAELSTtIkpRpar8I,326
|
|
@@ -396,7 +396,7 @@ invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/searchbar.html,sha25
|
|
|
396
396
|
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/site_footer.html,sha256=O4914C0hNrKtHreAanMbhRUiCfb8aubr6pV2chXB_BQ,821
|
|
397
397
|
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/files_integrity_report/email/files_integrity_report.html,sha256=27L0XZKP5bkOu4tx0QmMMDwIPdtFU_dyVfTfRk9E5QQ,1063
|
|
398
398
|
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.de.html,sha256=gefXaGv-ylkBUbvXXJe5EcTS66qoY0-v0XesXICX5_E,9310
|
|
399
|
-
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html,sha256
|
|
399
|
+
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/search.en.html,sha256=-EZdjhc4JslSq37_QN3KRL01LBwLJENkRtwBJ-PLSzc,8792
|
|
400
400
|
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/statistics.en.html,sha256=gQSJsmsXaLLA8KqEjkyxn7j299Kc0hnjA0sXq0oXeuI,7780
|
|
401
401
|
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/help/versioning.en.html,sha256=Rfd4-1vpU92VxppMTLGlS7uzqXWZUtGBARJTalUFuxg,6066
|
|
402
402
|
invenio_app_rdm/theme/templates/semantic-ui/invenio_app_rdm/macros/records_list.html,sha256=GhHhRCn2lD9zyZ7J7_GiLqTQSHGxpWbiuYdZp8ft0bU,1081
|
|
@@ -513,7 +513,7 @@ invenio_app_rdm/upgrade_scripts/migrate_8_0_to_9_0.py,sha256=BSAaEoWaIvRraxhZ2oV
|
|
|
513
513
|
invenio_app_rdm/upgrade_scripts/migrate_9_0_to_10_0.py,sha256=Ufu5t9iNIsQoG5E0wcFMXxDhhUVTaQXTk-BKKsKVshg,1278
|
|
514
514
|
invenio_app_rdm/users/schemas.py,sha256=4Y6v0Wcg5GJ7XL0EkCukXCfZvLwEgMrMDZJx4hO5-lc,835
|
|
515
515
|
invenio_app_rdm/users_ui/__init__.py,sha256=jeCytb7vc72ifjL0a0sVKjNLgj3WFhweGKKUzi0UYWA,285
|
|
516
|
-
invenio_app_rdm/users_ui/searchapp.py,sha256=
|
|
516
|
+
invenio_app_rdm/users_ui/searchapp.py,sha256=g4Od_HNBIlZg7K5XQ8W96Q3vv2zsGIyr1RueSJ__Eh4,1799
|
|
517
517
|
invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/base.html,sha256=q2aCBTYv1fT8ZJaJM_u3vmIusps9t-QFu7tWXiv8lwg,572
|
|
518
518
|
invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/communities.html,sha256=zPlDthqHiCu9-EZ00cEdhcU2ksq_cHsT1Dic3ui1lMM,809
|
|
519
519
|
invenio_app_rdm/users_ui/templates/semantic-ui/invenio_app_rdm/users/header.html,sha256=AReG3RGwR5XZpqC8VFmdxlWrvTmrCXkSAH--4IdiZJI,2041
|
|
@@ -552,12 +552,12 @@ tests/ui/conftest.py,sha256=id6A9VbwHQtnr8bzQyQXDBDoKUHx8uufuhRVk02mqbk,3015
|
|
|
552
552
|
tests/ui/test_deposits.py,sha256=BehQzo1r3_f4Uc9jcXRddd9bS5GfQ3jRRYOM0AMbi3w,3792
|
|
553
553
|
tests/ui/test_export_formats.py,sha256=pCXJCTp9ykEWb2oB-ynGjQDhFaVsOs31ym0stwfWCaQ,909
|
|
554
554
|
tests/ui/test_filters.py,sha256=Q90wsJffjMVir7wNX8taGf2KZleLtPbXZXHLTkBpzLA,284
|
|
555
|
-
tests/ui/test_signposting_ui.py,sha256=
|
|
555
|
+
tests/ui/test_signposting_ui.py,sha256=KCSjQlMD2VKlwQCyZYDwYjtVNL35x3u-ZC4ceD5y21w,3847
|
|
556
556
|
tests/ui/test_static.py,sha256=vO3OQAOhrQESJifnQfM1pw7JYz3J874O8BAb7Cc_PPA,868
|
|
557
557
|
tests/ui/test_stats_ui.py,sha256=LHa_0hjvpYvliSk_jknWy-90CO82jVElUfK5Ua_ZmfA,3554
|
|
558
|
-
invenio_app_rdm-13.0.0b2.
|
|
559
|
-
invenio_app_rdm-13.0.0b2.
|
|
560
|
-
invenio_app_rdm-13.0.0b2.
|
|
561
|
-
invenio_app_rdm-13.0.0b2.
|
|
562
|
-
invenio_app_rdm-13.0.0b2.
|
|
563
|
-
invenio_app_rdm-13.0.0b2.
|
|
558
|
+
invenio_app_rdm-13.0.0b2.dev5.dist-info/LICENSE,sha256=AZXFHRrZa5s4m9DV7zZr4bPGTMUvcEPCodeV_AmFI8k,1204
|
|
559
|
+
invenio_app_rdm-13.0.0b2.dev5.dist-info/METADATA,sha256=HtLkyVjVqw04UQy-fm3Iv-oleen-GmdrG1lE9_1Ksrk,10970
|
|
560
|
+
invenio_app_rdm-13.0.0b2.dev5.dist-info/WHEEL,sha256=SrDKpSbFN1G94qcmBqS9nyHcDMp9cUS9OC06hC0G3G0,109
|
|
561
|
+
invenio_app_rdm-13.0.0b2.dev5.dist-info/entry_points.txt,sha256=r1vTqYNABeWqRMWitzyR9FnBsAy-KYZKZCp95IziyLY,2070
|
|
562
|
+
invenio_app_rdm-13.0.0b2.dev5.dist-info/top_level.txt,sha256=NqTqrntInEAci7EXcNBvouXFMqwyjVQhEI0b7izYRBY,22
|
|
563
|
+
invenio_app_rdm-13.0.0b2.dev5.dist-info/RECORD,,
|
tests/ui/test_signposting_ui.py
CHANGED
|
@@ -13,9 +13,19 @@ import pytest
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
@pytest.mark.parametrize("http_method", ["head", "get"])
|
|
16
|
+
@pytest.mark.parametrize("level_1_enabled", [True, False])
|
|
16
17
|
def test_link_in_landing_page_response_headers(
|
|
17
|
-
running_app, client, record_with_file, http_method
|
|
18
|
+
running_app, app, client, record_with_file, http_method, level_1_enabled
|
|
18
19
|
):
|
|
20
|
+
previous_config = app.config[
|
|
21
|
+
"APP_RDM_RECORD_LANDING_PAGE_FAIR_SIGNPOSTING_LEVEL_1_ENABLED"
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
if level_1_enabled:
|
|
25
|
+
app.config["APP_RDM_RECORD_LANDING_PAGE_FAIR_SIGNPOSTING_LEVEL_1_ENABLED"] = (
|
|
26
|
+
True
|
|
27
|
+
)
|
|
28
|
+
|
|
19
29
|
client_http_method = getattr(client, http_method)
|
|
20
30
|
res = client_http_method(f"/records/{record_with_file.id}")
|
|
21
31
|
|
|
@@ -29,17 +39,27 @@ def test_link_in_landing_page_response_headers(
|
|
|
29
39
|
# - a cite-as since it has no DOI.
|
|
30
40
|
# - a license.
|
|
31
41
|
|
|
32
|
-
# There should be at least
|
|
33
|
-
assert sum('; rel="
|
|
42
|
+
# There should be at least one link to a linkset (e.g. "application/linkset" and/or "application/linkset+json")
|
|
43
|
+
assert sum('; rel="linkset" ;' in header for header in link_headers) >= 1
|
|
34
44
|
|
|
35
|
-
|
|
36
|
-
|
|
45
|
+
if level_1_enabled:
|
|
46
|
+
# There should be at least 10 export formats supported (e.g. "application/dcat+xml", "application/x-bibtex", etc.).
|
|
47
|
+
assert sum('; rel="describedby" ;' in header for header in link_headers) >= 10
|
|
37
48
|
|
|
38
|
-
|
|
39
|
-
|
|
49
|
+
# There should be at least one file in the record.
|
|
50
|
+
assert sum('; rel="item" ;' in header for header in link_headers) >= 1
|
|
40
51
|
|
|
41
|
-
|
|
42
|
-
|
|
52
|
+
# There should be at least one description of the type of the record (e.g. "https://schema.org/Photograph").
|
|
53
|
+
assert sum('; rel="type"' in header for header in link_headers) >= 1
|
|
54
|
+
else:
|
|
55
|
+
# The only link headers should be linkset headers.
|
|
56
|
+
assert sum('; rel="linkset" ;' in header for header in link_headers) == len(
|
|
57
|
+
link_headers
|
|
58
|
+
)
|
|
59
|
+
|
|
60
|
+
app.config["APP_RDM_RECORD_LANDING_PAGE_FAIR_SIGNPOSTING_LEVEL_1_ENABLED"] = (
|
|
61
|
+
previous_config
|
|
62
|
+
)
|
|
43
63
|
|
|
44
64
|
|
|
45
65
|
@pytest.mark.parametrize("http_method", ["head", "get"])
|
|
File without changes
|
{invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{invenio_app_rdm-13.0.0b2.dev3.dist-info → invenio_app_rdm-13.0.0b2.dev5.dist-info}/top_level.txt
RENAMED
|
File without changes
|