[Fleet] Fix package edit redirect (#174531)

This commit is contained in:
Nicolas Chaulet 2024-01-09 15:05:01 -05:00 committed by GitHub
parent f567016b76
commit 66aa37444a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 4 deletions

View file

@ -238,6 +238,7 @@ export const PackagePoliciesTable: React.FunctionComponent<Props> = ({
return canWriteIntegrationPolicies ? (
<PackagePolicyActionsMenu
agentPolicy={agentPolicy}
from={'fleet-policy-list'}
packagePolicy={packagePolicy}
upgradePackagePolicyHref={`${getHref('upgrade_package_policy', {
policyId: agentPolicy.id,

View file

@ -6,10 +6,11 @@
*/
import React, { memo } from 'react';
import { useRouteMatch } from 'react-router-dom';
import { useLocation, useRouteMatch } from 'react-router-dom';
// TODO: Needs to be moved
import { EditPackagePolicyForm } from '../../../../../fleet/sections/agent_policy/edit_package_policy_page';
import type { EditPackagePolicyFrom } from '../../../../../fleet/sections/agent_policy/create_package_policy_page/types';
import { useGetOnePackagePolicyQuery, useUIExtension } from '../../../../hooks';
export const Policy = memo(() => {
@ -17,6 +18,7 @@ export const Policy = memo(() => {
params: { packagePolicyId },
} = useRouteMatch<{ packagePolicyId: string }>();
const { search } = useLocation();
const { data: packagePolicyData } = useGetOnePackagePolicyQuery(packagePolicyId);
const extensionView = useUIExtension(
@ -24,10 +26,21 @@ export const Policy = memo(() => {
'package-policy-edit'
);
const qs = new URLSearchParams(search);
const fromQs = qs.get('from');
let from: EditPackagePolicyFrom | undefined;
if (fromQs && fromQs === 'fleet-policy-list') {
from = 'edit';
} else {
from = 'package-edit';
}
return (
<EditPackagePolicyForm
packagePolicyId={packagePolicyId}
from="package-edit"
from={from}
forceUpgrade={extensionView?.useLatestPackageVersion}
/>
);

View file

@ -24,12 +24,14 @@ export const PackagePolicyActionsMenu: React.FunctionComponent<{
showAddAgent?: boolean;
defaultIsOpen?: boolean;
upgradePackagePolicyHref?: string;
from?: 'fleet-policy-list' | undefined;
}> = ({
agentPolicy,
packagePolicy,
showAddAgent,
upgradePackagePolicyHref,
defaultIsOpen = false,
from,
}) => {
const [isEnrollmentFlyoutOpen, setIsEnrollmentFlyoutOpen] = useState(false);
const { getHref } = useLink();
@ -80,9 +82,9 @@ export const PackagePolicyActionsMenu: React.FunctionComponent<{
data-test-subj="PackagePolicyActionsEditItem"
disabled={!canWriteIntegrationPolicies || !agentPolicy}
icon="pencil"
href={getHref('integration_policy_edit', {
href={`${getHref('integration_policy_edit', {
packagePolicyId: packagePolicy.id,
})}
})}${from ? `?from=${from}` : ''}`}
key="packagePolicyEdit"
>
<FormattedMessage