From 7387ea4a4781bee046cacff2e1f45b1f0cb6d88f Mon Sep 17 00:00:00 2001 From: Andre Turner Date: Tue, 4 Jun 2024 16:52:34 -0500 Subject: [PATCH 1/2] created TransitionProject gql and updated project workflow to use new mutation --- .../Projects/Overview/ProjectOverview.graphql | 1 + .../Projects/Update/ProjectWorkflowDialog.tsx | 25 ++++++++----------- .../Projects/Update/TransitionProject.graphql | 6 +++++ 3 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 src/scenes/Projects/Update/TransitionProject.graphql diff --git a/src/scenes/Projects/Overview/ProjectOverview.graphql b/src/scenes/Projects/Overview/ProjectOverview.graphql index 2a5653cb34..73e31ba28b 100644 --- a/src/scenes/Projects/Overview/ProjectOverview.graphql +++ b/src/scenes/Projects/Overview/ProjectOverview.graphql @@ -53,6 +53,7 @@ fragment ProjectOverview on Project { canEdit value transitions { + key to label type diff --git a/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx b/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx index 4722533749..8498e71d3c 100644 --- a/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx +++ b/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx @@ -22,7 +22,7 @@ import { import { AutocompleteField } from '../../../components/form/AutocompleteField'; import { Link } from '../../../components/Routing'; import { ProjectOverviewFragment } from '../Overview/ProjectOverview.graphql'; -import { UpdateProjectDocument } from './UpdateProject.graphql'; +import { TransitionProjectDocument } from './TransitionProject.graphql'; type UpdateProjectDialogProps = Except< DialogFormProps, @@ -41,7 +41,7 @@ export const ProjectWorkflowDialog = ({ project, ...props }: UpdateProjectDialogProps) => { - const [updateProject] = useMutation(UpdateProjectDocument); + const [transitionProject] = useMutation(TransitionProjectDocument); const { classes } = useStyles(); const { canBypassTransitions, transitions } = project.step; @@ -75,16 +75,13 @@ export const ProjectWorkflowDialog = ({ return; } - await updateProject({ + await transitionProject({ variables: { input: { - project: { - id: project.id, - // remove index suffix used to make submit action unique - step: - (submitAction?.split(':')[0] as ProjectStep | null) ?? step, - }, - changeset: project.changeset?.id, + project: project.id, + // remove index suffix used to make submit action unique + transition: submitAction ?? step, + //changeset: project.changeset?.id, }, }, }); @@ -96,7 +93,7 @@ export const ProjectWorkflowDialog = ({ > - {transitions.map((transition, i) => ( + {transitions.map((transition) => ( {transition.label} diff --git a/src/scenes/Projects/Update/TransitionProject.graphql b/src/scenes/Projects/Update/TransitionProject.graphql new file mode 100644 index 0000000000..5ff2178bff --- /dev/null +++ b/src/scenes/Projects/Update/TransitionProject.graphql @@ -0,0 +1,6 @@ +mutation transitionProject($input: ExecuteProjectTransitionInput!) { + transitionProject(input: $input) { + ...ProjectOverview + ...RecalculateChangesetDiff + } +} From 58838293b6589a146a46ddcd4000c4615cb2f339 Mon Sep 17 00:00:00 2001 From: Carson Full Date: Thu, 13 Jun 2024 14:22:17 -0500 Subject: [PATCH 2/2] Fix bypass execution call --- .../Projects/Update/ProjectWorkflowDialog.tsx | 13 ++++++++----- .../Projects/Update/TransitionProject.graphql | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx b/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx index 8498e71d3c..3096d9f147 100644 --- a/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx +++ b/src/scenes/Projects/Update/ProjectWorkflowDialog.tsx @@ -68,10 +68,13 @@ export const ProjectWorkflowDialog = ({ submitLabel={canBypassTransitions ? undefined : false} sendIfClean changesetAware - onSubmit={async ({ submitAction, project: submittedProjectFields }) => { + onSubmit={async ({ + submitAction: transitionKey, + project: submittedProjectFields, + }) => { const step = submittedProjectFields?.step; // If clicking save for step override, but there is no step, do nothing. - if (!submitAction && !step) { + if (!transitionKey && !step) { return; } @@ -79,9 +82,9 @@ export const ProjectWorkflowDialog = ({ variables: { input: { project: project.id, - // remove index suffix used to make submit action unique - transition: submitAction ?? step, - //changeset: project.changeset?.id, + ...(transitionKey + ? { transition: transitionKey } + : { bypassTo: step }), }, }, }); diff --git a/src/scenes/Projects/Update/TransitionProject.graphql b/src/scenes/Projects/Update/TransitionProject.graphql index 5ff2178bff..5cf76d803a 100644 --- a/src/scenes/Projects/Update/TransitionProject.graphql +++ b/src/scenes/Projects/Update/TransitionProject.graphql @@ -1,4 +1,4 @@ -mutation transitionProject($input: ExecuteProjectTransitionInput!) { +mutation TransitionProject($input: ExecuteProjectTransitionInput!) { transitionProject(input: $input) { ...ProjectOverview ...RecalculateChangesetDiff