From d8b70b8255829cb5cf010874a09f631cc182db81 Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Wed, 5 Feb 2025 14:57:42 +0530 Subject: [PATCH 1/2] fix: pending issues mutation --- apiserver/plane/app/views/cycle/base.py | 8 ++++---- packages/types/src/cycle/cycle.d.ts | 1 - .../components/cycles/list/cycle-list-item-action.tsx | 8 ++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/apiserver/plane/app/views/cycle/base.py b/apiserver/plane/app/views/cycle/base.py index c6682c15c39..84a161619b5 100644 --- a/apiserver/plane/app/views/cycle/base.py +++ b/apiserver/plane/app/views/cycle/base.py @@ -134,11 +134,11 @@ def get_queryset(self): ) ) .annotate( - pending_issues=Count( + cancelled_issues=Count( "issue_cycle__issue__id", distinct=True, filter=Q( - issue_cycle__issue__state__group__in=["backlog", "unstarted", "started"], + issue_cycle__issue__state__group__in=["cancelled"], issue_cycle__issue__archived_at__isnull=True, issue_cycle__issue__is_draft=False, issue_cycle__deleted_at__isnull=True, @@ -227,7 +227,7 @@ def list(self, request, slug, project_id): "is_favorite", "total_issues", "completed_issues", - "pending_issues", + "cancelled_issues", "assignee_ids", "status", "version", @@ -259,7 +259,7 @@ def list(self, request, slug, project_id): # meta fields "is_favorite", "total_issues", - "pending_issues", + "cancelled_issues", "completed_issues", "assignee_ids", "status", diff --git a/packages/types/src/cycle/cycle.d.ts b/packages/types/src/cycle/cycle.d.ts index e325b81ad6b..638d974e641 100644 --- a/packages/types/src/cycle/cycle.d.ts +++ b/packages/types/src/cycle/cycle.d.ts @@ -104,7 +104,6 @@ export interface ICycle extends TProgressSnapshot { project_detail: IProjectDetails; progress: any[]; version: number; - pending_issues: number; } export interface CycleIssueResponse { diff --git a/web/core/components/cycles/list/cycle-list-item-action.tsx b/web/core/components/cycles/list/cycle-list-item-action.tsx index 8f546d23896..1956fc0b594 100644 --- a/web/core/components/cycles/list/cycle-list-item-action.tsx +++ b/web/core/components/cycles/list/cycle-list-item-action.tsx @@ -85,7 +85,11 @@ export const CycleListItemAction: FC = observer((props) => { const showIssueCount = useMemo(() => cycleStatus === "draft" || cycleStatus === "upcoming", [cycleStatus]); - const showTransferIssues = routerProjectId && cycleDetails.pending_issues > 0 && cycleStatus === "completed"; + const transferableIssuesCount = cycleDetails + ? cycleDetails.total_issues - (cycleDetails.cancelled_issues + cycleDetails.completed_issues) + : 0; + + const showTransferIssues = routerProjectId && transferableIssuesCount > 0 && cycleStatus === "completed"; const isEditingAllowed = allowPermissions( [EUserPermissions.ADMIN, EUserPermissions.MEMBER], @@ -258,7 +262,7 @@ export const CycleListItemAction: FC = observer((props) => { }} > - Transfer {cycleDetails.pending_issues} issues + Transfer {transferableIssuesCount} issues )} From c9b3730201349ba6b0bd307201df5189d69a9f50 Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Wed, 5 Feb 2025 15:03:45 +0530 Subject: [PATCH 2/2] fix: transfer issues count --- web/core/components/cycles/quick-actions.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web/core/components/cycles/quick-actions.tsx b/web/core/components/cycles/quick-actions.tsx index 0b8e0794c10..b47d78de029 100644 --- a/web/core/components/cycles/quick-actions.tsx +++ b/web/core/components/cycles/quick-actions.tsx @@ -42,6 +42,9 @@ export const CycleQuickActions: React.FC = observer((props) => { const isArchived = !!cycleDetails?.archived_at; const isCompleted = cycleDetails?.status?.toLowerCase() === "completed"; const isCurrentCycle = cycleDetails?.status?.toLowerCase() === "current"; + const transferrableIssuesCount = cycleDetails + ? cycleDetails.total_issues - (cycleDetails.cancelled_issues + cycleDetails.completed_issues) + : 0; // auth const isEditingAllowed = allowPermissions( [EUserPermissions.ADMIN, EUserPermissions.MEMBER], @@ -176,7 +179,7 @@ export const CycleQuickActions: React.FC = observer((props) => { cycleId={cycleId} projectId={projectId} workspaceSlug={workspaceSlug} - transferrableIssuesCount={cycleDetails.pending_issues} + transferrableIssuesCount={transferrableIssuesCount} cycleName={cycleDetails.name} /> )}