From 1291db7d2c7a29b6f10141d516a36c3fef1d61f2 Mon Sep 17 00:00:00 2001 From: Mirek Simek Date: Tue, 2 Jul 2024 15:33:33 +0200 Subject: [PATCH] Added parent record to draft file profile and using it for html links --- build-tests/thesis.yaml | 2 ++ .../datatypes/components/draft_file_profile.py | 3 ++- oarepo_model_builder_drafts_files/profiles/draft_files.py | 2 ++ setup.cfg | 2 +- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/build-tests/thesis.yaml b/build-tests/thesis.yaml index db021f1..eab11ae 100644 --- a/build-tests/thesis.yaml +++ b/build-tests/thesis.yaml @@ -12,6 +12,8 @@ record: presets: ['authenticated'] use: - invenio + resource-config: + base-html-url: /docs/ files: properties: diff --git a/oarepo_model_builder_drafts_files/datatypes/components/draft_file_profile.py b/oarepo_model_builder_drafts_files/datatypes/components/draft_file_profile.py index fe914ed..ad03550 100644 --- a/oarepo_model_builder_drafts_files/datatypes/components/draft_file_profile.py +++ b/oarepo_model_builder_drafts_files/datatypes/components/draft_file_profile.py @@ -89,7 +89,7 @@ def process_links(self, datatype, section: Section, **kwargs): ] ui_prefix = url_prefix2link( - datatype.definition["resource-config"]["base-html-url"] + datatype.parent_record.definition["resource-config"]["base-html-url"] ) ui_prefix = f"{ui_prefix}{{id}}/" @@ -129,6 +129,7 @@ def before_model_prepare(self, datatype, *, context, **kwargs): draft_record_datatype: DataType = context["draft_record"] datatype.draft_record = draft_record_datatype + datatype.parent_record = context["parent_record"] set_default(datatype, "json-schema-settings", {}).setdefault("skip", True) set_default(datatype, "record-dumper", {}).setdefault("skip", True) diff --git a/oarepo_model_builder_drafts_files/profiles/draft_files.py b/oarepo_model_builder_drafts_files/profiles/draft_files.py index 87b58f2..7ad3bb3 100644 --- a/oarepo_model_builder_drafts_files/profiles/draft_files.py +++ b/oarepo_model_builder_drafts_files/profiles/draft_files.py @@ -25,6 +25,7 @@ def build( # allocated) draft_record = model.get_schema_section("draft", model_path[:-1] + ["draft"]) file_record = model.get_schema_section("files", model_path[:-1] + ["files"]) + parent_record = model.get_schema_section("record", model_path[:-1]) draft_file_profile = dict_get(model.schema, model_path) draft_file_profile.setdefault("type", "draft_files") @@ -40,6 +41,7 @@ def build( context={ "draft_record": draft_record, "file_record": file_record, + "parent_record": parent_record, "profile": "draft_files", "profile_module": "files", "switch_profile": True, diff --git a/setup.cfg b/setup.cfg index 319ea34..a63c71e 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = oarepo-model-builder-drafts-files -version = 4.0.12 +version = 4.0.13 description = authors = Ronald Krist readme = README.md