From 0b6c0f3de964949dae48198648043285b09e9654 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 18 Dec 2025 16:24:06 +0100 Subject: [PATCH] Added source version description Links copied version to original with author information. Author is not passed on version as it might require admin privileges. --- .../tools/push_to_project/models/integrate.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/client/ayon_core/tools/push_to_project/models/integrate.py b/client/ayon_core/tools/push_to_project/models/integrate.py index 6d6dd35a9d..51865e6af0 100644 --- a/client/ayon_core/tools/push_to_project/models/integrate.py +++ b/client/ayon_core/tools/push_to_project/models/integrate.py @@ -1045,10 +1045,15 @@ class ProjectPushItemProcess: copied_tags = self._get_transferable_tags(src_version_entity) copied_status = self._get_transferable_status(src_version_entity) + description = self._create_src_version_description( + self._item.src_project_name, + src_version_entity + ) + dst_attrib["description"] = dst_attrib.get("description", "") + description + version_entity = new_version_entity( dst_version, product_id, - author=src_version_entity["author"], status=copied_status, tags=copied_tags, task_id=self._task_info.get("id"), @@ -1372,6 +1377,22 @@ class ProjectPushItemProcess: return copied_status["name"] return None + def _create_src_version_description( + self, + src_project_name: str, + src_version_entity: dict[str, Any] + ) -> str: + """Creates description text about source version.""" + src_version_id = src_version_entity["id"] + src_author = src_version_entity["author"] + version_url = f"{ayon_api.get_base_url()}/projects/{src_project_name}/products?project={src_project_name}&type=version&id={src_version_id}" # noqa: E501 + description = ( + f"Version copied from from {version_url} " + f"created by '{src_author}', " + ) + + return description + class IntegrateModel: def __init__(self, controller):