Merge pull request #1950 from automatisch/AUT-1074

fix: fix error for only Create role when publishing flow
This commit is contained in:
Ali BARIN
2024-07-11 11:02:08 +02:00
committed by GitHub

View File

@@ -14,6 +14,7 @@ import { EditorProvider } from 'contexts/Editor';
import EditableTypography from 'components/EditableTypography'; import EditableTypography from 'components/EditableTypography';
import Container from 'components/Container'; import Container from 'components/Container';
import Editor from 'components/Editor'; import Editor from 'components/Editor';
import Can from 'components/Can';
import useFormatMessage from 'hooks/useFormatMessage'; import useFormatMessage from 'hooks/useFormatMessage';
import { UPDATE_FLOW_STATUS } from 'graphql/mutations/update-flow-status'; import { UPDATE_FLOW_STATUS } from 'graphql/mutations/update-flow-status';
import { UPDATE_FLOW } from 'graphql/mutations/update-flow'; import { UPDATE_FLOW } from 'graphql/mutations/update-flow';
@@ -36,23 +37,18 @@ export default function EditorLayout() {
const onFlowNameUpdate = React.useCallback( const onFlowNameUpdate = React.useCallback(
async (name) => { async (name) => {
await updateFlow({ try {
variables: { await updateFlow({
input: { variables: {
id: flowId, input: {
name, id: flowId,
name,
},
}, },
}, });
optimisticResponse: {
updateFlow: {
__typename: 'Flow',
id: flowId,
name,
},
},
});
await queryClient.invalidateQueries({ queryKey: ['flows', flowId] }); await queryClient.invalidateQueries({ queryKey: ['flows', flowId] });
} catch (e) {}
}, },
[flowId, queryClient], [flowId, queryClient],
); );
@@ -67,13 +63,6 @@ export default function EditorLayout() {
active, active,
}, },
}, },
optimisticResponse: {
updateFlowStatus: {
__typename: 'Flow',
id: flowId,
active,
},
},
}); });
await queryClient.invalidateQueries({ queryKey: ['flows', flowId] }); await queryClient.invalidateQueries({ queryKey: ['flows', flowId] });
@@ -123,18 +112,23 @@ export default function EditorLayout() {
</Box> </Box>
<Box pr={1}> <Box pr={1}>
<Button <Can I="publish" a="Flow" passThrough>
variant="contained" {(allowed) => (
size="small" <Button
onClick={() => onFlowStatusUpdate(!flow.active)} disabled={!allowed || !flow}
data-test={ variant="contained"
flow?.active ? 'unpublish-flow-button' : 'publish-flow-button' size="small"
} onClick={() => onFlowStatusUpdate(!flow.active)}
> data-test={
{flow?.active flow?.active ? 'unpublish-flow-button' : 'publish-flow-button'
? formatMessage('flowEditor.unpublish') }
: formatMessage('flowEditor.publish')} >
</Button> {flow?.active
? formatMessage('flowEditor.unpublish')
: formatMessage('flowEditor.publish')}
</Button>
)}
</Can>
</Box> </Box>
</TopBar> </TopBar>