Skip to content

Commit

Permalink
ui: Require records community
Browse files Browse the repository at this point in the history
  • Loading branch information
Samk13 authored and Sam Arbid committed Dec 15, 2023
1 parent 020a2f4 commit 3a39d71
Showing 1 changed file with 26 additions and 17 deletions.
43 changes: 26 additions & 17 deletions invenio_app_rdm/records_ui/views/deposits.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# Copyright (C) 2019-2021 CERN.
# Copyright (C) 2019-2021 Northwestern University.
# Copyright (C) 2021 TU Wien.
# Copyright (C) 2022 KTH Royal Institute of Technology
# Copyright (C) 2022-2023 KTH Royal Institute of Technology.
# Copyright (C) 2023 Graz University of Technology.
#
# Invenio App RDM is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -368,6 +368,17 @@ def new_record():
@pass_draft_community
def deposit_create(community=None):
"""Create a new deposit."""
permissions = get_record_permissions(
[
"manage_files",
"delete_draft",
"manage_record_access",
]
)
# Can't check "publish" permission as draft is not a record with an id yet.
permissions["can_publish_with_community_only"] = current_app.config.get(
"RDM_RECORD_ALWAYS_IN_COMMUNITY", False
)
return render_template(
current_app.config["APP_RDM_DEPOSIT_FORM_TEMPLATE"],
forms_config=get_form_config(createUrl="/api/records", quota=get_quota()),
Expand All @@ -376,13 +387,7 @@ def deposit_create(community=None):
files=dict(default_preview=None, entries=[], links={}),
preselectedCommunity=community,
files_locked=False,
permissions=get_record_permissions(
[
"manage_files",
"delete_draft",
"manage_record_access",
]
),
permissions=permissions,
)


Expand All @@ -394,7 +399,18 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
files_dict = None if draft_files is None else draft_files.to_dict()
ui_serializer = UIJSONSerializer()
record = ui_serializer.dump_obj(draft.to_dict())

permissions = draft.has_permissions_to(
[
"new_version",
"delete_draft",
"manage_files",
"manage_record_access",
"publish",
]
)
permissions["can_publish_always_in_community"] = current_app.config.get(
"RDM_RECORD_ALWAYS_IN_COMMUNITY", False
)
return render_template(
current_app.config["APP_RDM_DEPOSIT_FORM_TEMPLATE"],
forms_config=get_form_config(
Expand All @@ -406,12 +422,5 @@ def deposit_edit(pid_value, draft=None, draft_files=None, files_locked=True):
files=files_dict,
searchbar_config=dict(searchUrl=get_search_url()),
files_locked=files_locked,
permissions=draft.has_permissions_to(
[
"new_version",
"delete_draft",
"manage_files",
"manage_record_access",
]
),
permissions=permissions,
)

0 comments on commit 3a39d71

Please sign in to comment.