From bd355de7b8d373a1ca7757bd1b97063236fd9b73 Mon Sep 17 00:00:00 2001 From: Dheeraj Kumar Ketireddy Date: Mon, 9 Jun 2025 00:00:03 +0530 Subject: [PATCH] [WEB-4106] FIX: Add fallback query for individual page updates #3352 --- apiserver/plane/ee/documents/page.py | 24 +++++++++++++++++++---- apiserver/plane/ee/documents/teamspace.py | 7 +++++-- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/apiserver/plane/ee/documents/page.py b/apiserver/plane/ee/documents/page.py index 8281c7b630..c450fca5c0 100644 --- a/apiserver/plane/ee/documents/page.py +++ b/apiserver/plane/ee/documents/page.py @@ -86,12 +86,28 @@ class PageDocument(BaseDocument): if instance.projects.count() > 0: project_member_ids = [] for project in instance.projects.all(): - project_member_ids.extend( - [member.member_id for member in project.project_members] - ) + if hasattr(project, "project_members"): + project_member_ids.extend( + [member.member_id for member in project.project_members] + ) + else: + project_member_ids.extend( + [ + member.member_id + for member in project.project_projectmember.all() + ] + ) return project_member_ids else: - return [member.member_id for member in instance.workspace.workspace_members] + if hasattr(instance.workspace, "workspace_members"): + return [ + member.member_id for member in instance.workspace.workspace_members + ] + else: + return [ + member.member_id + for member in instance.workspace.workspace_member.all() + ] def prepare_is_deleted(self, instance): """ diff --git a/apiserver/plane/ee/documents/teamspace.py b/apiserver/plane/ee/documents/teamspace.py index 36069820fc..75455950e5 100644 --- a/apiserver/plane/ee/documents/teamspace.py +++ b/apiserver/plane/ee/documents/teamspace.py @@ -51,7 +51,7 @@ class TeamspaceDocument(BaseDocument): def get_instances_from_related(self, related_instance): if isinstance(related_instance, TeamspaceMember): - qs = related_instance.team_space.all() + qs = self.django.model.objects.filter(id=related_instance.team_space.id) else: qs = self.django.model.objects.none() return self.apply_related_to_queryset(qs) @@ -66,7 +66,10 @@ class TeamspaceDocument(BaseDocument): """ Data preparation method for active_project_member_user_ids field """ - return instance.active_member_user_ids + if hasattr(instance, "active_member_user_ids"): + return instance.active_member_user_ids + else: + return [member.member_id for member in instance.members.all()] def prepare_is_deleted(self, instance): """