From b433145f80f41e6ae901dee493816d119e269c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Fri, 3 Jan 2025 16:22:18 +0100 Subject: [PATCH] Fix access to workflow version (#9335) Fix access to workflow version --- ...rsionsWorkflowVersionSingleRecordAction.ts | 39 +++++++++++++++---- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts index e3d21342d..61bb53994 100644 --- a/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts +++ b/packages/twenty-front/src/modules/action-menu/actions/record-actions/single-record/workflow-version-actions/hooks/useSeeVersionsWorkflowVersionSingleRecordAction.ts @@ -1,7 +1,11 @@ import { useSelectedRecordIdOrThrow } from '@/action-menu/actions/record-actions/single-record/hooks/useSelectedRecordIdOrThrow'; -import { useSeeVersionsWorkflowSingleRecordAction } from '@/action-menu/actions/record-actions/single-record/workflow-actions/hooks/useSeeVersionsWorkflowSingleRecordAction'; import { ActionHookWithoutObjectMetadataItem } from '@/action-menu/actions/types/ActionHook'; +import { CoreObjectNamePlural } from '@/object-metadata/types/CoreObjectNamePlural'; import { recordStoreFamilyState } from '@/object-record/record-store/states/recordStoreFamilyState'; +import { ViewFilterOperand } from '@/views/types/ViewFilterOperand'; +import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion'; +import qs from 'qs'; +import { useNavigate } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; import { isDefined } from 'twenty-ui'; @@ -11,13 +15,34 @@ export const useSeeVersionsWorkflowVersionSingleRecordAction: ActionHookWithoutO const workflowVersion = useRecoilValue(recordStoreFamilyState(recordId)); - if (!isDefined(workflowVersion)) { - throw new Error('Workflow version not found'); - } + const workflowWithCurrentVersion = useWorkflowWithCurrentVersion( + workflowVersion?.workflowId, + ); - // TODO: Add recordIds to the hook - const { shouldBeRegistered, onClick } = - useSeeVersionsWorkflowSingleRecordAction(); + const navigate = useNavigate(); + + const shouldBeRegistered = isDefined(workflowWithCurrentVersion); + + const onClick = () => { + if (!shouldBeRegistered) { + return; + } + + const filterQueryParams = { + filter: { + workflow: { + [ViewFilterOperand.Is]: { + selectedRecordIds: [workflowWithCurrentVersion.id], + }, + }, + }, + }; + const filterLinkHref = `/objects/${CoreObjectNamePlural.WorkflowVersion}?${qs.stringify( + filterQueryParams, + )}`; + + navigate(filterLinkHref); + }; return { shouldBeRegistered,