From 45b5f6d1980aee443ddee38e688339082d1b016b Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Tue, 19 Sep 2023 16:54:21 +0530 Subject: [PATCH] fix: added draft filter --- apiserver/plane/api/views/cycle.py | 53 +++++++++++++++++++++++--- apiserver/plane/api/views/module.py | 39 +++++++++++++++++-- apiserver/plane/api/views/workspace.py | 16 ++++++-- 3 files changed, 97 insertions(+), 11 deletions(-) diff --git a/apiserver/plane/api/views/cycle.py b/apiserver/plane/api/views/cycle.py index f93b6673c..32eb941ca 100644 --- a/apiserver/plane/api/views/cycle.py +++ b/apiserver/plane/api/views/cycle.py @@ -101,13 +101,22 @@ class CycleViewSet(BaseViewSet): .select_related("workspace") .select_related("owned_by") .annotate(is_favorite=Exists(subquery)) - .annotate(total_issues=Count("issue_cycle")) + .annotate( + total_issues=Count( + "issue_cycle", + filter=Q( + issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, + ), + ) + ) .annotate( completed_issues=Count( "issue_cycle__issue__state__group", filter=Q( issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -117,6 +126,7 @@ class CycleViewSet(BaseViewSet): filter=Q( issue_cycle__issue__state__group="cancelled", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -126,6 +136,7 @@ class CycleViewSet(BaseViewSet): filter=Q( issue_cycle__issue__state__group="started", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -135,6 +146,7 @@ class CycleViewSet(BaseViewSet): filter=Q( issue_cycle__issue__state__group="unstarted", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -144,6 +156,7 @@ class CycleViewSet(BaseViewSet): filter=Q( issue_cycle__issue__state__group="backlog", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -154,6 +167,7 @@ class CycleViewSet(BaseViewSet): filter=Q( issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -163,6 +177,7 @@ class CycleViewSet(BaseViewSet): filter=Q( issue_cycle__issue__state__group="started", issue_cycle__issue__archived_at__isnull=True, + issue_cycle__issue__is_draft=False, ), ) ) @@ -216,13 +231,19 @@ class CycleViewSet(BaseViewSet): .annotate(assignee_id=F("assignees__id")) .annotate(avatar=F("assignees__avatar")) .values("display_name", "assignee_id", "avatar") - .annotate(total_issues=Count("assignee_id")) + .annotate( + total_issues=Count( + "assignee_id", + filter=Q(archived_at__isnull=True, is_draft=False), + ), + ) .annotate( completed_issues=Count( "assignee_id", filter=Q( completed_at__isnull=False, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -232,6 +253,7 @@ class CycleViewSet(BaseViewSet): filter=Q( completed_at__isnull=True, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -248,13 +270,19 @@ class CycleViewSet(BaseViewSet): .annotate(color=F("labels__color")) .annotate(label_id=F("labels__id")) .values("label_name", "color", "label_id") - .annotate(total_issues=Count("label_id")) + .annotate( + total_issues=Count( + "label_id", + filter=Q(archived_at__isnull=True, is_draft=False), + ) + ) .annotate( completed_issues=Count( "label_id", filter=Q( completed_at__isnull=False, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -264,6 +292,7 @@ class CycleViewSet(BaseViewSet): filter=Q( completed_at__isnull=True, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -417,13 +446,19 @@ class CycleViewSet(BaseViewSet): .values( "first_name", "last_name", "assignee_id", "avatar", "display_name" ) - .annotate(total_issues=Count("assignee_id")) + .annotate( + total_issues=Count( + "assignee_id", + filter=Q(archived_at__isnull=True, is_draft=False), + ), + ) .annotate( completed_issues=Count( "assignee_id", filter=Q( completed_at__isnull=False, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -433,6 +468,7 @@ class CycleViewSet(BaseViewSet): filter=Q( completed_at__isnull=True, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -450,13 +486,19 @@ class CycleViewSet(BaseViewSet): .annotate(color=F("labels__color")) .annotate(label_id=F("labels__id")) .values("label_name", "color", "label_id") - .annotate(total_issues=Count("label_id")) + .annotate( + total_issues=Count( + "label_id", + filter=Q(archived_at__isnull=True, is_draft=False), + ), + ) .annotate( completed_issues=Count( "label_id", filter=Q( completed_at__isnull=False, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -466,6 +508,7 @@ class CycleViewSet(BaseViewSet): filter=Q( completed_at__isnull=True, archived_at__isnull=True, + is_draft=False, ), ) ) diff --git a/apiserver/plane/api/views/module.py b/apiserver/plane/api/views/module.py index 516b7acb7..f10e21bc0 100644 --- a/apiserver/plane/api/views/module.py +++ b/apiserver/plane/api/views/module.py @@ -78,13 +78,22 @@ class ModuleViewSet(BaseViewSet): queryset=ModuleLink.objects.select_related("module", "created_by"), ) ) - .annotate(total_issues=Count("issue_module")) + .annotate( + total_issues=Count( + "issue_module", + filter=Q( + issue_module__issue__archived_at__isnull=True, + issue_module__issue__is_draft=False, + ), + ), + ) .annotate( completed_issues=Count( "issue_module__issue__state__group", filter=Q( issue_module__issue__state__group="completed", issue_module__issue__archived_at__isnull=True, + issue_module__issue__is_draft=False, ), ) ) @@ -94,6 +103,7 @@ class ModuleViewSet(BaseViewSet): filter=Q( issue_module__issue__state__group="cancelled", issue_module__issue__archived_at__isnull=True, + issue_module__issue__is_draft=False, ), ) ) @@ -103,6 +113,7 @@ class ModuleViewSet(BaseViewSet): filter=Q( issue_module__issue__state__group="started", issue_module__issue__archived_at__isnull=True, + issue_module__issue__is_draft=False, ), ) ) @@ -112,6 +123,7 @@ class ModuleViewSet(BaseViewSet): filter=Q( issue_module__issue__state__group="unstarted", issue_module__issue__archived_at__isnull=True, + issue_module__issue__is_draft=False, ), ) ) @@ -121,6 +133,7 @@ class ModuleViewSet(BaseViewSet): filter=Q( issue_module__issue__state__group="backlog", issue_module__issue__archived_at__isnull=True, + issue_module__issue__is_draft=False, ), ) ) @@ -196,13 +209,22 @@ class ModuleViewSet(BaseViewSet): .values( "first_name", "last_name", "assignee_id", "avatar", "display_name" ) - .annotate(total_issues=Count("assignee_id")) + .annotate( + total_issues=Count( + "assignee_id", + filter=Q( + archived_at__isnull=True, + is_draft=False, + ), + ) + ) .annotate( completed_issues=Count( "assignee_id", filter=Q( completed_at__isnull=False, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -212,6 +234,7 @@ class ModuleViewSet(BaseViewSet): filter=Q( completed_at__isnull=True, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -228,13 +251,22 @@ class ModuleViewSet(BaseViewSet): .annotate(color=F("labels__color")) .annotate(label_id=F("labels__id")) .values("label_name", "color", "label_id") - .annotate(total_issues=Count("label_id")) + .annotate( + total_issues=Count( + "label_id", + filter=Q( + archived_at__isnull=True, + is_draft=False, + ), + ), + ) .annotate( completed_issues=Count( "label_id", filter=Q( completed_at__isnull=False, archived_at__isnull=True, + is_draft=False, ), ) ) @@ -244,6 +276,7 @@ class ModuleViewSet(BaseViewSet): filter=Q( completed_at__isnull=True, archived_at__isnull=True, + is_draft=False, ), ) ) diff --git a/apiserver/plane/api/views/workspace.py b/apiserver/plane/api/views/workspace.py index 702546d74..97e991c86 100644 --- a/apiserver/plane/api/views/workspace.py +++ b/apiserver/plane/api/views/workspace.py @@ -1239,13 +1239,21 @@ class WorkspaceUserProfileEndpoint(BaseAPIView): .annotate( created_issues=Count( "project_issue", - filter=Q(project_issue__created_by_id=user_id, project_issue__archived_at__isnull=True), + filter=Q( + project_issue__created_by_id=user_id, + project_issue__archived_at__isnull=True, + project_issue__is_draft=False, + ), ) ) .annotate( assigned_issues=Count( "project_issue", - filter=Q(project_issue__assignees__in=[user_id], project_issue__archived_at__isnull=True), + filter=Q( + project_issue__assignees__in=[user_id], + project_issue__archived_at__isnull=True, + project_issue__is_draft=False, + ), ) ) .annotate( @@ -1254,7 +1262,8 @@ class WorkspaceUserProfileEndpoint(BaseAPIView): filter=Q( project_issue__completed_at__isnull=False, project_issue__assignees__in=[user_id], - project_issue__archived_at__isnull=True + project_issue__archived_at__isnull=True, + project_issue__is_draft=False, ), ) ) @@ -1269,6 +1278,7 @@ class WorkspaceUserProfileEndpoint(BaseAPIView): ], project_issue__assignees__in=[user_id], project_issue__archived_at__isnull=True, + project_issue__is_draft=False, ), ) )