[WEB-3235]fix: transfer issues button mutation (#6549)
* fix: pending issues mutation * fix: transfer issues count
This commit is contained in:
parent
ce57c1423c
commit
8efe692c80
4 changed files with 14 additions and 8 deletions
|
|
@ -134,11 +134,11 @@ class CycleViewSet(BaseViewSet):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
.annotate(
|
.annotate(
|
||||||
pending_issues=Count(
|
cancelled_issues=Count(
|
||||||
"issue_cycle__issue__id",
|
"issue_cycle__issue__id",
|
||||||
distinct=True,
|
distinct=True,
|
||||||
filter=Q(
|
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__archived_at__isnull=True,
|
||||||
issue_cycle__issue__is_draft=False,
|
issue_cycle__issue__is_draft=False,
|
||||||
issue_cycle__deleted_at__isnull=True,
|
issue_cycle__deleted_at__isnull=True,
|
||||||
|
|
@ -227,7 +227,7 @@ class CycleViewSet(BaseViewSet):
|
||||||
"is_favorite",
|
"is_favorite",
|
||||||
"total_issues",
|
"total_issues",
|
||||||
"completed_issues",
|
"completed_issues",
|
||||||
"pending_issues",
|
"cancelled_issues",
|
||||||
"assignee_ids",
|
"assignee_ids",
|
||||||
"status",
|
"status",
|
||||||
"version",
|
"version",
|
||||||
|
|
@ -259,7 +259,7 @@ class CycleViewSet(BaseViewSet):
|
||||||
# meta fields
|
# meta fields
|
||||||
"is_favorite",
|
"is_favorite",
|
||||||
"total_issues",
|
"total_issues",
|
||||||
"pending_issues",
|
"cancelled_issues",
|
||||||
"completed_issues",
|
"completed_issues",
|
||||||
"assignee_ids",
|
"assignee_ids",
|
||||||
"status",
|
"status",
|
||||||
|
|
|
||||||
1
packages/types/src/cycle/cycle.d.ts
vendored
1
packages/types/src/cycle/cycle.d.ts
vendored
|
|
@ -104,7 +104,6 @@ export interface ICycle extends TProgressSnapshot {
|
||||||
project_detail: IProjectDetails;
|
project_detail: IProjectDetails;
|
||||||
progress: any[];
|
progress: any[];
|
||||||
version: number;
|
version: number;
|
||||||
pending_issues: number;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CycleIssueResponse {
|
export interface CycleIssueResponse {
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,11 @@ export const CycleListItemAction: FC<Props> = observer((props) => {
|
||||||
|
|
||||||
const showIssueCount = useMemo(() => cycleStatus === "draft" || cycleStatus === "upcoming", [cycleStatus]);
|
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(
|
const isEditingAllowed = allowPermissions(
|
||||||
[EUserPermissions.ADMIN, EUserPermissions.MEMBER],
|
[EUserPermissions.ADMIN, EUserPermissions.MEMBER],
|
||||||
|
|
@ -258,7 +262,7 @@ export const CycleListItemAction: FC<Props> = observer((props) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<TransferIcon className="fill-custom-primary-200 w-4" />
|
<TransferIcon className="fill-custom-primary-200 w-4" />
|
||||||
<span>Transfer {cycleDetails.pending_issues} work items</span>
|
<span>Transfer {transferableIssuesCount} work items</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ export const CycleQuickActions: React.FC<Props> = observer((props) => {
|
||||||
const isArchived = !!cycleDetails?.archived_at;
|
const isArchived = !!cycleDetails?.archived_at;
|
||||||
const isCompleted = cycleDetails?.status?.toLowerCase() === "completed";
|
const isCompleted = cycleDetails?.status?.toLowerCase() === "completed";
|
||||||
const isCurrentCycle = cycleDetails?.status?.toLowerCase() === "current";
|
const isCurrentCycle = cycleDetails?.status?.toLowerCase() === "current";
|
||||||
|
const transferrableIssuesCount = cycleDetails
|
||||||
|
? cycleDetails.total_issues - (cycleDetails.cancelled_issues + cycleDetails.completed_issues)
|
||||||
|
: 0;
|
||||||
// auth
|
// auth
|
||||||
const isEditingAllowed = allowPermissions(
|
const isEditingAllowed = allowPermissions(
|
||||||
[EUserPermissions.ADMIN, EUserPermissions.MEMBER],
|
[EUserPermissions.ADMIN, EUserPermissions.MEMBER],
|
||||||
|
|
@ -178,7 +181,7 @@ export const CycleQuickActions: React.FC<Props> = observer((props) => {
|
||||||
cycleId={cycleId}
|
cycleId={cycleId}
|
||||||
projectId={projectId}
|
projectId={projectId}
|
||||||
workspaceSlug={workspaceSlug}
|
workspaceSlug={workspaceSlug}
|
||||||
transferrableIssuesCount={cycleDetails.pending_issues}
|
transferrableIssuesCount={transferrableIssuesCount}
|
||||||
cycleName={cycleDetails.name}
|
cycleName={cycleDetails.name}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue