diff --git a/src/pages/approval-workflows/[id]/clone.tsx b/src/pages/approval-workflows/[id]/clone.tsx index d8a363ef..e580d50c 100644 --- a/src/pages/approval-workflows/[id]/clone.tsx +++ b/src/pages/approval-workflows/[id]/clone.tsx @@ -123,6 +123,14 @@ export default function Home({ user, workflow, userEntitiesWithLabel, entityUnav return; } + for (const step of cloneWorkflow.steps) { + if (step.assignees.every(x => !x)) { + toast.warning("There is at least one empty step in the workflow."); + setIsLoading(false); + return; + } + } + const filteredWorkflow: ApprovalWorkflow = { ...cloneWorkflow, steps: cloneWorkflow.steps.map(step => ({ diff --git a/src/pages/approval-workflows/[id]/edit.tsx b/src/pages/approval-workflows/[id]/edit.tsx index 656c0326..e256a0e8 100644 --- a/src/pages/approval-workflows/[id]/edit.tsx +++ b/src/pages/approval-workflows/[id]/edit.tsx @@ -94,6 +94,14 @@ export default function Home({ user, workflow, workflowEntityApprovers }: Props) return; } + for (const step of updatedWorkflow.steps) { + if (step.assignees.every(x => !x)) { + toast.warning("There is at least one empty step in the workflow."); + setIsLoading(false); + return; + } + } + const filteredWorkflow: ApprovalWorkflow = { ...updatedWorkflow, steps: updatedWorkflow.steps.map(step => ({ @@ -174,7 +182,7 @@ export default function Home({ user, workflow, workflowEntityApprovers }: Props) exit={{ opacity: 0, x: 60 }} transition={{ duration: 0.20 }} > - {updatedWorkflow && + {/* {updatedWorkflow && - } + } */} diff --git a/src/pages/approval-workflows/create.tsx b/src/pages/approval-workflows/create.tsx index 0527b651..cf12d216 100644 --- a/src/pages/approval-workflows/create.tsx +++ b/src/pages/approval-workflows/create.tsx @@ -124,6 +124,16 @@ export default function Home({ user, allConfiguredWorkflows, userEntitiesWithLab return; } + for (const workflow of workflows) { + for (const step of workflow.steps) { + if (step.assignees.every(x => !x)) { + toast.warning("There are empty steps in at least one of the configured workflows."); + setIsLoading(false); + return; + } + } + } + const filteredWorkflows: ApprovalWorkflow[] = workflows.map(workflow => ({ ...workflow, steps: workflow.steps.map(step => ({