From fbb19a95360d3251b2282928e92bd90b5caacc3e Mon Sep 17 00:00:00 2001 From: NarayanBavisetti Date: Tue, 22 Oct 2024 20:04:03 +0530 Subject: [PATCH] chore: filter the deleted issues stats --- apiserver/plane/api/views/cycle.py | 29 ++++++++++++++++++- apiserver/plane/api/views/module.py | 17 ++++++++++- apiserver/plane/app/views/analytic/base.py | 2 ++ apiserver/plane/app/views/cycle/archive.py | 11 +++++++ apiserver/plane/app/views/cycle/base.py | 27 +++++++++++++++-- apiserver/plane/app/views/cycle/issue.py | 5 +++- apiserver/plane/app/views/module/archive.py | 16 ++++++++++ apiserver/plane/app/views/module/base.py | 17 +++++++++++ apiserver/plane/app/views/module/issue.py | 1 + apiserver/plane/app/views/workspace/cycle.py | 6 ++++ apiserver/plane/app/views/workspace/module.py | 6 ++++ .../plane/bgtasks/analytic_plot_export.py | 2 ++ apiserver/plane/utils/analytics_plot.py | 6 ++++ 13 files changed, 140 insertions(+), 5 deletions(-) diff --git a/apiserver/plane/api/views/cycle.py b/apiserver/plane/api/views/cycle.py index 12e4a1b3c3c..a4a61a928b4 100644 --- a/apiserver/plane/api/views/cycle.py +++ b/apiserver/plane/api/views/cycle.py @@ -78,6 +78,7 @@ def get_queryset(self): filter=Q( issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -88,6 +89,7 @@ def get_queryset(self): issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -98,6 +100,7 @@ def get_queryset(self): issue_cycle__issue__state__group="cancelled", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -108,6 +111,7 @@ def get_queryset(self): issue_cycle__issue__state__group="started", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -118,6 +122,7 @@ def get_queryset(self): issue_cycle__issue__state__group="unstarted", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -128,6 +133,7 @@ def get_queryset(self): issue_cycle__issue__state__group="backlog", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -437,6 +443,7 @@ def get_queryset(self): filter=Q( issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -447,6 +454,7 @@ def get_queryset(self): issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -457,6 +465,7 @@ def get_queryset(self): issue_cycle__issue__state__group="cancelled", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -467,6 +476,7 @@ def get_queryset(self): issue_cycle__issue__state__group="started", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -477,6 +487,7 @@ def get_queryset(self): issue_cycle__issue__state__group="unstarted", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -487,6 +498,7 @@ def get_queryset(self): issue_cycle__issue__state__group="backlog", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -500,6 +512,7 @@ def get_queryset(self): issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -510,6 +523,7 @@ def get_queryset(self): issue_cycle__issue__state__group="started", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -615,7 +629,10 @@ def get(self, request, slug, project_id, cycle_id, issue_id=None): # List order_by = request.GET.get("order_by", "created_at") issues = ( - Issue.issue_objects.filter(issue_cycle__cycle_id=cycle_id) + Issue.issue_objects.filter( + issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, + ) .annotate( sub_issues_count=Issue.issue_objects.filter( parent=OuterRef("id") @@ -812,6 +829,7 @@ def post(self, request, slug, project_id, cycle_id): filter=Q( issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -822,6 +840,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -832,6 +851,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__state__group="cancelled", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -842,6 +862,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__state__group="started", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -852,6 +873,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__state__group="unstarted", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -862,6 +884,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__state__group="backlog", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -878,6 +901,7 @@ def post(self, request, slug, project_id, cycle_id): assignee_estimate_data = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -953,6 +977,7 @@ def post(self, request, slug, project_id, cycle_id): label_distribution_data = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -1014,6 +1039,7 @@ def post(self, request, slug, project_id, cycle_id): assignee_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -1092,6 +1118,7 @@ def post(self, request, slug, project_id, cycle_id): label_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) diff --git a/apiserver/plane/api/views/module.py b/apiserver/plane/api/views/module.py index 45407df80fe..c8a8c171699 100644 --- a/apiserver/plane/api/views/module.py +++ b/apiserver/plane/api/views/module.py @@ -71,6 +71,7 @@ def get_queryset(self): filter=Q( issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ), @@ -82,6 +83,7 @@ def get_queryset(self): issue_module__issue__state__group="completed", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -93,6 +95,7 @@ def get_queryset(self): issue_module__issue__state__group="cancelled", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -104,6 +107,7 @@ def get_queryset(self): issue_module__issue__state__group="started", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -115,6 +119,7 @@ def get_queryset(self): issue_module__issue__state__group="unstarted", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -126,6 +131,7 @@ def get_queryset(self): issue_module__issue__state__group="backlog", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -367,7 +373,10 @@ def get_queryset(self): def get(self, request, slug, project_id, module_id): order_by = request.GET.get("order_by", "created_at") issues = ( - Issue.issue_objects.filter(issue_module__module_id=module_id) + Issue.issue_objects.filter( + issue_module__module_id=module_id, + issue_module__deleted_at__isnull=True, + ) .annotate( sub_issues_count=Issue.issue_objects.filter( parent=OuterRef("id") @@ -552,6 +561,7 @@ def get_queryset(self): filter=Q( issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ), @@ -563,6 +573,7 @@ def get_queryset(self): issue_module__issue__state__group="completed", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -574,6 +585,7 @@ def get_queryset(self): issue_module__issue__state__group="cancelled", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -585,6 +597,7 @@ def get_queryset(self): issue_module__issue__state__group="started", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -596,6 +609,7 @@ def get_queryset(self): issue_module__issue__state__group="unstarted", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -607,6 +621,7 @@ def get_queryset(self): issue_module__issue__state__group="backlog", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) diff --git a/apiserver/plane/app/views/analytic/base.py b/apiserver/plane/app/views/analytic/base.py index 47b4c1c7007..9f1f1a48d54 100644 --- a/apiserver/plane/app/views/analytic/base.py +++ b/apiserver/plane/app/views/analytic/base.py @@ -171,6 +171,7 @@ def get(self, request, slug): workspace__slug=slug, **filters, issue_cycle__cycle_id__isnull=False, + issue_cycle__deleted_at__isnull=True, ) .distinct("issue_cycle__cycle_id") .order_by("issue_cycle__cycle_id") @@ -189,6 +190,7 @@ def get(self, request, slug): workspace__slug=slug, **filters, issue_module__module_id__isnull=False, + issue_module__deleted_at__isnull=True, ) .distinct("issue_module__module_id") .order_by("issue_module__module_id") diff --git a/apiserver/plane/app/views/cycle/archive.py b/apiserver/plane/app/views/cycle/archive.py index 4a0dd14a47c..d75e60e9182 100644 --- a/apiserver/plane/app/views/cycle/archive.py +++ b/apiserver/plane/app/views/cycle/archive.py @@ -48,6 +48,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="backlog", issue_cycle__cycle_id=OuterRef("pk"), + issue_cycle__deleted_at__isnull=True, ) .values("issue_cycle__cycle_id") .annotate( @@ -62,6 +63,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="unstarted", issue_cycle__cycle_id=OuterRef("pk"), + issue_cycle__deleted_at__isnull=True, ) .values("issue_cycle__cycle_id") .annotate( @@ -76,6 +78,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="started", issue_cycle__cycle_id=OuterRef("pk"), + issue_cycle__deleted_at__isnull=True, ) .values("issue_cycle__cycle_id") .annotate( @@ -90,6 +93,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="cancelled", issue_cycle__cycle_id=OuterRef("pk"), + issue_cycle__deleted_at__isnull=True, ) .values("issue_cycle__cycle_id") .annotate( @@ -104,6 +108,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="completed", issue_cycle__cycle_id=OuterRef("pk"), + issue_cycle__deleted_at__isnull=True, ) .values("issue_cycle__cycle_id") .annotate( @@ -117,6 +122,7 @@ def get_queryset(self): Issue.issue_objects.filter( estimate_point__estimate__type="points", issue_cycle__cycle_id=OuterRef("pk"), + issue_cycle__deleted_at__isnull=True, ) .values("issue_cycle__cycle_id") .annotate( @@ -348,6 +354,7 @@ def get(self, request, slug, project_id, pk=None): project_id=self.kwargs.get("project_id"), parent__isnull=False, issue_cycle__cycle_id=pk, + issue_cycle__deleted_at__isnull=True, ) .order_by() .annotate(count=Func(F("id"), function="Count")) @@ -402,6 +409,7 @@ def get(self, request, slug, project_id, pk=None): assignee_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=pk, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -459,6 +467,7 @@ def get(self, request, slug, project_id, pk=None): label_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=pk, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -514,6 +523,7 @@ def get(self, request, slug, project_id, pk=None): assignee_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=pk, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -584,6 +594,7 @@ def get(self, request, slug, project_id, pk=None): label_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=pk, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) diff --git a/apiserver/plane/app/views/cycle/base.py b/apiserver/plane/app/views/cycle/base.py index a6199476604..00644001022 100644 --- a/apiserver/plane/app/views/cycle/base.py +++ b/apiserver/plane/app/views/cycle/base.py @@ -102,7 +102,7 @@ def get_queryset(self): filter=Q( issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, - issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -114,7 +114,7 @@ def get_queryset(self): issue_cycle__issue__state__group="completed", issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, - issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -398,6 +398,7 @@ def retrieve(self, request, slug, project_id, pk): project_id=self.kwargs.get("project_id"), parent__isnull=False, issue_cycle__cycle_id=pk, + issue_cycle__deleted_at__isnull=True, ) .order_by() .annotate(count=Func(F("id"), function="Count")) @@ -601,6 +602,7 @@ def post(self, request, slug, project_id, cycle_id): filter=Q( issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -612,6 +614,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -623,6 +626,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -634,6 +638,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -645,6 +650,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -656,6 +662,7 @@ def post(self, request, slug, project_id, cycle_id): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -672,6 +679,7 @@ def post(self, request, slug, project_id, cycle_id): assignee_estimate_data = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -746,6 +754,7 @@ def post(self, request, slug, project_id, cycle_id): label_distribution_data = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -807,6 +816,7 @@ def post(self, request, slug, project_id, cycle_id): assignee_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -884,6 +894,7 @@ def post(self, request, slug, project_id, cycle_id): label_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -1074,6 +1085,7 @@ def get(self, request, slug, project_id, cycle_id): Issue.issue_objects.filter( estimate_point__estimate__type="points", issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -1126,6 +1138,7 @@ def get(self, request, slug, project_id, cycle_id): backlog_issues = Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, state__group="backlog", @@ -1133,6 +1146,7 @@ def get(self, request, slug, project_id, cycle_id): unstarted_issues = Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, state__group="unstarted", @@ -1140,6 +1154,7 @@ def get(self, request, slug, project_id, cycle_id): started_issues = Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, state__group="started", @@ -1147,6 +1162,7 @@ def get(self, request, slug, project_id, cycle_id): cancelled_issues = Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, state__group="cancelled", @@ -1154,6 +1170,7 @@ def get(self, request, slug, project_id, cycle_id): completed_issues = Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, state__group="completed", @@ -1161,6 +1178,7 @@ def get(self, request, slug, project_id, cycle_id): total_issues = Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ).count() @@ -1220,6 +1238,7 @@ def get(self, request, slug, project_id, cycle_id): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -1247,6 +1266,7 @@ def get(self, request, slug, project_id, cycle_id): assignee_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -1304,6 +1324,7 @@ def get(self, request, slug, project_id, cycle_id): label_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -1350,6 +1371,7 @@ def get(self, request, slug, project_id, cycle_id): assignee_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, project_id=project_id, workspace__slug=slug, ) @@ -1408,6 +1430,7 @@ def get(self, request, slug, project_id, cycle_id): label_distribution = ( Issue.issue_objects.filter( issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, project_id=project_id, workspace__slug=slug, ) diff --git a/apiserver/plane/app/views/cycle/issue.py b/apiserver/plane/app/views/cycle/issue.py index 89ce50219f4..de11a0b707a 100644 --- a/apiserver/plane/app/views/cycle/issue.py +++ b/apiserver/plane/app/views/cycle/issue.py @@ -90,7 +90,10 @@ def list(self, request, slug, project_id, cycle_id): order_by_param = request.GET.get("order_by", "created_at") filters = issue_filters(request.query_params, "GET") issue_queryset = ( - Issue.issue_objects.filter(issue_cycle__cycle_id=cycle_id) + Issue.issue_objects.filter( + issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, + ) .filter(project_id=project_id) .filter(workspace__slug=slug) .filter(**filters) diff --git a/apiserver/plane/app/views/module/archive.py b/apiserver/plane/app/views/module/archive.py index f9d23cb4e56..997cac4cd28 100644 --- a/apiserver/plane/app/views/module/archive.py +++ b/apiserver/plane/app/views/module/archive.py @@ -57,6 +57,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="cancelled", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -66,6 +67,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="completed", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -75,6 +77,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="started", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -84,6 +87,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="unstarted", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -93,6 +97,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="backlog", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -101,6 +106,7 @@ def get_queryset(self): total_issues = ( Issue.issue_objects.filter( issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -111,6 +117,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="completed", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -125,6 +132,7 @@ def get_queryset(self): Issue.issue_objects.filter( estimate_point__estimate__type="points", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -139,6 +147,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="backlog", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -153,6 +162,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="unstarted", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -167,6 +177,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="started", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -181,6 +192,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="cancelled", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -337,6 +349,7 @@ def get(self, request, slug, project_id, pk=None): project_id=self.kwargs.get("project_id"), parent__isnull=False, issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, ) .order_by() .annotate(count=Func(F("id"), function="Count")) @@ -360,6 +373,7 @@ def get(self, request, slug, project_id, pk=None): assignee_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -478,6 +492,7 @@ def get(self, request, slug, project_id, pk=None): assignee_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -547,6 +562,7 @@ def get(self, request, slug, project_id, pk=None): label_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) diff --git a/apiserver/plane/app/views/module/base.py b/apiserver/plane/app/views/module/base.py index ba1ae840fbe..d53f13190b4 100644 --- a/apiserver/plane/app/views/module/base.py +++ b/apiserver/plane/app/views/module/base.py @@ -85,6 +85,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="cancelled", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -94,6 +95,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="completed", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -103,6 +105,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="started", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -112,6 +115,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="unstarted", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -121,6 +125,7 @@ def get_queryset(self): Issue.issue_objects.filter( state__group="backlog", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -129,6 +134,7 @@ def get_queryset(self): total_issues = ( Issue.issue_objects.filter( issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate(cnt=Count("pk")) @@ -139,6 +145,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="completed", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -153,6 +160,7 @@ def get_queryset(self): Issue.issue_objects.filter( estimate_point__estimate__type="points", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -167,6 +175,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="backlog", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -181,6 +190,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="unstarted", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -195,6 +205,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="started", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -209,6 +220,7 @@ def get_queryset(self): estimate_point__estimate__type="points", state__group="cancelled", issue_module__module_id=OuterRef("pk"), + issue_module__deleted_at__isnull=True, ) .values("issue_module__module_id") .annotate( @@ -448,6 +460,7 @@ def retrieve(self, request, slug, project_id, pk): project_id=self.kwargs.get("project_id"), parent__isnull=False, issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, ) .order_by() .annotate(count=Func(F("id"), function="Count")) @@ -477,6 +490,7 @@ def retrieve(self, request, slug, project_id, pk): assignee_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -542,6 +556,7 @@ def retrieve(self, request, slug, project_id, pk): label_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -593,6 +608,7 @@ def retrieve(self, request, slug, project_id, pk): assignee_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) @@ -662,6 +678,7 @@ def retrieve(self, request, slug, project_id, pk): label_distribution = ( Issue.issue_objects.filter( issue_module__module_id=pk, + issue_module__deleted_at__isnull=True, workspace__slug=slug, project_id=project_id, ) diff --git a/apiserver/plane/app/views/module/issue.py b/apiserver/plane/app/views/module/issue.py index 8b4b685e8b8..565196b3689 100644 --- a/apiserver/plane/app/views/module/issue.py +++ b/apiserver/plane/app/views/module/issue.py @@ -58,6 +58,7 @@ def get_queryset(self): project_id=self.kwargs.get("project_id"), workspace__slug=self.kwargs.get("slug"), issue_module__module_id=self.kwargs.get("module_id"), + issue_module__deleted_at__isnull=True, ) .select_related("workspace", "project", "state", "parent") .prefetch_related("assignees", "labels", "issue_module__module") diff --git a/apiserver/plane/app/views/workspace/cycle.py b/apiserver/plane/app/views/workspace/cycle.py index 5dfbafc41ed..6040827ad6a 100644 --- a/apiserver/plane/app/views/workspace/cycle.py +++ b/apiserver/plane/app/views/workspace/cycle.py @@ -33,6 +33,7 @@ def get(self, request, slug): filter=Q( issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -44,6 +45,7 @@ def get(self, request, slug): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -55,6 +57,7 @@ def get(self, request, slug): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -66,6 +69,7 @@ def get(self, request, slug): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -77,6 +81,7 @@ def get(self, request, slug): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) @@ -88,6 +93,7 @@ def get(self, request, slug): issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__issue__deleted_at__isnull=True, + issue_cycle__deleted_at__isnull=True, ), ) ) diff --git a/apiserver/plane/app/views/workspace/module.py b/apiserver/plane/app/views/workspace/module.py index 7671692ec77..4b1e0904a86 100644 --- a/apiserver/plane/app/views/workspace/module.py +++ b/apiserver/plane/app/views/workspace/module.py @@ -45,6 +45,7 @@ def get(self, request, slug): filter=Q( issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ), @@ -56,6 +57,7 @@ def get(self, request, slug): issue_module__issue__state__group="completed", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -67,6 +69,7 @@ def get(self, request, slug): issue_module__issue__state__group="cancelled", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -78,6 +81,7 @@ def get(self, request, slug): issue_module__issue__state__group="started", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -89,6 +93,7 @@ def get(self, request, slug): issue_module__issue__state__group="unstarted", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) @@ -100,6 +105,7 @@ def get(self, request, slug): issue_module__issue__state__group="backlog", issue_module__issue__archived_at__isnull=True, issue_module__issue__is_draft=False, + issue_module__deleted_at__isnull=True, ), distinct=True, ) diff --git a/apiserver/plane/bgtasks/analytic_plot_export.py b/apiserver/plane/bgtasks/analytic_plot_export.py index a4341841e1c..4f599494152 100644 --- a/apiserver/plane/bgtasks/analytic_plot_export.py +++ b/apiserver/plane/bgtasks/analytic_plot_export.py @@ -158,6 +158,7 @@ def get_module_details(slug, filters): workspace__slug=slug, **filters, issue_module__module_id__isnull=False, + issue_module__deleted_at__isnull=True, ) .distinct("issue_module__module_id") .order_by("issue_module__module_id") @@ -174,6 +175,7 @@ def get_cycle_details(slug, filters): workspace__slug=slug, **filters, issue_cycle__cycle_id__isnull=False, + issue_cycle__deleted_at__isnull=True, ) .distinct("issue_cycle__cycle_id") .order_by("issue_cycle__cycle_id") diff --git a/apiserver/plane/utils/analytics_plot.py b/apiserver/plane/utils/analytics_plot.py index ea6e51e761f..2bf2210ec7a 100644 --- a/apiserver/plane/utils/analytics_plot.py +++ b/apiserver/plane/utils/analytics_plot.py @@ -142,6 +142,7 @@ def burndown_plot( workspace__slug=slug, project_id=project_id, issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, estimate_point__isnull=False, ).values_list("estimate_point__value", flat=True) @@ -153,6 +154,7 @@ def burndown_plot( workspace__slug=slug, project_id=project_id, issue_module__module_id=module_id, + issue_module__deleted_at__isnull=True, estimate_point__isnull=False, ).values_list("estimate_point__value", flat=True) @@ -179,6 +181,7 @@ def burndown_plot( workspace__slug=slug, project_id=project_id, issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, estimate_point__isnull=False, ) .annotate(date=TruncDate("completed_at")) @@ -192,6 +195,7 @@ def burndown_plot( workspace__slug=slug, project_id=project_id, issue_cycle__cycle_id=cycle_id, + issue_cycle__deleted_at__isnull=True, ) .annotate(date=TruncDate("completed_at")) .values("date") @@ -217,6 +221,7 @@ def burndown_plot( workspace__slug=slug, project_id=project_id, issue_module__module_id=module_id, + issue_module__deleted_at__isnull=True, estimate_point__isnull=False, ) .annotate(date=TruncDate("completed_at")) @@ -230,6 +235,7 @@ def burndown_plot( workspace__slug=slug, project_id=project_id, issue_module__module_id=module_id, + issue_module__deleted_at__isnull=True, ) .annotate(date=TruncDate("completed_at")) .values("date")