Allow deleting access review campaigns in any status
Drop the backend status gate on campaign delete and show delete in the console whenever the user has delete permission, regardless of whether the campaign is draft, in progress, or completed. Signed-off-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Bryan FRIMIN <bryan@frimin.fr>
This commit is contained in:
@@ -132,10 +132,6 @@ export default function AccessReviewCampaignsTab({ queryRef }: Props) {
|
||||
deleteCampaignMutation,
|
||||
);
|
||||
|
||||
// Only DRAFT, CANCELLED, and COMPLETED campaigns can be deleted (enforced by the backend).
|
||||
const isDeletableStatus = (status: string) =>
|
||||
status === "DRAFT" || status === "CANCELLED" || status === "COMPLETED";
|
||||
|
||||
const handleDelete = (campaignId: string, campaignName: string) => {
|
||||
confirm(
|
||||
() => {
|
||||
@@ -182,9 +178,7 @@ export default function AccessReviewCampaignsTab({ queryRef }: Props) {
|
||||
);
|
||||
};
|
||||
|
||||
const hasActions = accessReviewCampaigns.edges.some(
|
||||
edge => edge.node.canDelete && isDeletableStatus(edge.node.status),
|
||||
);
|
||||
const hasActions = accessReviewCampaigns.edges.some(edge => edge.node.canDelete);
|
||||
|
||||
return (
|
||||
<div className="space-y-4">
|
||||
@@ -215,8 +209,7 @@ export default function AccessReviewCampaignsTab({ queryRef }: Props) {
|
||||
</Thead>
|
||||
<Tbody>
|
||||
{accessReviewCampaigns.edges.map((edge) => {
|
||||
const canDeleteRow
|
||||
= edge.node.canDelete && isDeletableStatus(edge.node.status);
|
||||
const canDeleteRow = edge.node.canDelete;
|
||||
return (
|
||||
<Tr
|
||||
key={edge.node.id}
|
||||
|
||||
@@ -216,9 +216,7 @@ export default function CampaignDetailPage({ queryRef }: Props) {
|
||||
const isInProgress = campaign.status === "IN_PROGRESS";
|
||||
const isDraft = campaign.status === "DRAFT";
|
||||
const isPendingActions = campaign.status === "PENDING_ACTIONS";
|
||||
const isCancelled = campaign.status === "CANCELLED";
|
||||
const isCompleted = campaign.status === "COMPLETED";
|
||||
const canDelete = campaign.canDelete && (isDraft || isCancelled || isCompleted);
|
||||
const canDelete = campaign.canDelete;
|
||||
|
||||
const campaignIdRef = useRef(campaign.id);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user