diff --git a/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.controller.js b/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.controller.js index 54f87db8f5d9..ecbb7dd22fbf 100644 --- a/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.controller.js +++ b/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.controller.js @@ -1,5 +1,4 @@ import find from 'lodash/find'; - import { ALERT_ID, DASHBOARD_STATE_NAME, @@ -24,6 +23,7 @@ export default class AgoraIpV6OrderController { atInternet, User, coreConfig, + ovhManagerRegionService, ) { this.$q = $q; this.$state = $state; @@ -40,6 +40,7 @@ export default class AgoraIpV6OrderController { this.loading = {}; this.ADDITIONAL_IP = ADDITIONAL_IP; this.type = IP_TYPE_TITLE.IPv6; + this.ovhManagerRegionService = ovhManagerRegionService; } $onInit() { @@ -148,7 +149,9 @@ export default class AgoraIpV6OrderController { this.catalogByLocation = this.ipv6RegionsWithPlan.map( ({ regionId, plan }) => { - const countryCode = this.constructor.getMacroRegion(regionId); + const countryCode = this.ovhManagerRegionService.getMacroRegionLowercase( + regionId, + ); const nbIpv6onRegion = this.regionState[regionId] ? this.regionState[regionId] : 0; @@ -165,31 +168,6 @@ export default class AgoraIpV6OrderController { ); } - static getMacroRegion(region) { - const localZonePattern = /^lz/i; - const devZonePattern = /^1-/i; - - let macro; - const local = region - .split('-') - ?.slice(2) - ?.join('-'); - - if (devZonePattern.test(local)) { - macro = [local]; - } else { - const nbOfSlice = localZonePattern.test(local) ? 3 : 2; - macro = /[\D]{2,3}/.exec( - region - .split('-') - ?.slice(nbOfSlice) - ?.join('-'), - ); - } - - return (macro && macro[0]) || ''; - } - redirectToPaymentPage() { this.trackSelectRegion( this.model.selectedPlan.location.replaceAll(' ', '-'), diff --git a/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.module.js b/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.module.js index d4574f3317d1..7b8522b511f7 100644 --- a/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.module.js +++ b/packages/manager/apps/dedicated/client/app/components/ip/agoraOrder/ipv6/ipv6.module.js @@ -7,6 +7,7 @@ import ngOvhUtils from '@ovh-ux/ng-ovh-utils'; import '@ovh-ux/ui-kit'; import '@uirouter/angularjs'; +import { region } from '@ovh-ux/manager-components'; import routing from './ipv6.routes'; import component from './ipv6.component'; @@ -25,6 +26,7 @@ angular 'pascalprecht.translate', 'ui.router', 'ovhManagerCatalogPrice', + region, ]) .config(routing) .component('agoraIpV6Order', component) diff --git a/packages/manager/apps/pci-block-storage/src/api/data/volume.ts b/packages/manager/apps/pci-block-storage/src/api/data/volume.ts index 7d2446165f29..58406f5c13f3 100644 --- a/packages/manager/apps/pci-block-storage/src/api/data/volume.ts +++ b/packages/manager/apps/pci-block-storage/src/api/data/volume.ts @@ -194,12 +194,14 @@ export const addVolume = async ({ volumeCapacity, volumeType, }: AddVolumeProps): Promise => { - const { data } = await v6.post(`/cloud/project/${projectId}/volume`, { - name, - region: regionName, - size: volumeCapacity, - type: volumeType, - }); + const { data } = await v6.post( + `/cloud/project/${projectId}/region/${regionName}/volume`, + { + name, + size: volumeCapacity, + type: volumeType, + }, + ); return data; }; diff --git a/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.spec.tsx b/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.spec.tsx index 8dfb2652ea76..ea9bf3981621 100644 --- a/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.spec.tsx +++ b/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.spec.tsx @@ -1,7 +1,7 @@ import { renderHook, waitFor } from '@testing-library/react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { describe, it, vi } from 'vitest'; -import { getInstances, TInstance } from '@ovh-ux/manager-pci-common'; +import { getInstancesByRegion, TInstance } from '@ovh-ux/manager-pci-common'; import { useInstance, useInstances } from '@/api/hooks/useInstance'; import { getInstance, Instance } from '@/api/data/instance'; @@ -10,7 +10,7 @@ vi.mock('@/api/data/instance', () => ({ })); vi.mock('@ovh-ux/manager-pci-common', () => ({ - getInstances: vi.fn(), + getInstancesByRegion: vi.fn(), })); const queryClient = new QueryClient(); @@ -86,14 +86,14 @@ describe('useInstance', () => { describe('useInstances', () => { it('returns instances data when region is provided', async () => { - vi.mocked(getInstances).mockResolvedValue(mockInstances); + vi.mocked(getInstancesByRegion).mockResolvedValue(mockInstances); const { result } = renderHook(() => useInstances('123', 'region1'), { wrapper, }); await waitFor(() => { - expect(getInstances).toHaveBeenCalledWith('123', 'region1'); + expect(getInstancesByRegion).toHaveBeenCalledWith('123', 'region1'); expect(result.current.data).toEqual(mockInstances); }); }); @@ -101,7 +101,7 @@ describe('useInstances', () => { it('does not fetch data when region is not provided', () => { const { result } = renderHook(() => useInstances('123', null), { wrapper }); - expect(getInstances).not.toHaveBeenCalled(); + expect(getInstancesByRegion).not.toHaveBeenCalled(); expect(result.current.isPending).toBe(true); }); }); diff --git a/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.ts b/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.ts index ac6047fe2ee7..0e2709f8c3f3 100644 --- a/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.ts +++ b/packages/manager/apps/pci-block-storage/src/api/hooks/useInstance.ts @@ -1,5 +1,5 @@ import { useQuery } from '@tanstack/react-query'; -import { getInstances } from '@ovh-ux/manager-pci-common'; +import { getInstancesByRegion } from '@ovh-ux/manager-pci-common'; import { getInstance, Instance } from '@/api/data/instance'; export const getInstanceQueryKey = (projectId: string, instanceId: string) => [ @@ -26,6 +26,6 @@ export const useInstances = (projectId: string, region: string) => useQuery({ queryKey: getInstancesQueryKey(projectId, region), queryFn: (): Promise[]> => - getInstances(projectId, region) as Promise[]>, + getInstancesByRegion(projectId, region) as Promise[]>, enabled: !!region, }); diff --git a/packages/manager/apps/pci-block-storage/src/main.tsx b/packages/manager/apps/pci-block-storage/src/main.tsx index 07e91d83b992..7955902d9ea4 100644 --- a/packages/manager/apps/pci-block-storage/src/main.tsx +++ b/packages/manager/apps/pci-block-storage/src/main.tsx @@ -7,6 +7,7 @@ import { } from '@ovh-ux/manager-react-shell-client'; import App from './App'; +import '@ovh-ux/manager-pci-common/dist/style.css'; import './index.css'; import '@/vite-hmr.ts'; diff --git a/packages/manager/apps/pci-gateway/src/api/hooks/data.ts b/packages/manager/apps/pci-gateway/src/api/hooks/data.ts index f886d116cadf..01212696691b 100644 --- a/packages/manager/apps/pci-gateway/src/api/hooks/data.ts +++ b/packages/manager/apps/pci-gateway/src/api/hooks/data.ts @@ -1,25 +1,12 @@ import { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { getMacroRegion } from '@ovh-ux/manager-react-components'; import { TCatalog } from '@ovh-ux/manager-pci-common'; import { useCloudCatalog } from '@/api/hooks/cloud-catalog'; import { useAvailableGatewayPlans } from '@/api/hooks/gateway-plans'; import { TAvailableGatewayPlansResponse } from '@/api/data/gateway-plans'; import { useInactiveRegions } from '@/api/hooks/useInactiveRegions'; -const getMacroRegion = (region: string) => { - const regionSubStrings = region.split('-'); - - const macroRegionMap = [ - null, - regionSubStrings[0].split(/(\d)/)[0], - regionSubStrings[0], - regionSubStrings[2], - regionSubStrings[2] === 'LZ' ? regionSubStrings[3] : regionSubStrings[2], - regionSubStrings[3], - ]; - return macroRegionMap[regionSubStrings.length] || 'Unknown_Macro_Region'; -}; - const getLitteralProductSize = (productName: string): string => { const [, size] = /-([^-]+)$/.exec(productName) || []; return size || ''; diff --git a/packages/manager/apps/pci-kubernetes/src/components/network/GatewayModeSelector.component.tsx b/packages/manager/apps/pci-kubernetes/src/components/network/GatewayModeSelector.component.tsx index 97b2eb7b9ae5..c7c9799df6eb 100644 --- a/packages/manager/apps/pci-kubernetes/src/components/network/GatewayModeSelector.component.tsx +++ b/packages/manager/apps/pci-kubernetes/src/components/network/GatewayModeSelector.component.tsx @@ -78,7 +78,7 @@ export const GatewayModeSelector = ({ > {tAdd('kubernetes_network_form_gateway_mode_auto')} @@ -92,7 +92,7 @@ export const GatewayModeSelector = ({ > {tAdd('kubernetes_network_form_gateway_mode_custom')} diff --git a/packages/manager/apps/pci-kubernetes/src/components/network/GatewaySelector.component.tsx b/packages/manager/apps/pci-kubernetes/src/components/network/GatewaySelector.component.tsx index 2bbab817385a..328d9adb7098 100644 --- a/packages/manager/apps/pci-kubernetes/src/components/network/GatewaySelector.component.tsx +++ b/packages/manager/apps/pci-kubernetes/src/components/network/GatewaySelector.component.tsx @@ -93,7 +93,7 @@ export const GatewaySelector = ({ > {tAdd('kubernetes_network_form_gateway_public')} @@ -103,7 +103,7 @@ export const GatewaySelector = ({ {!gateway.isEnabled && ( @@ -117,7 +117,7 @@ export const GatewaySelector = ({ > {tAdd('kubernetes_network_form_gateway_private')} diff --git a/packages/manager/apps/pci-kubernetes/src/main.tsx b/packages/manager/apps/pci-kubernetes/src/main.tsx index e0a1999a6ef9..34242e2940c9 100644 --- a/packages/manager/apps/pci-kubernetes/src/main.tsx +++ b/packages/manager/apps/pci-kubernetes/src/main.tsx @@ -7,6 +7,7 @@ import { } from '@ovh-ux/manager-react-shell-client'; import App from './App'; +import '@ovh-ux/manager-pci-common/dist/style.css'; import './index.css'; import '@/vite-hmr.ts'; diff --git a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/NodePools.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/NodePools.page.tsx index 65bb15fb057d..27cb9cd35c59 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/NodePools.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/NodePools.page.tsx @@ -65,7 +65,7 @@ export default function NodePoolsPage() {
{ @@ -77,7 +77,7 @@ export default function NodePoolsPage() { { @@ -87,7 +87,7 @@ export default function NodePoolsPage() { diff --git a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/Scale.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/Scale.page.tsx index 01c7312803ce..97d19d0b71c8 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/Scale.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/Scale.page.tsx @@ -89,7 +89,6 @@ export default function ScalePage(): JSX.Element { trackClick(`details::nodepools::scale::cancel`); goBack(); }} - color={ODS_THEME_COLOR_INTENT.text} > {!isPoolsPending && !isScaling ? ( diff --git a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/__snapshots__/NodePools.spec.tsx.snap b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/__snapshots__/NodePools.spec.tsx.snap index 9b757c5cc500..ddf52bbaddc7 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/__snapshots__/NodePools.spec.tsx.snap +++ b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/__snapshots__/NodePools.spec.tsx.snap @@ -12,7 +12,7 @@ exports[`NodePools > should show spinner if nodepools are loading 1`] = ` class="xs:mb-0.5 sm:mb-0" color="primary" size="sm" - variant="stroked" + variant="flat" > kube_node_pool_add @@ -21,10 +21,10 @@ exports[`NodePools > should show spinner if nodepools are loading 1`] = ` color="primary" data-testid="refresh-button" size="sm" - variant="stroked" + variant="flat" > should render correctly 1`] = `
- - {pool?.name} - +
{ @@ -128,7 +123,7 @@ export default function NodesPage(): JSX.Element { diff --git a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/Switch.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/Switch.page.tsx index 6a9714053752..5e42c41ef7dd 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/Switch.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/Switch.page.tsx @@ -74,7 +74,6 @@ export default function SwitchPage(): JSX.Element { onOdsModalClose={() => { goBack(); }} - color={ODS_THEME_COLOR_INTENT.text} > {!isNodesPending ? ( diff --git a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/__snapshots__/Nodes.spec.tsx.snap b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/__snapshots__/Nodes.spec.tsx.snap index acb7b46dba64..d5e860ddeb13 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/__snapshots__/Nodes.spec.tsx.snap +++ b/packages/manager/apps/pci-kubernetes/src/pages/detail/nodepools/nodes/__snapshots__/Nodes.spec.tsx.snap @@ -2,14 +2,14 @@ exports[`NodesPage > should render correctly 1`] = `
- +
+
+
should render correctly 1`] = ` class="xs:mb-0.5 sm:mb-0 ml-0.5" color="primary" size="sm" - variant="stroked" + variant="flat" > should render correctly 1`] = `
{t('kube_restrictions_add')} diff --git a/packages/manager/apps/pci-kubernetes/src/pages/list/List.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/list/List.page.tsx index 371d15579d23..4e2892cae2c7 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/list/List.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/list/List.page.tsx @@ -89,7 +89,7 @@ export default function ListPage() {
{ @@ -100,7 +100,7 @@ export default function ListPage() { {t('kube_list_cluster_create')} diff --git a/packages/manager/apps/pci-kubernetes/src/pages/oidc-provider/remove/RemoveOIDCProvider.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/oidc-provider/remove/RemoveOIDCProvider.page.tsx index e284e18bbaed..395421487b1d 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/oidc-provider/remove/RemoveOIDCProvider.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/oidc-provider/remove/RemoveOIDCProvider.page.tsx @@ -87,6 +87,7 @@ export default function RemoveOIDCProvider() { }); onClose(); }} + color={ODS_THEME_COLOR_INTENT.warning} > {isPending ? ( diff --git a/packages/manager/apps/pci-kubernetes/src/pages/reset/ResetCluster.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/reset/ResetCluster.page.tsx index f1385d3590d6..fe2a179f9425 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/reset/ResetCluster.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/reset/ResetCluster.page.tsx @@ -220,13 +220,7 @@ export default function ResetClusterPage() { {tReset( 'pci_projects_project_kubernetes_service_reset_common_delete', @@ -245,13 +239,7 @@ export default function ResetClusterPage() { {tReset( 'pci_projects_project_kubernetes_service_reset_common_reinstall', diff --git a/packages/manager/apps/pci-kubernetes/src/pages/upgrade-policy/UpgradePolicy.page.tsx b/packages/manager/apps/pci-kubernetes/src/pages/upgrade-policy/UpgradePolicy.page.tsx index 649b5915cb68..fae8148d744a 100644 --- a/packages/manager/apps/pci-kubernetes/src/pages/upgrade-policy/UpgradePolicy.page.tsx +++ b/packages/manager/apps/pci-kubernetes/src/pages/upgrade-policy/UpgradePolicy.page.tsx @@ -117,13 +117,10 @@ export default function UpgradePolicyPage() { color={ODS_THEME_COLOR_INTENT.primary} size={ODS_RADIO_BUTTON_SIZE.xs} > -
+
{t(`kube_service_upgrade_policy_${policy}`)} diff --git a/packages/manager/apps/pci-load-balancer/src/main.tsx b/packages/manager/apps/pci-load-balancer/src/main.tsx index f12afbd86678..f83eaccaf335 100644 --- a/packages/manager/apps/pci-load-balancer/src/main.tsx +++ b/packages/manager/apps/pci-load-balancer/src/main.tsx @@ -7,6 +7,7 @@ import { } from '@ovh-ux/manager-react-shell-client'; import App from './App'; +import '@ovh-ux/manager-pci-common/dist/style.css'; import './index.css'; import '@/vite-hmr.ts'; diff --git a/packages/manager/apps/pci-private-network/src/pages/new/steps/LocalizationStep.tsx b/packages/manager/apps/pci-private-network/src/pages/new/steps/LocalizationStep.tsx index a45e9a3ab0d8..ecd3756acb5c 100644 --- a/packages/manager/apps/pci-private-network/src/pages/new/steps/LocalizationStep.tsx +++ b/packages/manager/apps/pci-private-network/src/pages/new/steps/LocalizationStep.tsx @@ -1,6 +1,7 @@ import { StepComponent, TilesInputComponent, + getMacroRegion, } from '@ovh-ux/manager-react-components'; import { useSearchParams } from 'react-router-dom'; @@ -47,20 +48,6 @@ export default function LocalizationStep(): JSX.Element { selectedContinent: undefined, }); - const getMacroRegion = (regionName: string) => { - const regionSubStrings = regionName.split('-'); - - const macroRegionMap = [ - null, - regionSubStrings[0].split(/(\d)/)[0], - regionSubStrings[0], - regionSubStrings[2], - regionSubStrings[2] === 'LZ' ? regionSubStrings[3] : regionSubStrings[2], - regionSubStrings[3], - ]; - return macroRegionMap[regionSubStrings.length] || 'Unknown_Macro_Region'; - }; - const getTranslatedMacroRegion = ({ name }: TRegion) => { const translatedMacroRegion = tRegion( `manager_components_region_${getMacroRegion(name)}`, diff --git a/packages/manager/apps/pci-public-ip/src/api/hooks/useFloatingRegions.ts b/packages/manager/apps/pci-public-ip/src/api/hooks/useFloatingRegions.ts index bc72d522c32a..9b2126a6a302 100644 --- a/packages/manager/apps/pci-public-ip/src/api/hooks/useFloatingRegions.ts +++ b/packages/manager/apps/pci-public-ip/src/api/hooks/useFloatingRegions.ts @@ -1,22 +1,9 @@ import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; +import { getMacroRegion } from '@ovh-ux/manager-react-components'; import { useAvailabilities } from '@/api/hooks/useAvailabilities'; import { TRegion } from '@/api/types'; -const getMacroRegion = (region: string) => { - const regionSubStrings = region.split('-'); - - const macroRegionMap = [ - null, - regionSubStrings[0].split(/(\d)/)[0], - regionSubStrings[0], - regionSubStrings[2], - regionSubStrings[2] === 'LZ' ? regionSubStrings[3] : regionSubStrings[2], - regionSubStrings[3], - ]; - return macroRegionMap[regionSubStrings.length] || 'Unknown_Macro_Region'; -}; - export const useFloatingRegions = (projectId: string) => { const { t: tRegion } = useTranslation('regions'); const { data: availabilities, isPending } = useAvailabilities(projectId); diff --git a/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.component.tsx b/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.component.tsx index 87375f00a4e4..6baf2c8be9e9 100644 --- a/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.component.tsx +++ b/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.component.tsx @@ -3,17 +3,14 @@ import { ODS_THEME_TYPOGRAPHY_LEVEL, ODS_THEME_TYPOGRAPHY_SIZE, } from '@ovhcloud/ods-common-theming'; -import { ODS_BUTTON_VARIANT, ODS_SPINNER_SIZE } from '@ovhcloud/ods-components'; import { - OsdsButton, - OsdsModal, OsdsSelect, OsdsSelectOption, - OsdsSpinner, OsdsText, } from '@ovhcloud/ods-components/react'; import { useTranslation } from 'react-i18next'; import { useEffect, useRef } from 'react'; +import { PciModal } from '@ovh-ux/manager-pci-common'; import { Instance } from '@/interface'; type EditInstanceModalProps = { @@ -56,67 +53,42 @@ export default function EditInstanceModal({ }, [selectRef.current]); return ( - - - {isPending ? ( - - ) : ( -
- - {t('pci_additional_ips_failoverips_edit_description', { - serviceName: selectedIp, - })} - - - - {t('pci_additional_ips_failoverips_edit_select_instance')} - - - {instances.map(({ id, name }) => ( - - {name} - - ))} - -
- )} -
- - {t('pci_additional_ips_failoverips_edit_cancel_label')} - - + - {t('pci_additional_ips_failoverips_edit_submit_label')} - -
+ + {t('pci_additional_ips_failoverips_edit_select_instance')} + + + {instances.map(({ id, name }) => ( + + {name} + + ))} + + ); } diff --git a/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.spec.tsx b/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.spec.tsx index 5ab1d968ed4b..6ad862402d3e 100644 --- a/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.spec.tsx +++ b/packages/manager/apps/pci-public-ip/src/components/edit/EditAdditionalIP.spec.tsx @@ -28,8 +28,8 @@ describe('EditInstanceModal component tests', () => { , ); - expect(queryByTestId('editInstanceModal-spinner')).toBeInTheDocument(); - expect(queryByTestId('editInstanceModal-spinner')).toBeVisible(); + expect(queryByTestId('pciModal-spinner')).toBeInTheDocument(); + expect(queryByTestId('pciModal-spinner')).toBeVisible(); }); it('should disable the submit button when the isPending equal true', () => { @@ -48,7 +48,7 @@ describe('EditInstanceModal component tests', () => { ); const submitButton = (queryByTestId( - 'editInstanceModal-button_submit', + 'pciModal-button_submit', ) as unknown) as OsdsButton; expect(submitButton).toHaveAttribute('disabled'); @@ -70,7 +70,7 @@ describe('EditInstanceModal component tests', () => { , ); - const submitButton = queryByTestId('editInstanceModal-button_submit'); + const submitButton = queryByTestId('pciModal-button_submit'); expect(submitButton).not.toHaveAttribute('disabled'); }); @@ -151,7 +151,7 @@ describe('EditInstanceModal component tests', () => { const { getByTestId } = render(); - const cancelButton = getByTestId('editInstanceModal-button_cancel'); + const cancelButton = getByTestId('pciModal-button_cancel'); act(() => { fireEvent.click(cancelButton); @@ -173,7 +173,7 @@ describe('EditInstanceModal component tests', () => { const { queryByTestId } = render(); - const submitButton = queryByTestId('editInstanceModal-button_submit'); + const submitButton = queryByTestId('pciModal-button_submit'); act(() => { fireEvent.click(submitButton); diff --git a/packages/manager/apps/pci-public-ip/src/components/input/IpTypeInput.component.tsx b/packages/manager/apps/pci-public-ip/src/components/input/IpTypeInput.component.tsx index 1b7d6a17c9f9..eeafd874cbbf 100644 --- a/packages/manager/apps/pci-public-ip/src/components/input/IpTypeInput.component.tsx +++ b/packages/manager/apps/pci-public-ip/src/components/input/IpTypeInput.component.tsx @@ -58,9 +58,11 @@ export const IpTypeInputComponent = ({
{ipType.name === IPTypeEnum.FAILOVER ? ( - tOrder('pci_additional_ip_price_per_month', { - price: ipType.price, - }) + + {tOrder('pci_additional_ip_price_per_month', { + price: ipType.price, + })} + ) : ( {t('common_actions')} @@ -156,7 +155,7 @@ export default function FailoverIPComponent({ name={ODS_ICON_NAME.CHEVRON_DOWN} color={ODS_THEME_COLOR_INTENT.primary} size={ODS_ICON_SIZE.sm} - className={'ml-4 align-middle'} + className={'ml-4 bg-white align-middle'} > diff --git a/packages/manager/apps/pci-public-ip/src/components/list/FloatingIP.component.tsx b/packages/manager/apps/pci-public-ip/src/components/list/FloatingIP.component.tsx index f49608fbb31f..db04f10978d5 100644 --- a/packages/manager/apps/pci-public-ip/src/components/list/FloatingIP.component.tsx +++ b/packages/manager/apps/pci-public-ip/src/components/list/FloatingIP.component.tsx @@ -7,7 +7,6 @@ import { Notifications, useColumnFilters, useDatagridSearchParams, - useFeatureAvailability, } from '@ovh-ux/manager-react-components'; import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; import { @@ -121,7 +120,7 @@ export default function FloatingIPComponent({ navigate('../order')} > @@ -129,7 +128,7 @@ export default function FloatingIPComponent({ name={ODS_ICON_NAME.ADD} size={ODS_ICON_SIZE.xxs} color={ODS_THEME_COLOR_INTENT.primary} - className="mr-3" + className="mr-3 bg-white" /> {t('pci_additional_ips_add_additional_ip')} diff --git a/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.component.tsx b/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.component.tsx index f2f26ed1053e..e8382362a2ec 100644 --- a/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.component.tsx +++ b/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.component.tsx @@ -1,10 +1,4 @@ -import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; -import { ODS_BUTTON_VARIANT, ODS_SPINNER_SIZE } from '@ovhcloud/ods-components'; -import { - OsdsButton, - OsdsModal, - OsdsSpinner, -} from '@ovhcloud/ods-components/react'; +import { DeletionModal } from '@ovh-ux/manager-pci-common'; import { useTranslation } from 'react-i18next'; type TerminateModalProps = { @@ -24,44 +18,25 @@ export default function TerminateModal({ }: Readonly) { const { t } = useTranslation(); return ( - - - {(isPending || isPendingTerminate) && ( - - )} - - - {t('pci_additional_ips_floating_ips_floating_ip_terminate_cancel')} - - - {t('pci_additional_ips_floating_ips_floating_ip_terminate_confirm')} - - + onClose={onClose} + onCancel={onClose} + onConfirm={onConfirm} + cancelText={t( + 'pci_additional_ips_floating_ips_floating_ip_terminate_cancel', + )} + submitText={t( + 'pci_additional_ips_floating_ips_floating_ip_terminate_confirm', + )} + isPending={isPending || isPendingTerminate} + isDisabled={isPending || isPendingTerminate} + > ); } diff --git a/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.spec.tsx b/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.spec.tsx index 767a7839a3c0..840b1a861c1c 100644 --- a/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.spec.tsx +++ b/packages/manager/apps/pci-public-ip/src/components/terminate/Terminate.spec.tsx @@ -21,8 +21,8 @@ describe('Terminate component tests', () => { , ); - expect(queryByTestId('terminateModal-spinner')).toBeInTheDocument(); - expect(queryByTestId('terminateModal-spinner')).toBeVisible(); + expect(queryByTestId('pciModal-spinner')).toBeInTheDocument(); + expect(queryByTestId('pciModal-spinner')).toBeVisible(); }); it('should display spinner when isPendingTerminate equal true', () => { @@ -38,8 +38,8 @@ describe('Terminate component tests', () => { , ); - expect(queryByTestId('terminateModal-spinner')).toBeInTheDocument(); - expect(queryByTestId('terminateModal-spinner')).toBeVisible(); + expect(queryByTestId('pciModal-spinner')).toBeInTheDocument(); + expect(queryByTestId('pciModal-spinner')).toBeVisible(); }); it('should disable the submit button when the isPending equal true', () => { @@ -56,7 +56,7 @@ describe('Terminate component tests', () => { ); const submitButton = (queryByTestId( - 'terminateModal-button_submit', + 'pciModal-button_submit', ) as unknown) as OsdsButton; expect(submitButton).toHaveAttribute('disabled'); @@ -77,7 +77,7 @@ describe('Terminate component tests', () => { ); const submitButton = (queryByTestId( - 'terminateModal-button_submit', + 'pciModal-button_submit', ) as unknown) as OsdsButton; expect(submitButton).toHaveAttribute('disabled'); @@ -97,7 +97,7 @@ describe('Terminate component tests', () => { , ); - const submitButton = queryByTestId('terminateModal-button_submit'); + const submitButton = queryByTestId('pciModal-button_submit'); expect(submitButton).not.toHaveAttribute('disabled'); }); @@ -113,7 +113,7 @@ describe('Terminate component tests', () => { const { getByTestId } = render(); - const cancelButton = getByTestId('terminateModal-button_cancel'); + const cancelButton = getByTestId('pciModal-button_cancel'); act(() => { fireEvent.click(cancelButton); @@ -133,7 +133,7 @@ describe('Terminate component tests', () => { const { queryByTestId } = render(); - const submitButton = queryByTestId('terminateModal-button_submit'); + const submitButton = queryByTestId('pciModal-button_submit'); act(() => { fireEvent.click(submitButton); diff --git a/packages/manager/apps/pci-public-ip/src/pages/imports/MoveIP.page.tsx b/packages/manager/apps/pci-public-ip/src/pages/imports/MoveIP.page.tsx index e40c39e57782..805ba31de376 100644 --- a/packages/manager/apps/pci-public-ip/src/pages/imports/MoveIP.page.tsx +++ b/packages/manager/apps/pci-public-ip/src/pages/imports/MoveIP.page.tsx @@ -6,15 +6,10 @@ import { ODS_THEME_TYPOGRAPHY_LEVEL, ODS_THEME_TYPOGRAPHY_SIZE, } from '@ovhcloud/ods-common-theming'; -import { ODS_BUTTON_VARIANT, ODS_SPINNER_SIZE } from '@ovhcloud/ods-components'; -import { - OsdsButton, - OsdsModal, - OsdsSpinner, - OsdsText, -} from '@ovhcloud/ods-components/react'; +import { OsdsText } from '@ovhcloud/ods-components/react'; import { useTranslation } from 'react-i18next'; +import { PciModal } from '@ovh-ux/manager-pci-common'; import { useMoveIP } from '@/api/hooks/useImportIP'; export default function MoveIPPage() { @@ -64,46 +59,27 @@ export default function MoveIPPage() { const handleModalConfirm = () => moveIP(ipToMove); return ( - - - {isPending ? ( - - ) : ( -
- - {t('pci_additional_ips_failoverip_imports_import_description')} - -
- )} -
- - {t('pci_additional_ips_failoverip_imports_import_cancel_label')} - - - {t('pci_additional_ips_failoverip_imports_import_submit_label')} - -
+ {t('pci_additional_ips_failoverip_imports_import_description')} +
+ ); } diff --git a/packages/manager/apps/pci-public-ip/src/pages/list/List.page.tsx b/packages/manager/apps/pci-public-ip/src/pages/list/List.page.tsx index 8820e27065bd..1eb592deb3bc 100644 --- a/packages/manager/apps/pci-public-ip/src/pages/list/List.page.tsx +++ b/packages/manager/apps/pci-public-ip/src/pages/list/List.page.tsx @@ -1,20 +1,15 @@ import { useNavigation } from '@ovh-ux/manager-react-shell-client'; import { + Headers, PciGuidesHeader, useNotifications, } from '@ovh-ux/manager-react-components'; -import { - ODS_THEME_COLOR_INTENT, - ODS_THEME_TYPOGRAPHY_LEVEL, - ODS_THEME_TYPOGRAPHY_SIZE, -} from '@ovhcloud/ods-common-theming'; import { OsdsBreadcrumb, OsdsTabBar, OsdsTabBarItem, OsdsTabPanel, OsdsTabs, - OsdsText, } from '@ovhcloud/ods-components/react'; import { useEffect, useState } from 'react'; @@ -96,22 +91,13 @@ export default function ListingPage(): JSX.Element { )}
- - {t('pci_additional_ips_title')} - +
- - {t('pci_additional_ips_additional_ips_description')} - +
diff --git a/packages/manager/apps/pci-public-ip/src/pages/order/steps/FailoverSteps.tsx b/packages/manager/apps/pci-public-ip/src/pages/order/steps/FailoverSteps.tsx index 6ff03ad8871b..25b9bd2e36d7 100644 --- a/packages/manager/apps/pci-public-ip/src/pages/order/steps/FailoverSteps.tsx +++ b/packages/manager/apps/pci-public-ip/src/pages/order/steps/FailoverSteps.tsx @@ -84,7 +84,6 @@ export const FailoverSteps = ({

- + {tOrder('pci_additional_ips_failoverip_order_instance')}
{ setForm({ @@ -135,7 +135,6 @@ export const FailoverSteps = ({

@@ -153,7 +152,6 @@ export const FloatingIpSummary = ({

{tOrder('pci_additional_ip_create_step_summary_banner3')}

diff --git a/packages/manager/apps/pci-public-ip/src/pages/order/steps/FloatingSteps.tsx b/packages/manager/apps/pci-public-ip/src/pages/order/steps/FloatingSteps.tsx index 95328fe6b17e..a202d90715b5 100644 --- a/packages/manager/apps/pci-public-ip/src/pages/order/steps/FloatingSteps.tsx +++ b/packages/manager/apps/pci-public-ip/src/pages/order/steps/FloatingSteps.tsx @@ -161,7 +161,6 @@ export const FloatingSteps = ({

{tOrder( diff --git a/packages/manager/apps/pci-savings-plan/package.json b/packages/manager/apps/pci-savings-plan/package.json index 960a6aaa6fc8..3e20c45812c4 100644 --- a/packages/manager/apps/pci-savings-plan/package.json +++ b/packages/manager/apps/pci-savings-plan/package.json @@ -39,13 +39,13 @@ "axios": "^1.1.2", "clsx": "^1.2.1", "date-fns": "^3.6.0", - "i18next": "^23.8.2", + "i18next": "^23.16.4", "i18next-http-backend": "^2.4.2", "jest-environment-jsdom": "^29.7.0", "msw": "^2.4.9", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-i18next": "^11.18.6", + "react-i18next": "^15.1.0", "react-router-dom": "^6.25.1", "tailwindcss": "^3.4.6", "zod": "^3.23.8" diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_de_DE.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_de_DE.json index b5267f23a44d..54aaa4c2cfab 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_de_DE.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_de_DE.json @@ -21,11 +21,12 @@ "order_instance": "Instanz erstellen", "order_rancher": "Managed Rancher Service starten", "listing_resultats": "Ergebnissen", - "months": "{{count}} Monate", + "months": "{{count}} Monat", "months_plural": "{{count}} Monate", "banner_renew_activate": "Die automatische Verlängerung des Savings Plan {{planName}} wurde erfolgreich aktiviert. Ihr Savings Plan wird am {{endDate}} verlängert.", "banner_renew_deactivate": " Die automatische Verlängerung des Savings Plan {{planName}} wurde erfolgreich deaktiviert. Ihr Savings Plan endet am {{endDate}}. Das Ablaufen Ihres Savings Plan hat keine Auswirkungen auf Ihre aktiven Dienste.", "banner_edit_name": "Der Name des Savings Plan wurde erfolgreich geändert.", "banner_create_sp": "Ihr Savings Plan wurde erstellt. Er ist ab dem {{startDate}} aktiv.", - "informationMessage": "Sie können Ihre Dienstleistungen weiterhin wie gewohnt verwalten. Die Plattform berechnet automatisch Ihre Nutzung basierend auf den Konfigurationen Ihrer Savings Pläne und dem Verbrauch Ihrer bestehenden oder zukünftigen Ressourcen." + "informationMessage": "Sie können Ihre Dienstleistungen weiterhin wie gewohnt verwalten. Die Plattform berechnet automatisch Ihre Nutzung basierend auf den Konfigurationen Ihrer Savings Pläne und dem Verbrauch Ihrer bestehenden oder zukünftigen Ressourcen.", + "months_other": "{{count}} Monat" } diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_en_GB.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_en_GB.json index 3585551f5fb3..efbe82b920a9 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_en_GB.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_en_GB.json @@ -21,11 +21,12 @@ "order_instance": "Create an instance", "order_rancher": "Get started with Managed Rancher Services", "listing_resultats": "results", - "months": "{{count}} months", + "months": "{{count}} month", "months_plural": "{{count}} months", "banner_renew_activate": "Auto-renewal has been enabled for the {{planName}} Savings Plan. Your Savings Plan will be renewed on {{endDate}}", "banner_renew_deactivate": " Auto-renewal has been disabled for the {{planName}} Savings Plan. Your Savings Plan ends on {{endDate}}. Your active services will not be impacted when your Savings Plan expires.", "banner_edit_name": "The name of the Savings Plan has been updated.", "banner_create_sp": "Your Savings Plan has been created. This will be active from {{startDate}}", - "informationMessage": "You continue to manage your services as usual. The platform automatically calculates your usage based on your Savings Plan configurations and consumption of your existing or future resources." + "informationMessage": "You continue to manage your services as usual. The platform automatically calculates your usage based on your Savings Plan configurations and consumption of your existing or future resources.", + "months_other": "{{count}} months" } diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_es_ES.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_es_ES.json index e9d65a552074..7e8b293276db 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_es_ES.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_es_ES.json @@ -21,11 +21,12 @@ "order_instance": "Crear una instancia", "order_rancher": "Iniciar Managed Rancher Services", "listing_resultats": "resultados", - "months": "{{count}} meses", + "months": "{{count}} mes", "months_plural": "{{count}} meses", "banner_renew_activate": "La renovación automática del Savings Plan {{planName}} se ha activado correctamente. Su Savings Plan se renovará el {{endDate}}", "banner_renew_deactivate": " La renovación automática del Savings Plan {{planName}} se ha desactivado correctamente. Su Savings Plan finalizará el {{endDate}}. La expiración de su Savings Plan no afectará a sus servicios activos.", "banner_edit_name": "El nombre del Savings Plan se ha modificado correctamente.", "banner_create_sp": "Su Savings Plan se ha creado correctamente. Este estará activo a partir del {{startDate}}", - "informationMessage": "Siga administrando sus servicios como de costumbre. La plataforma calcula automáticamente su uso en función de las configuraciones de sus Savings Planes y del consumo de sus recursos existentes o futuros." + "informationMessage": "Siga administrando sus servicios como de costumbre. La plataforma calcula automáticamente su uso en función de las configuraciones de sus Savings Planes y del consumo de sus recursos existentes o futuros.", + "months_other": "{{count}} meses" } diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_CA.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_CA.json index 710fbdfb9c6c..8c99875853ec 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_CA.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_CA.json @@ -23,7 +23,7 @@ "order_rancher": "Démarrer Managed Rancher Services", "listing_resultats": "résultats", "months": "{{count}} mois", - "months_plural": "{{count}} mois", + "months_other": "{{count}} mois", "banner_renew_activate": "Le renouvellement automatique du Savings Plan {{planName}} a été activé avec succès. Votre Savings Plan sera renouvelé le {{endDate}}", "banner_renew_deactivate": " Le renouvellement automatique du Savings Plan {{planName}} a été désactivé avec succès. Votre Savings Plan prendra fin le {{endDate}}. L'expiration de votre Savings Plan n'aura aucun impact sur vos services actifs.", "banner_edit_name": "Le nom du Savings Plan a été modifié avec succès.", diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_FR.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_FR.json index 710fbdfb9c6c..8c99875853ec 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_FR.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_fr_FR.json @@ -23,7 +23,7 @@ "order_rancher": "Démarrer Managed Rancher Services", "listing_resultats": "résultats", "months": "{{count}} mois", - "months_plural": "{{count}} mois", + "months_other": "{{count}} mois", "banner_renew_activate": "Le renouvellement automatique du Savings Plan {{planName}} a été activé avec succès. Votre Savings Plan sera renouvelé le {{endDate}}", "banner_renew_deactivate": " Le renouvellement automatique du Savings Plan {{planName}} a été désactivé avec succès. Votre Savings Plan prendra fin le {{endDate}}. L'expiration de votre Savings Plan n'aura aucun impact sur vos services actifs.", "banner_edit_name": "Le nom du Savings Plan a été modifié avec succès.", diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_it_IT.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_it_IT.json index 37c6838780cb..c95f776d223d 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_it_IT.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_it_IT.json @@ -21,11 +21,12 @@ "order_instance": "Crea un'istanza", "order_rancher": "Avviare Managed Rancher Services", "listing_resultats": "risultati", - "months": "{{count}} mesi", + "months": "{{count}} mese", "months_plural": "{{count}} mesi", "banner_renew_activate": "Il rinnovo automatico del Savings Plan {{planName}} è stato attivato correttamente. Il Savings Plan sarà rinnovato il {{endDate}}", "banner_renew_deactivate": " Il rinnovo automatico del Savings Plan {{planName}} è stato disattivato correttamente. Il Savings Plan terminerà il {{endDate}}. La scadenza del tuo Savings Plan non avrà alcun impatto sui servizi attivi.", "banner_edit_name": "Il nome del Savings Plan è stato modificato correttamente.", "banner_create_sp": "Il tuo Savings Plan è stato creato correttamente e sarà attivo a partire dal {{startDate}}.", - "informationMessage": "Continui a gestire i tuoi servizi come al solito. La piattaforma calcola automaticamente l’utilizzo in base alle configurazioni dei Savings Plan e al consumo delle risorse esistenti o future." + "informationMessage": "Continui a gestire i tuoi servizi come al solito. La piattaforma calcola automaticamente l’utilizzo in base alle configurazioni dei Savings Plan e al consumo delle risorse esistenti o future.", + "months_other": "{{count}} mesi" } diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pl_PL.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pl_PL.json index cc395d73ccd7..f2bba2574a94 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pl_PL.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pl_PL.json @@ -27,5 +27,6 @@ "banner_renew_deactivate": " Automatyczne odnowienie Savings Plan {{planName}} zostało wyłączone. Savings Plan zakończy się dnia {{endDate}}. Wygaśnięcie Savings Plan nie będzie miało wpływu na Twoje aktywne usługi.", "banner_edit_name": "Nazwa Savings Plan została zmieniona.", "banner_create_sp": "Savings Plan został utworzony. Będzie aktywny od {{startDate}}", - "informationMessage": "W dalszym ciągu możesz zarządzać swoimi usługami w zwykły sposób. Platforma automatycznie oblicza wykorzystanie zasobów w zależności od konfiguracji planów Savings oraz w zależności od zużycia istniejących lub przyszłych zasobów." + "informationMessage": "W dalszym ciągu możesz zarządzać swoimi usługami w zwykły sposób. Platforma automatycznie oblicza wykorzystanie zasobów w zależności od konfiguracji planów Savings oraz w zależności od zużycia istniejących lub przyszłych zasobów.", + "months_other": "Liczba miesięcy: {{count}}" } diff --git a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pt_PT.json b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pt_PT.json index 8750ba848008..422e91b29e87 100644 --- a/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pt_PT.json +++ b/packages/manager/apps/pci-savings-plan/public/translations/listing/Messages_pt_PT.json @@ -21,11 +21,12 @@ "order_instance": "Criar uma instância", "order_rancher": "Iniciar o Managed Rancher Service", "listing_resultats": "resultados", - "months": "{{count}} mês/meses", + "months": "{{count}} mês", "months_plural": "{{count}} mês/meses", "banner_renew_activate": "A renovação automática do Savings Plan {{planName}} foi ativada com sucesso. O seu Savings Plan será renovado a {{endDate}}", "banner_renew_deactivate": " A renovação automática do Savings Plan {{planName}} foi desativada com sucesso. O seu Savings Plan terminará a {{endDate}}. A expiração do Savings Plan não terá qualquer impacto nos seus serviços ativos.", "banner_edit_name": "O nome do Savings Plan foi modificado com sucesso.", "banner_create_sp": "O seu Savings Plan foi criado com sucesso e ficará ativo a partir de {{startDate}}.", - "informationMessage": "Continua a gerir os seus serviços como de costume. A plataforma calcula automaticamente a sua utilização em função das configurações dos seus Savings Plans e do consumo dos seus recursos existentes ou futuros." + "informationMessage": "Continua a gerir os seus serviços como de costume. A plataforma calcula automaticamente a sua utilização em função das configurações dos seus Savings Plans e do consumo dos seus recursos existentes ou futuros.", + "months_other": "{{count}} meses" } diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.spec.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.spec.tsx index 26b47fceca74..a26783803880 100644 --- a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.spec.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.spec.tsx @@ -40,7 +40,7 @@ describe('Add ssh modal', () => { const { getByTestId } = renderModal(); const keyNameInput = getByTestId('sshKeyName'); const publicKeyInput = getByTestId('sshPublicKey'); - const submitButton = getByTestId('submitButton'); + const submitButton = getByTestId('pciModal-button_submit'); expect(add).not.toHaveBeenCalled(); act(() => { fireEvent.change(keyNameInput, { @@ -81,7 +81,7 @@ describe('Add ssh modal', () => { const { getByTestId } = renderModal(); const keyNameInput = getByTestId('sshKeyName'); const publicKeyInput = getByTestId('sshPublicKey'); - const submitButton = getByTestId('submitButton'); + const submitButton = getByTestId('pciModal-button_submit'); act(() => { fireEvent.change(keyNameInput, { target: { diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.tsx index 17b4d55f94af..f6cb8924c6ac 100644 --- a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/AddSshModal.tsx @@ -1,16 +1,11 @@ import { - OsdsButton, OsdsFormField, OsdsInput, - OsdsModal, - OsdsSpinner, OsdsText, OsdsTextarea, } from '@ovhcloud/ods-components/react'; import { - ODS_BUTTON_VARIANT, ODS_INPUT_TYPE, - ODS_SPINNER_SIZE, OdsInputValueChangeEvent, OdsTextAreaValueChangeEvent, OsdsTextareaCustomEvent, @@ -21,6 +16,7 @@ import { } from '@ovhcloud/ods-common-theming'; import { useTranslation } from 'react-i18next'; import { useCallback, useState } from 'react'; +import { PciModal } from '@ovh-ux/manager-pci-common'; import { useAddSsh } from '@/api/hooks/useSsh'; interface AddSshModalProps { @@ -77,132 +73,105 @@ export default function AddSshModal({ ); return ( - add({ name, publicKey })} + isPending={isPending} + submitText={t('pci_projects_project_sshKeys_add_submit_label')} + cancelText={t('pci_projects_project_sshKeys_add_cancel_label')} + isDisabled={isPending || !name || !publicKey} > - - {!isPending && ( - <> - - - {t('pci_projects_project_sshKeys_add_name')} - - { - setFormErrors((errors) => ({ - ...errors, - missingName: false, - })); - }} - onOdsInputBlur={() => - setFormErrors((errors) => ({ - ...errors, - missingName: !name, - })) - } - ariaLabel={t('pci_projects_project_sshKeys_add_name')} - data-testid="sshKeyName" - /> - - - - {t('pci_projects_project_sshKeys_add_key')} - - - setFormErrors((errors) => ({ - ...errors, - missingKey: !publicKey, - })) - } - onOdsFocus={() => { - setFormErrors((errors) => ({ - ...errors, - missingKey: false, - })); - }} - ariaLabel={t('pci_projects_project_sshKeys_add_key')} - data-testid="sshPublicKey" - rows={5} - placeholder={t( - 'pci_projects_project_sshKeys_add_key_description', - )} - /> - - {t('pci_projects_project_sshKeys_add_infos')} - - - - )} - {isPending && } - - - {t('pci_projects_project_sshKeys_add_cancel_label')} - - { - // @TODO remove this condition when ODS disabled button issue is fixed - if (publicKey) { - add({ name, publicKey }); + + {t('pci_projects_project_sshKeys_add_name')} + + { + setFormErrors((errors) => ({ + ...errors, + missingName: false, + })); + }} + onOdsInputBlur={() => + setFormErrors((errors) => ({ + ...errors, + missingName: !name, + })) + } + ariaLabel={t('pci_projects_project_sshKeys_add_name')} + data-testid="sshKeyName" + /> + + - {t('pci_projects_project_sshKeys_add_submit_label')} - - + + {t('pci_projects_project_sshKeys_add_key')} + + + setFormErrors((errors) => ({ + ...errors, + missingKey: !publicKey, + })) + } + onOdsFocus={() => { + setFormErrors((errors) => ({ + ...errors, + missingKey: false, + })); + }} + ariaLabel={t('pci_projects_project_sshKeys_add_key')} + data-testid="sshPublicKey" + rows={5} + placeholder={t('pci_projects_project_sshKeys_add_key_description')} + /> + + {t('pci_projects_project_sshKeys_add_infos')} + + + ); } diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.spec.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.spec.tsx index fcc78310fe23..cf7c53ad5bad 100644 --- a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.spec.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.spec.tsx @@ -43,7 +43,7 @@ describe('Add ssh modal', async () => { remove, } as unknown) as UseRemoveSshKeyReturnType); const { getByTestId } = renderModal(); - const submitButton = getByTestId('submitButton'); + const submitButton = getByTestId('pciModal-button_submit'); expect(remove).not.toHaveBeenCalled(); act(() => { fireEvent.click(submitButton); diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.tsx index d52e5e73b8ad..67d2da57a93d 100644 --- a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/RemoveSshModal.tsx @@ -1,15 +1,10 @@ -import { - OsdsButton, - OsdsModal, - OsdsSpinner, - OsdsText, -} from '@ovhcloud/ods-components/react'; -import { ODS_BUTTON_VARIANT, ODS_SPINNER_SIZE } from '@ovhcloud/ods-components'; +import { OsdsText } from '@ovhcloud/ods-components/react'; import { ODS_THEME_COLOR_INTENT, ODS_THEME_TYPOGRAPHY_LEVEL, } from '@ovhcloud/ods-common-theming'; import { useTranslation } from 'react-i18next'; +import { DeletionModal } from '@ovh-ux/manager-pci-common'; import { useRemoveSsh, useSshKey } from '@/api/hooks/useSsh'; interface RemoveSshModalProps { @@ -43,44 +38,26 @@ export default function RemoveSshModal({ }); return ( - - - {!isPending && !isPendingRemoveSsh && ( - - {t('pci_projects_project_sshKeys_remove_description', { - name: sshKey?.name, - })} - - )} - {(isPending || isPendingRemoveSsh) && ( - - )} - - - {t('pci_projects_project_sshKeys_remove_cancel_label')} - - remove()} - {...(isPending || isPendingRemoveSsh ? { disabled: true } : {})} - data-testid="submitButton" + - {t('pci_projects_project_sshKeys_remove_submit_label')} - - + {t('pci_projects_project_sshKeys_remove_description', { + name: sshKey?.name, + })} + + ); } diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/Actions.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/Actions.tsx new file mode 100644 index 000000000000..811c01b140f8 --- /dev/null +++ b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/Actions.tsx @@ -0,0 +1,16 @@ +import { useHref } from 'react-router-dom'; +import { useTranslation } from 'react-i18next'; +import { ActionMenu } from '@ovh-ux/manager-react-components'; + +export default function Actions({ sshId }: { sshId: string }) { + const { t } = useTranslation('common'); + const hrefRemove = useHref(`./${sshId}/remove`); + const items = [ + { + id: 0, + label: t('pci_projects_project_sshKeys_remove'), + href: hrefRemove, + }, + ]; + return ; +} diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/RemoveSsh.spec.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/RemoveSsh.spec.tsx deleted file mode 100644 index 203353c0b28d..000000000000 --- a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/RemoveSsh.spec.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { render } from '@testing-library/react'; -import { describe, it, vi } from 'vitest'; -import RemoveSsh from './RemoveSsh'; -import { wrapper } from '@/setupTests'; - -vi.mock('react-router-dom', () => ({ - useHref: vi.fn().mockReturnValue('/123/remove'), -})); - -describe('RemoveSsh', () => { - it('renders remove SSH button with correct text', () => { - const { container } = render(, { wrapper }); - expect(container).toBeInTheDocument(); - }); - - it('should have the correct link', async () => { - const { getByTestId } = render(, { wrapper }); - expect(getByTestId('RemoveSsh-href')).toHaveAttribute( - 'href', - '/123/remove', - ); - }); -}); diff --git a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/RemoveSsh.tsx b/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/RemoveSsh.tsx deleted file mode 100644 index d86a84ca4029..000000000000 --- a/packages/manager/apps/pci-ssh-keys/src/components/ssh-keys/listing/RemoveSsh.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { - OsdsButton, - OsdsIcon, - OsdsMenu, - OsdsMenuItem, - OsdsText, -} from '@ovhcloud/ods-components/react'; -import { - ODS_BUTTON_SIZE, - ODS_BUTTON_VARIANT, - ODS_ICON_NAME, - ODS_ICON_SIZE, - ODS_TEXT_LEVEL, -} from '@ovhcloud/ods-components'; -import { - ODS_THEME_COLOR_INTENT, - ODS_THEME_TYPOGRAPHY_SIZE, -} from '@ovhcloud/ods-common-theming'; -import { useHref } from 'react-router-dom'; -import { useTranslation } from 'react-i18next'; - -export default function RemoveSsh({ sshId }: { sshId: string }) { - const { t } = useTranslation('common'); - const hrefRemove = useHref(`./${sshId}/remove`); - return ( - - - - - - - - {t('pci_projects_project_sshKeys_remove')} - - - - - ); -} diff --git a/packages/manager/apps/pci-ssh-keys/src/pages/AddSshPage.spec.tsx b/packages/manager/apps/pci-ssh-keys/src/pages/AddSshPage.spec.tsx index f3c36d70ed6f..6cfdc1093373 100644 --- a/packages/manager/apps/pci-ssh-keys/src/pages/AddSshPage.spec.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/pages/AddSshPage.spec.tsx @@ -22,6 +22,6 @@ vi.mock('react-i18next', () => ({ describe('AddSshPage', () => { it('renders AddSshModal correctly', () => { const { getByTestId } = render(, { wrapper }); - expect(getByTestId('addSshModal-modal')).toBeInTheDocument(); + expect(getByTestId('pciModal-modal')).toBeInTheDocument(); }); }); diff --git a/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.spec.tsx b/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.spec.tsx index ebf2de8bb1b0..e39b91884ff3 100644 --- a/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.spec.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.spec.tsx @@ -20,6 +20,7 @@ vi.mock('@ovh-ux/manager-react-components', () => ({ }), PciGuidesHeader: vi.fn().mockReturnValue(

), Notifications: vi.fn().mockReturnValue(
Notifications
), + Headers: vi.fn().mockReturnValue(
Headers
), Datagrid: vi.fn().mockReturnValue(
Datagrid
), PciDiscoveryBanner: vi.fn().mockReturnValue(
Discovery
), })); diff --git a/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.tsx b/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.tsx index 4952b3f91854..e060108e8035 100644 --- a/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.tsx +++ b/packages/manager/apps/pci-ssh-keys/src/pages/ListingPage.tsx @@ -13,13 +13,8 @@ import { OsdsIcon, OsdsSearchBar, OsdsSpinner, - OsdsText, } from '@ovhcloud/ods-components/react'; -import { - ODS_THEME_COLOR_INTENT, - ODS_THEME_TYPOGRAPHY_LEVEL, - ODS_THEME_TYPOGRAPHY_SIZE, -} from '@ovhcloud/ods-common-theming'; +import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; import { ShellContext } from '@ovh-ux/manager-react-shell-client'; import { useTranslation } from 'react-i18next'; import { @@ -33,6 +28,7 @@ import { import { Datagrid, DataGridTextCell, + Headers, Notifications, PciGuidesHeader, useDatagridSearchParams, @@ -46,7 +42,7 @@ import { import { TSshKey } from '@/interface'; import { useSshKeys } from '@/api/hooks/useSsh'; import Key from '@/components/ssh-keys/listing/Key'; -import RemoveSsh from '@/components/ssh-keys/listing/RemoveSsh'; +import Actions from '@/components/ssh-keys/listing/Actions'; import { PCI_LEVEL2 } from '@/tracking.constants'; export default function ListingPage() { @@ -74,7 +70,7 @@ export default function ListingPage() { }, { id: 'actions', - cell: (props: TSshKey) => , + cell: (props: TSshKey) => , label: '', }, ]; @@ -110,17 +106,13 @@ export default function ListingPage() { ]} > )} -
- - {t('pci_projects_project_sshKeys_title')} - - +
+ } + >
- + @@ -128,7 +120,7 @@ export default function ListingPage() {
{ @@ -146,7 +138,7 @@ export default function ListingPage() { {t('pci_projects_project_sshKeys_add')} @@ -173,7 +165,7 @@ export default function ListingPage() { />
-
+
{searchQueries.map((query, index) => ( +
({ describe('RemoveSshPage', () => { it('renders RemoveSshModal correctly', () => { const { getByTestId } = render(, { wrapper }); - expect(getByTestId('RemoveSshModal-modal')).toBeInTheDocument(); + expect(getByTestId('pciModal-modal')).toBeInTheDocument(); }); }); diff --git a/packages/manager/apps/pci-users/src/api/data/region.ts b/packages/manager/apps/pci-users/src/api/data/region.ts index 3ba40c36fb87..323942d6514c 100644 --- a/packages/manager/apps/pci-users/src/api/data/region.ts +++ b/packages/manager/apps/pci-users/src/api/data/region.ts @@ -45,20 +45,6 @@ export const getStorageRegions = async ( }); }; -export const getMacroRegion = (region: string): string => { - const regionSubStrings = region.split('-'); - - const macroRegionMap = [ - null, - regionSubStrings[0].split(/(\d)/)[0], - regionSubStrings[0], - regionSubStrings[2], - regionSubStrings[2] === 'LZ' ? regionSubStrings[3] : regionSubStrings[2], - regionSubStrings[3], - ]; - return macroRegionMap[regionSubStrings.length] || 'Unknown_Macro_Region'; -}; - export const getOpenRcApiVersion = (regions: Region[], region: string) => { const hasGlobalRegions = regions.some((r) => ALPHA_CHARACTERS_REGEX.test(r.name), diff --git a/packages/manager/apps/pci-users/src/pages/openrc/download/OpenStackDownloadModal.tsx b/packages/manager/apps/pci-users/src/pages/openrc/download/OpenStackDownloadModal.tsx index 7e80683bc0a8..1332741614ac 100644 --- a/packages/manager/apps/pci-users/src/pages/openrc/download/OpenStackDownloadModal.tsx +++ b/packages/manager/apps/pci-users/src/pages/openrc/download/OpenStackDownloadModal.tsx @@ -24,10 +24,11 @@ import { useTranslation } from 'react-i18next'; import { OdsHTMLAnchorElementTarget } from '@ovhcloud/ods-common-core'; import { useEnvironment } from '@ovh-ux/manager-react-shell-client'; import { useEffect, useState } from 'react'; +import { getMacroRegion } from '@ovh-ux/manager-react-components'; import { useDownloadOpenStackConfig } from '@/api/hooks/useUser'; import { OPENSTACK_GUIDE } from '@/download-openrc.constants'; import { useAllRegions } from '@/api/hooks/useRegion'; -import { getMacroRegion, getOpenRcApiVersion } from '@/api/data/region'; +import { getOpenRcApiVersion } from '@/api/data/region'; interface OpenStackDownloadModalProps { projectId: string; diff --git a/packages/manager/apps/pci-users/src/pages/rclone/download/S3StorageRegions.tsx b/packages/manager/apps/pci-users/src/pages/rclone/download/S3StorageRegions.tsx index 71de39217c68..5ed28029b40c 100644 --- a/packages/manager/apps/pci-users/src/pages/rclone/download/S3StorageRegions.tsx +++ b/packages/manager/apps/pci-users/src/pages/rclone/download/S3StorageRegions.tsx @@ -1,8 +1,9 @@ import { useTranslation } from 'react-i18next'; import { OsdsSelect, OsdsSelectOption } from '@ovhcloud/ods-components/react'; import { useEffect, useState } from 'react'; +import { getMacroRegion } from '@ovh-ux/manager-react-components'; import { useS3StorageRegions } from '@/api/hooks/useRegion'; -import { getMacroRegion, Region } from '@/api/data/region'; +import { Region } from '@/api/data/region'; interface S3StorageRegionsProps { projectId: string; diff --git a/packages/manager/apps/pci-users/src/pages/rclone/download/StorageRegions.tsx b/packages/manager/apps/pci-users/src/pages/rclone/download/StorageRegions.tsx index 8c068cb42a47..b0205d342e7c 100644 --- a/packages/manager/apps/pci-users/src/pages/rclone/download/StorageRegions.tsx +++ b/packages/manager/apps/pci-users/src/pages/rclone/download/StorageRegions.tsx @@ -4,10 +4,11 @@ import { OsdsSelectOption, OsdsText, } from '@ovhcloud/ods-components/react'; +import { getMacroRegion } from '@ovh-ux/manager-react-components'; import { ODS_THEME_COLOR_INTENT } from '@ovhcloud/ods-common-theming'; import { useEffect, useState } from 'react'; import { useStorageRegions } from '@/api/hooks/useRegion'; -import { getMacroRegion, Region } from '@/api/data/region'; +import { Region } from '@/api/data/region'; interface S3StorageRegionsProps { projectId: string; diff --git a/packages/manager/modules/manager-pci-common/src/components/modal/PciModal.component.tsx b/packages/manager/modules/manager-pci-common/src/components/modal/PciModal.component.tsx index acc0ef0e1d42..721cc099ee3c 100644 --- a/packages/manager/modules/manager-pci-common/src/components/modal/PciModal.component.tsx +++ b/packages/manager/modules/manager-pci-common/src/components/modal/PciModal.component.tsx @@ -9,7 +9,7 @@ import { ODS_BUTTON_VARIANT, ODS_SPINNER_SIZE } from '@ovhcloud/ods-components'; import { useTranslation } from 'react-i18next'; export type PciModalProps = { - children: React.ReactNode; + children?: React.ReactNode; type?: 'warning' | 'default'; title: string; isPending?: boolean; diff --git a/packages/manager/modules/pci/src/components/project/guides-header/guides-header.constants.js b/packages/manager/modules/pci/src/components/project/guides-header/guides-header.constants.js index 92b2ff37d654..c5f4c28650cc 100644 --- a/packages/manager/modules/pci/src/components/project/guides-header/guides-header.constants.js +++ b/packages/manager/modules/pci/src/components/project/guides-header/guides-header.constants.js @@ -33,7 +33,8 @@ export const PUBLIC_CLOUD_STORAGE_GUIDES = { PT: 'https://docs.ovh.com/pt/storage/', IE: 'https://docs.ovh.com/ie/en/storage/', DEFAULT: 'https://docs.ovh.com/gb/en/storage/', - US: 'https://support.us.ovhcloud.com/hc/en-us/sections/115000624590-Storage', + US: + 'https://support.us.ovhcloud.com/hc/en-us/sections/23498311424275-Object-Storage', ASIA: 'https://docs.ovh.com/asia/en/storage/', AU: 'https://docs.ovh.com/au/en/storage/', CA: 'https://docs.ovh.com/ca/en/storage/', diff --git a/packages/manager/modules/pci/src/projects/project/storages/cold-archive/add/components/steps/link-user-archive/controller.js b/packages/manager/modules/pci/src/projects/project/storages/cold-archive/add/components/steps/link-user-archive/controller.js index 3df90b303faf..4d07aa8319fd 100644 --- a/packages/manager/modules/pci/src/projects/project/storages/cold-archive/add/components/steps/link-user-archive/controller.js +++ b/packages/manager/modules/pci/src/projects/project/storages/cold-archive/add/components/steps/link-user-archive/controller.js @@ -13,12 +13,16 @@ export default class ColdArchiveLinkUserArchiveController { $translate, CucCloudMessage, PciStoragesColdArchiveService, + PciStoragesObjectStorageService, atInternet, + $q, ) { this.$translate = $translate; this.CucCloudMessage = CucCloudMessage; this.pciStoragesColdArchiveService = PciStoragesColdArchiveService; + this.PciStoragesObjectStorageService = PciStoragesObjectStorageService; this.atInternet = atInternet; + this.$q = $q; this.USER_SUCCESS_BANNER = COLD_ARCHIVE_TRACKING.ADD_USER.USER_SUCCESS_BANNER; @@ -247,14 +251,23 @@ export default class ColdArchiveLinkUserArchiveController { ) : Service.generateS3Credentials(this.projectId, user.id); + const secretPromise = this.PciStoragesObjectStorageService.getS3Secret( + this.projectId, + user.id, + user.s3Credentials?.access, + ); this.userModel.linkedMode.isInProgress = true; - return taskPromise - .then((credential) => { + return this.$q + .all([taskPromise, secretPromise]) + .then(([credential, secretData]) => { this.trackPage( `${COLD_ARCHIVE_TRACKING.ADD_USER.ASSOCIATE.ASSOCIATE_USER}_${COLD_ARCHIVE_TRACKING.STATUS.SUCCESS}`, ); this.userModel.linkedMode.selected.s3Credentials = credential; - this.userModel.linkedMode.credential = credential; + this.userModel.linkedMode.credential = { + ...credential, + secret: secretData.secret, + }; }) .catch(() => { this.trackPage( diff --git a/packages/manager/modules/pci/src/projects/project/storages/components/field-clipboard/component.js b/packages/manager/modules/pci/src/projects/project/storages/components/field-clipboard/component.js index 0beef03b7264..a71640ecce70 100644 --- a/packages/manager/modules/pci/src/projects/project/storages/components/field-clipboard/component.js +++ b/packages/manager/modules/pci/src/projects/project/storages/components/field-clipboard/component.js @@ -4,7 +4,7 @@ import controller from './controller'; const component = { bindings: { isDisplayableShowHidePasswordBtn: '<', - fieldId: '<', + fieldId: '@', fieldKeyLabel: '<', fieldKeyValue: '<', onCopyClick: '&', diff --git a/packages/manager/modules/pci/src/projects/project/storages/containers/add/components/associate-user-to-container/controller.js b/packages/manager/modules/pci/src/projects/project/storages/containers/add/components/associate-user-to-container/controller.js index 6350e44f8773..65f205f3729f 100644 --- a/packages/manager/modules/pci/src/projects/project/storages/containers/add/components/associate-user-to-container/controller.js +++ b/packages/manager/modules/pci/src/projects/project/storages/containers/add/components/associate-user-to-container/controller.js @@ -17,12 +17,14 @@ export default class CreateLinkedUserController { $translate, CucCloudMessage, PciStoragesUsersService, + PciStoragesObjectStorageService, atInternet, ) { this.$q = $q; this.$translate = $translate; this.CucCloudMessage = CucCloudMessage; this.PciStoragesUsersService = PciStoragesUsersService; + this.PciStoragesObjectStorageService = PciStoragesObjectStorageService; this.atInternet = atInternet; } @@ -178,24 +180,35 @@ export default class CreateLinkedUserController { onLinkedUserClicked() { this.trackClick(`${TRACKING_ASSOCIATE_USER}-confirm`); - - const service = this.PciStoragesUsersService; const { selected: user } = this.userModel.linkedMode; - const defaultCredential = user.s3Credentials; - const functionToCallPromise = defaultCredential + const service = this.PciStoragesUsersService; + + const credentialPromise = user.s3Credentials ? service.getS3Credential( this.projectId, user.id, - defaultCredential.access, + user.s3Credentials.access, ) : service.generateS3Credential(this.projectId, user.id); + + const secretPromise = this.PciStoragesObjectStorageService.getS3Secret( + this.projectId, + user.id, + user.s3Credentials?.access, + ); + this.userModel.linkedMode.isInProgress = true; - return functionToCallPromise - .then((credential) => { + return this.$q + .all([credentialPromise, secretPromise]) + .then(([credential, secretData]) => { this.trackPage(`${TRACKING_ASSOCIATE_USER}-success`); + user.s3Credentials = credential; - this.userModel.linkedMode.credential = credential; + this.userModel.linkedMode.credential = { + ...credential, + secret: secretData.secret, + }; }) .catch(() => { this.trackPage(`${TRACKING_ASSOCIATE_USER}-error`); diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.component.js b/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.component.js deleted file mode 100644 index 006e071b1e91..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.component.js +++ /dev/null @@ -1,16 +0,0 @@ -import controller from './delete.controller'; -import template from './delete.html'; - -const component = { - bindings: { - goToHomePage: '<', - instance: '<', - projectId: '<', - workflow: '<', - workflowId: '<', - }, - controller, - template, -}; - -export default component; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.constants.js b/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.constants.js deleted file mode 100644 index b7ff342bdd0d..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.constants.js +++ /dev/null @@ -1,5 +0,0 @@ -export const DELETE_CONFIRMATION_INPUT = /^DELETE$/; - -export default { - DELETE_CONFIRMATION_INPUT, -}; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.controller.js b/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.controller.js deleted file mode 100644 index 1bc27b1ca1bd..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.controller.js +++ /dev/null @@ -1,41 +0,0 @@ -import get from 'lodash/get'; - -import { DELETE_CONFIRMATION_INPUT } from './delete.constants'; - -export default class WorkflowDeleteCtrl { - /* @ngInject */ - constructor($translate, OvhApiCloudProjectRegionWorkflowBackup) { - this.$translate = $translate; - this.OvhApiCloudProjectRegionWorkflowBackup = OvhApiCloudProjectRegionWorkflowBackup; - this.DELETE_CONFIRMATION_INPUT = DELETE_CONFIRMATION_INPUT; - } - - $onInit() { - this.isDeleting = false; - } - - delete() { - this.isDeleting = true; - return this.OvhApiCloudProjectRegionWorkflowBackup.v6() - .delete({ - backupWorkflowId: this.workflowId, - regionName: this.instance.region, - serviceName: this.projectId, - }) - .$promise.then(() => - this.goToHomePage( - this.$translate.instant('pci_workflow_delete_success', { - workflowName: this.workflow.name, - }), - ), - ) - .catch((error) => - this.goToHomePage( - this.$translate.instant('pci_workflow_delete_error', { - message: get(error, 'data.message'), - }), - 'error', - ), - ); - } -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.html b/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.html deleted file mode 100644 index 5df279fde535..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.html +++ /dev/null @@ -1,35 +0,0 @@ -
- -

-

- - - -
-
diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.module.js b/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.module.js deleted file mode 100644 index 207233b8cb78..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.module.js +++ /dev/null @@ -1,14 +0,0 @@ -import angular from 'angular'; - -import component from './delete.component'; -import routing from './delete.routing'; - -const moduleName = 'ovhManagerPciProjectWorkflowDelete'; - -angular - .module(moduleName, []) - .config(routing) - .run(/* @ngTranslationsInject:json ./translations */) - .component('pciProjectWorkflowDeleteComponent', component); - -export default moduleName; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.routing.js b/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.routing.js deleted file mode 100644 index 21d388aafeb2..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/delete.routing.js +++ /dev/null @@ -1,42 +0,0 @@ -export default /* @ngInject */ ($stateProvider) => { - $stateProvider.state('pci.projects.project.workflow.delete', { - url: '/delete?workflowId', - views: { - modal: { - component: 'pciProjectWorkflowDeleteComponent', - }, - }, - layout: 'modal', - params: { - workflow: null, - }, - redirectTo: (transition) => { - const { workflow, projectId } = transition.params(); - if (!workflow || !workflow.instanceId) { - return { - state: 'pci.projects.project.workflow', - params: { - projectId, - }, - }; - } - return null; - }, - resolve: { - workflowId: /* @ngInject */ ($stateParams) => $stateParams.workflowId, - workflow: /* @ngInject */ ($stateParams) => $stateParams.workflow, - - instance: /* @ngInject */ ( - OvhApiCloudProjectInstance, - projectId, - workflow, - ) => - OvhApiCloudProjectInstance.v6().get({ - serviceName: projectId, - instanceId: workflow.instanceId, - }).$promise, - - breadcrumb: () => null, - }, - }); -}; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/index.js b/packages/manager/modules/pci/src/projects/project/workflow/delete/index.js deleted file mode 100644 index 9db2d167894d..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import angular from 'angular'; -import '@uirouter/angularjs'; -import 'oclazyload'; - -const moduleName = 'ovhManagerPciProjectWorkflowDeleteLazyloading'; - -angular.module(moduleName, ['ui.router', 'oc.lazyLoad']).config( - /* @ngInject */ ($stateProvider) => { - $stateProvider.state('pci.projects.project.workflow.delete.**', { - url: '/delete', - lazyLoad: ($transition$) => { - const $ocLazyLoad = $transition$.injector().get('$ocLazyLoad'); - return import('./delete.module').then((mod) => - $ocLazyLoad.inject(mod.default || mod), - ); - }, - }); - }, -); - -export default moduleName; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_de_DE.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_de_DE.json deleted file mode 100644 index a5b75ae1f556..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_de_DE.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Sind Sie sicher, dass Sie den Workflow-Schedule '{{ workflowName }}' löschen möchten?", - "pci_workflow_delete_warning": "Dieser Vorgang kann nicht rückgängig gemacht werden.", - "pci_workflow_delete_enter": "Geben Sie im folgenden Feld DELETE ein, um den Vorgang zu bestätigen.", - "pci_workflow_delete_success": "Workflow-Schedule '{{ workflowName }}' erfolgreich gelöscht", - "pci_workflow_delete_error": "Beim Löschen ist ein Fehler aufgetreten: {{ message }}", - "pci_workflow_common_delete": "Löschen", - "pci_workflow_common_cancel": "Abbrechen" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_en_GB.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_en_GB.json deleted file mode 100644 index 8256eb54199d..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_en_GB.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Are you sure you want to delete the '{{ workflowName }}' workflow schedule?", - "pci_workflow_delete_warning": "This action cannot be cancelled or undone.", - "pci_workflow_delete_enter": "Enter DELETE into the following field to confirm your action.", - "pci_workflow_delete_success": "The '{{ workflowName }}' workflow schedule has been deleted.", - "pci_workflow_delete_error": "An error has occurred during the deletion: {{ message }}", - "pci_workflow_common_delete": "Delete", - "pci_workflow_common_cancel": "Cancel" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_es_ES.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_es_ES.json deleted file mode 100644 index a35ed660dfd5..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_es_ES.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "¿Seguro que quiere eliminar la planificación del flujo de trabajo «{{ workflowName }}»?", - "pci_workflow_delete_warning": "Esta acción no se puede deshacer.", - "pci_workflow_delete_enter": "Introduzca «DELETE» en el siguiente campo para confirmar la acción.", - "pci_workflow_delete_success": "La planificación del flujo de trabajo «{{ workflowName }}» se ha eliminado correctamente.", - "pci_workflow_delete_error": "Se ha producido un error al eliminar la planificación del flujo de trabajo: {{ message }}.", - "pci_workflow_common_delete": "Eliminar", - "pci_workflow_common_cancel": "Cancelar" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_fr_CA.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_fr_CA.json deleted file mode 100644 index 00266019d4aa..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_fr_CA.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Êtes-vous sûr de vouloir supprimer le planning de workflow '{{ workflowName }}' ?", - "pci_workflow_delete_warning": "Cette action ne peut pas être annulée.", - "pci_workflow_delete_enter": "Tapez DELETE dans le champ suivant pour confirmer votre action.", - "pci_workflow_delete_success": "Workflow schedule '{{ workflowName }}' supprimé avec succès", - "pci_workflow_delete_error": "Une erreur s'est produite lors de la suppression : {{ message }}", - "pci_workflow_common_delete": "Supprimer", - "pci_workflow_common_cancel": "Annuler" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_fr_FR.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_fr_FR.json deleted file mode 100644 index 00266019d4aa..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_fr_FR.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Êtes-vous sûr de vouloir supprimer le planning de workflow '{{ workflowName }}' ?", - "pci_workflow_delete_warning": "Cette action ne peut pas être annulée.", - "pci_workflow_delete_enter": "Tapez DELETE dans le champ suivant pour confirmer votre action.", - "pci_workflow_delete_success": "Workflow schedule '{{ workflowName }}' supprimé avec succès", - "pci_workflow_delete_error": "Une erreur s'est produite lors de la suppression : {{ message }}", - "pci_workflow_common_delete": "Supprimer", - "pci_workflow_common_cancel": "Annuler" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_it_IT.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_it_IT.json deleted file mode 100644 index 33665c730171..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_it_IT.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Vuoi davvero eliminare la pianificazione del workflow '{{ workflowName }}'?", - "pci_workflow_delete_warning": "Questa azione non può essere annullata.", - "pci_workflow_delete_enter": "Inserisci DELETE nel campo qui sotto per confermare l’operazione.", - "pci_workflow_delete_success": "Pianificazione del workflow '{{ workflowName }}' eliminata correttamente", - "pci_workflow_delete_error": "Si è verificato un errore durante l'operazione di eliminazione: {{ message }}", - "pci_workflow_common_delete": "Elimina", - "pci_workflow_common_cancel": "Annulla" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_pl_PL.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_pl_PL.json deleted file mode 100644 index dcbf42671ae2..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_pl_PL.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Czy na pewno chcesz usunąć planowanie workflowu '{{workflowName}}'?", - "pci_workflow_delete_warning": "Operacja ta nie może być anulowana.", - "pci_workflow_delete_enter": "Wprowadź DELETE w następnym polu, aby potwierdzić operację.", - "pci_workflow_delete_success": "Harmonogram workflowu '{{workflowName}}' został usunięty.", - "pci_workflow_delete_error": "Wystąpił błąd podczas usuwania: {{ message }}.", - "pci_workflow_common_delete": "Usuń", - "pci_workflow_common_cancel": "Anuluj" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_pt_PT.json b/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_pt_PT.json deleted file mode 100644 index 43ae732050ce..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/delete/translations/Messages_pt_PT.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_delete_confirmation": "Tem a certeza de que quer eliminar o planeamento de fluxos de trabalho '{{ workflowName }}'?", - "pci_workflow_delete_warning": "Esta ação não pode ser anulada.", - "pci_workflow_delete_enter": "Introduza “DELETE” no seguinte campo para confirmar a sua ação.", - "pci_workflow_delete_success": "Planeamento do fluxo de trabalho '{{ workflowName }}' eliminado com êxito", - "pci_workflow_delete_error": "Ocorreu um erro durante a eliminação: {{ message }}", - "pci_workflow_common_delete": "Eliminar", - "pci_workflow_common_cancel": "Anular" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.component.js b/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.component.js deleted file mode 100644 index f78bd2545050..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.component.js +++ /dev/null @@ -1,10 +0,0 @@ -import template from './executions.html'; - -export default { - bindings: { - executions: '<', - projectId: '<', - workflow: '<', - }, - template, -}; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.html b/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.html deleted file mode 100644 index ddb1a7aca7e4..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.html +++ /dev/null @@ -1,45 +0,0 @@ -

- - - - - - - - - - - - - diff --git a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.module.js b/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.module.js deleted file mode 100644 index d1763fb8cfbd..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.module.js +++ /dev/null @@ -1,26 +0,0 @@ -import angular from 'angular'; -import '@uirouter/angularjs'; -import '@ovh-ux/ng-translate-async-loader'; -import '@ovh-ux/ng-ovh-cloud-universe-components'; -import 'angular-translate'; -import 'ovh-api-services'; -import '@ovh-ux/ui-kit'; - -import component from './executions.component'; -import routing from './executions.routing'; - -const moduleName = 'ovhManagerPciProjectWorkflowExecutionsModule'; - -angular - .module(moduleName, [ - 'ngOvhCloudUniverseComponents', - 'ngTranslateAsyncLoader', - 'oui', - 'ovh-api-services', - 'pascalprecht.translate', - 'ui.router', - ]) - .config(routing) - .component('ovhManagerPciProjectWorkflowExecutions', component); - -export default moduleName; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.routing.js b/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.routing.js deleted file mode 100644 index 6fea4c33df06..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/executions/executions.routing.js +++ /dev/null @@ -1,34 +0,0 @@ -import filter from 'lodash/filter'; -import head from 'lodash/head'; - -export default /* @ngInject */ ($stateProvider) => { - $stateProvider.state('pci.projects.project.workflow.executions', { - url: '/:workflowId/executions', - component: 'ovhManagerPciProjectWorkflowExecutions', - params: { - workflow: null, - }, - resolve: { - workflowId: /* @ngInject */ ($stateParams) => $stateParams.workflowId, - getWorkflow: /* @ngInject */ ( - $stateParams, - workflows, - workflowId, - ) => () => { - if ($stateParams.workflow) { - return $stateParams.workflow; - } - return head(filter(workflows, ({ id }) => id === workflowId)); - }, - workflow: /* @ngInject */ (getWorkflow) => getWorkflow(), - executions: /* @ngInject */ (workflow) => { - if (workflow && workflow.executions) { - return workflow.executions; - } - return []; - }, - breadcrumb: /* @ngInject */ ($translate) => - $translate.instant('pci_workflow_executions'), - }, - }); -}; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/executions/index.js b/packages/manager/modules/pci/src/projects/project/workflow/executions/index.js deleted file mode 100644 index bcdb7f0f3307..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/executions/index.js +++ /dev/null @@ -1,26 +0,0 @@ -import angular from 'angular'; -import '@uirouter/angularjs'; -import 'oclazyload'; - -import '@ovh-ux/manager-core'; - -const moduleName = 'ovhManagerPciProjectWorkflowExecutionsLazyloadingModule'; - -angular - .module(moduleName, ['ui.router', 'ovhManagerCore', 'oc.lazyLoad']) - .config( - /* @ngInject */ ($stateProvider) => { - $stateProvider.state('pci.projects.project.workflow.executions.**', { - url: '/:workflowId/executions', - lazyLoad: ($transition$) => { - const $ocLazyLoad = $transition$.injector().get('$ocLazyLoad'); - - return import('./executions.module').then((mod) => - $ocLazyLoad.inject(mod.default || mod), - ); - }, - }); - }, - ); - -export default moduleName; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/assets/workflow.png b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/assets/workflow.png deleted file mode 100644 index 202a43ffba11..000000000000 Binary files a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/assets/workflow.png and /dev/null differ diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/index.js b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/index.js deleted file mode 100644 index c325629c10be..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import angular from 'angular'; -import '@uirouter/angularjs'; -import 'oclazyload'; - -const moduleName = 'ovhManagerPciWorkflowOnboardingLazyLoading'; - -angular.module(moduleName, ['ui.router', 'oc.lazyLoad']).config( - /* @ngInject */ ($stateProvider) => { - $stateProvider.state('pci.projects.project.workflow.onboarding.**', { - url: '/onboarding', - lazyLoad: ($transition$) => { - const $ocLazyLoad = $transition$.injector().get('$ocLazyLoad'); - return import('./onboarding.module').then((mod) => - $ocLazyLoad.inject(mod.default || mod), - ); - }, - }); - }, -); - -export default moduleName; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.component.js b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.component.js deleted file mode 100644 index d7913537e2cf..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.component.js +++ /dev/null @@ -1,12 +0,0 @@ -import controller from './onboarding.controller'; -import template from './onboarding.html'; - -export default { - controller, - template, - bindings: { - add: '<', - instances: '<', - goToNewInstancePage: '<', - }, -}; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.constants.js b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.constants.js deleted file mode 100644 index 67afef871d86..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.constants.js +++ /dev/null @@ -1,3 +0,0 @@ -export const GUIDES = []; - -export default { GUIDES }; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.controller.js b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.controller.js deleted file mode 100644 index b20a7583b6fb..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.controller.js +++ /dev/null @@ -1,31 +0,0 @@ -import reduce from 'lodash/reduce'; - -import illustration from './assets/workflow.png'; -import { GUIDES } from './onboarding.constants'; - -export default class { - /* @ngInject */ - constructor($translate) { - this.$translate = $translate; - } - - $onInit() { - this.illustration = illustration; - this.guides = reduce( - GUIDES, - (list, guide) => [ - ...list, - { - ...guide, - title: this.$translate.instant( - `pci_workflow_guides_${guide.id}_title`, - ), - description: this.$translate.instant( - `pci_workflow_guides_${guide.id}_description`, - ), - }, - ], - [], - ); - } -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.html b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.html deleted file mode 100644 index 82bb9c012acb..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.html +++ /dev/null @@ -1,32 +0,0 @@ - -

-

- -

-

-

- - - - -
-

- - - -
-
diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.module.js b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.module.js deleted file mode 100644 index 1e72878163ea..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.module.js +++ /dev/null @@ -1,25 +0,0 @@ -import angular from 'angular'; -import '@ovh-ux/ng-translate-async-loader'; -import '@uirouter/angularjs'; -import 'angular-translate'; -import '@ovh-ux/ui-kit'; -import { OnboardingLayoutHelper } from '@ovh-ux/manager-ng-layout-helpers'; - -import component from './onboarding.component'; -import routing from './onboarding.routing'; - -const moduleName = 'ovhManagerPciWorkflowOnboardingModule'; - -angular - .module(moduleName, [ - 'ngTranslateAsyncLoader', - 'oui', - 'pascalprecht.translate', - 'ui.router', - OnboardingLayoutHelper, - ]) - .config(routing) - .component('pciProjectWorkflowOnboarding', component) - .run(/* @ngTranslationsInject:json ./translations */); - -export default moduleName; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.routing.js b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.routing.js deleted file mode 100644 index ccf0cd1d439e..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/onboarding.routing.js +++ /dev/null @@ -1,27 +0,0 @@ -export default /* @ngInject */ ($stateProvider) => { - $stateProvider.state('pci.projects.project.workflow.onboarding', { - url: '/onboarding', - component: 'pciProjectWorkflowOnboarding', - redirectTo: (transition) => - transition - .injector() - .getAsync('workflows') - .then((workflow) => - workflow.length > 0 - ? { state: 'pci.projects.project.workflow' } - : false, - ), - resolve: { - instances: /* @ngInject */ (OvhApiCloudProjectInstance, projectId) => - OvhApiCloudProjectInstance.v6().query({ - serviceName: projectId, - }).$promise, - goToNewInstancePage: /* @ngInject */ ($state, projectId) => () => { - $state.go('pci.projects.project.instances.add', { - projectId, - }); - }, - breadcrumb: () => null, // Hide breadcrumb - }, - }); -}; diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_de_DE.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_de_DE.json deleted file mode 100644 index 0159ad725ff0..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_de_DE.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Sie haben noch keinen Workflow-Management-Dienst eingerichtet.", - "pci_workflow_onboarding_content2": "Automatisieren Sie Tasks auf Basis Ihrer Geschäftslogik, um Ihre Cloud-Ressourcen zu verwalten und jede Situation zu bewältigen.", - "pci_workflow_onboarding_content3": "Sie können Workflow-Ausführungen programmieren, um Tasks auf Ihrer Infrastruktur durchzuführen. Wir haben häufige Workflows vorkonfiguriert, um Ihnen dabei zu helfen. Zum Beispiel automatische Instanz-Backups, automatisierte Snapshots für Block Storage und noch viel mehr.", - "pci_workflow_onboarding_content4": "Sie können auch die OpenStack-Mistral-API verwenden, um fortgeschrittene Workflows zu verwalten.", - "pci_workflow_onboarding_content5": "Erstellen, Scheduling und Ausführen der Workflows sind kostenlos. Es werden nur die durch die Workflows erstellten Ressourcen abgerechnet.", - "pci_workflow_onboarding_no_instance": "Um einen Workflow zu erstellen, ist mindestens eine Instanz erforderlich.", - "pci_workflow_onboarding_create_instance": "Instanz erstellen" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_en_GB.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_en_GB.json deleted file mode 100644 index f846638177c0..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_en_GB.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "You have not yet created a workflow management service.", - "pci_workflow_onboarding_content2": "Automate tasks to manage your cloud resources in accordance with your business logic, so that you can respond to all kinds of situations.", - "pci_workflow_onboarding_content3": "You can schedule your workflow executions to execute tasks on your infrastructure. We have pre-configured common workflows to help you out. For example, automatic backups on instances, an automatic snapshot on block storage, and more.", - "pci_workflow_onboarding_content4": "You can also use the OpenStack Mistral API to manage advanced workflows.", - "pci_workflow_onboarding_content5": "Workflows are free to create, schedule and execute. Only the resources created by the workflows are billed.", - "pci_workflow_onboarding_no_instance": "To create a workflow, you will need at least one instance.", - "pci_workflow_onboarding_create_instance": "Create an instance" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_es_ES.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_es_ES.json deleted file mode 100644 index d1443de5d266..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_es_ES.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Todavía no ha creado ningún servicio de gestión de flujos de trabajo.", - "pci_workflow_onboarding_content2": "Automatice tareas para gestionar sus recursos cloud y así dar respuesta a las distintas necesidades de su negocio.", - "pci_workflow_onboarding_content3": "Puede programar ejecuciones de flujos de trabajo (workflows) para realizar tareas en su infraestructura. Hemos preconfigurado los flujos de trabajo más comunes para ayudarle, por ejemplo, backups automatizados en las instancias, snapshots automatizados en Block Storage y más.", - "pci_workflow_onboarding_content4": "También puede utilizar directamente la API de OpenStack Mistral para gestionar los flujos de trabajo avanzados.", - "pci_workflow_onboarding_content5": "La creación, la planificación y la ejecución de los flujos de trabajo son gratuitas (solo se facturarán los recursos creados).", - "pci_workflow_onboarding_no_instance": "Para crear un flujo de trabajo necesita al menos una instancia.", - "pci_workflow_onboarding_create_instance": "Crear una instancia" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_fr_CA.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_fr_CA.json deleted file mode 100644 index e02ecb7783c3..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_fr_CA.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Vous n'avez pas encore créé de service de gestion du Workflow.", - "pci_workflow_onboarding_content2": "Automatisez vos tâches pour manipuler vos ressources cloud, en fonction de votre logique métier, afin de répondre à chaque situation.", - "pci_workflow_onboarding_content3": "Vous pouvez programmer des exécutions de Workflow pour exécuter des tâches sur votre infrastructure. Nous avons préconfiguré des flux de travail communs pour vous aider. Par exemple, des sauvegardes automatisées sur Instances, un snapshot automatisé sur Block Storage et plus encore.", - "pci_workflow_onboarding_content4": "Vous pouvez également utiliser directement l'API OpenStack Mistral API pour gérer les workflows avancés.", - "pci_workflow_onboarding_content5": "La création, l'ordonnancement et l'exécution des workflows sont gratuits, seules les ressources créées par les workflows seront facturées.", - "pci_workflow_onboarding_no_instance": "Pour créer un Workflow, au moins une instance est nécessaire.", - "pci_workflow_onboarding_create_instance": "Créer une instance" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_fr_FR.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_fr_FR.json deleted file mode 100644 index e02ecb7783c3..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_fr_FR.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Vous n'avez pas encore créé de service de gestion du Workflow.", - "pci_workflow_onboarding_content2": "Automatisez vos tâches pour manipuler vos ressources cloud, en fonction de votre logique métier, afin de répondre à chaque situation.", - "pci_workflow_onboarding_content3": "Vous pouvez programmer des exécutions de Workflow pour exécuter des tâches sur votre infrastructure. Nous avons préconfiguré des flux de travail communs pour vous aider. Par exemple, des sauvegardes automatisées sur Instances, un snapshot automatisé sur Block Storage et plus encore.", - "pci_workflow_onboarding_content4": "Vous pouvez également utiliser directement l'API OpenStack Mistral API pour gérer les workflows avancés.", - "pci_workflow_onboarding_content5": "La création, l'ordonnancement et l'exécution des workflows sont gratuits, seules les ressources créées par les workflows seront facturées.", - "pci_workflow_onboarding_no_instance": "Pour créer un Workflow, au moins une instance est nécessaire.", - "pci_workflow_onboarding_create_instance": "Créer une instance" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_it_IT.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_it_IT.json deleted file mode 100644 index 430ce229e0ba..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_it_IT.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Non hai ancora creato servizi di gestione del workflow", - "pci_workflow_onboarding_content2": "Rendi automatiche le operazioni di gestione delle risorse Cloud per rispondere alle esigenze della tua attività.", - "pci_workflow_onboarding_content3": "È possibile pianificare l’esecuzione del workflow per avviare automaticamente task sulla tua infrastruttura. Per aiutarti, sono disponibili workflow comuni preconfigurati. Ad esempio backup automatizzati sulle istanze, Snapshot automatizzati su Block Storage, e molto altro.", - "pci_workflow_onboarding_content4": "Grazie a OpenStack Mistral è inoltre possibile utilizzare direttamente l’API per gestire workflow avanzati.", - "pci_workflow_onboarding_content5": "La creazione, pianificazione ed esecuzione dei workflow sono gratuite, solo le risorse create dai workflow verranno fatturate.", - "pci_workflow_onboarding_no_instance": "Per creare un workflow è necessario disporre di almeno un’istanza.", - "pci_workflow_onboarding_create_instance": "Crea un'istanza" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_pl_PL.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_pl_PL.json deleted file mode 100644 index 14749531969e..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_pl_PL.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Nie uruchomiłeś jeszcze usługi zarządzania workflowami.", - "pci_workflow_onboarding_content2": "Automatyzuj Twoje zadania i zarządzaj zasobami cloud zgodnie z Twoimi celami biznesowymi.", - "pci_workflow_onboarding_content3": "Możesz zaprogramować wykonywanie zadań jako workflowów na Twojej infrastrukturze. Aby ułatwić Ci zadanie, wstępnie skonfigurowaliśmy wspólne przepływy prac (workflowy). Na przykład, automatyczne kopie zapasowe na instancjach, automatyczny snapshot na Block Storage i inne.", - "pci_workflow_onboarding_content4": "Możesz również skorzystać bezpośrednio z OpenStack Mistral API, aby zarządzać zaawansowanymi przepływami prac.", - "pci_workflow_onboarding_content5": "Tworzenie, zarządzanie i uruchamianie workflowów jest bezpłatne, jedynie zasoby tworzone podczas automatycznego wykonywania zadań są fakturowane.", - "pci_workflow_onboarding_no_instance": "Aby utworzyć workflow, niezbędna jest co najmniej jedna instancja.", - "pci_workflow_onboarding_create_instance": "Utwórz instancję" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_pt_PT.json b/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_pt_PT.json deleted file mode 100644 index 857f70bb0aec..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/onboarding/translations/Messages_pt_PT.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pci_workflow_onboarding_content1": "Ainda não criou nenhum serviço de gestão do fluxo de trabalho.", - "pci_workflow_onboarding_content2": "Automatize as suas tarefas para manipular os seus recursos cloud, em função da sua lógica profissional para responder a todas as situações.", - "pci_workflow_onboarding_content3": "Pode programar execuções de fluxo de trabalho para executar tarefas na sua infraestrutura. Predefinimos fluxos de trabalho comuns para o ajudar. Por exemplo, backups automatizados nas instâncias, uma snapshot automatizada no Block Storage e muito mais.", - "pci_workflow_onboarding_content4": "Também pode utilizar diretamente a API OpenStack Mistral API para gerir os fluxos de trabalho avançados.", - "pci_workflow_onboarding_content5": "A criação, planeamento e execução dos fluxos de trabalho são gratuitos, e apenas serão faturados os recursos criados pelos fluxos de trabalho.", - "pci_workflow_onboarding_no_instance": "Para criar um fluxo de trabalho, deve ter pelo menos uma instância.", - "pci_workflow_onboarding_create_instance": "Criar uma instância" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_de_DE.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_de_DE.json deleted file mode 100644 index ced7786028c8..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_de_DE.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Workflow Management", - "pci_workflow_name": "Name", - "pci_workflow_type": "Workflow", - "pci_workflow_resource": "Zugeteilte Ressourcen", - "pci_workflow_schedule": "Scheduling (UNIX Cron)", - "pci_workflow_last_execution": "Letzte Ausführung (UTC)", - "pci_workflow_last_execution_status": "Letzter Ausführungsstatus", - "pci_workflow_delete": "Löschen", - "pci_workflow_delete_title": "Workflow-Schedule löschen", - "pci_workflow_type_instance_backup_title": "Automatisches Instance Backup", - "pci_workflow_view_executions": "Ausführungen anzeigen", - "pci_workflow_execution_status_IDLE": "Inaktiv", - "pci_workflow_execution_status_RUNNING": "Wird ausgeführt", - "pci_workflow_execution_status_SUCCESS": "Erfolgreich", - "pci_workflow_execution_status_ERROR": "Fehler", - "pci_workflow_execution_status_PAUSED": "Pause", - "pci_workflow_executions_title": "Ausführungen des Workflows '{{ workflowName }}'", - "pci_workflow_executions_empty": "Keine Ausführungen gefunden", - "pci_workflow_executions_ececution_date": "Datum (UTC)", - "pci_workflow_executions_ececution_time": "Uhr (UTC)", - "pci_workflow_executions_status": "Status", - "pci_workflow_add": "Schedule erstellen", - "pci_workflow_executions": "Ausführungen", - "pci_workflow_id": "ID" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_en_GB.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_en_GB.json deleted file mode 100644 index 437e7b7506f4..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_en_GB.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Workflow management", - "pci_workflow_name": "Name", - "pci_workflow_type": "Workflow", - "pci_workflow_resource": "Target resources", - "pci_workflow_schedule": "Scheduling (UNIX Cron)", - "pci_workflow_last_execution": "Last execution (UTC)", - "pci_workflow_last_execution_status": "Last execution status", - "pci_workflow_delete": "Delete", - "pci_workflow_delete_title": "Delete workflow schedule", - "pci_workflow_type_instance_backup_title": "Automatic instance backup", - "pci_workflow_view_executions": "Show executions", - "pci_workflow_execution_status_IDLE": "Inactive", - "pci_workflow_execution_status_RUNNING": "Executing...", - "pci_workflow_execution_status_SUCCESS": "Success", - "pci_workflow_execution_status_ERROR": "Error", - "pci_workflow_execution_status_PAUSED": "Pause", - "pci_workflow_executions_title": "'{{ workflowName }}' workflow execution", - "pci_workflow_executions_empty": "No executions found", - "pci_workflow_executions_ececution_date": "Date (UTC)", - "pci_workflow_executions_ececution_time": "Time (UTC)", - "pci_workflow_executions_status": "Status", - "pci_workflow_add": "Create a schedule", - "pci_workflow_executions": "Executions", - "pci_workflow_id": "ID" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_es_ES.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_es_ES.json deleted file mode 100644 index 00055c6404df..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_es_ES.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Gestión de flujos de trabajo", - "pci_workflow_name": "Nombre", - "pci_workflow_type": "Flujo de trabajo", - "pci_workflow_resource": "Recursos", - "pci_workflow_schedule": "Planificación (cron UNIX)", - "pci_workflow_last_execution": "Última ejecución (UTC)", - "pci_workflow_last_execution_status": "Estado de la última ejecución", - "pci_workflow_delete": "Eliminar", - "pci_workflow_delete_title": "Eliminar la planificación del flujo de trabajo", - "pci_workflow_type_instance_backup_title": "Backup automatizado de instancias", - "pci_workflow_view_executions": "Ver las ejecuciones", - "pci_workflow_execution_status_IDLE": "Inactivo", - "pci_workflow_execution_status_RUNNING": "Ejecutando", - "pci_workflow_execution_status_SUCCESS": "Realizado", - "pci_workflow_execution_status_ERROR": "Error", - "pci_workflow_execution_status_PAUSED": "Pausa", - "pci_workflow_executions_title": "Ejecución del flujo de trabajo «{{ workflowName }}»", - "pci_workflow_executions_empty": "No se ha encontrado ninguna ejecución.", - "pci_workflow_executions_ececution_date": "Fecha (UTC)", - "pci_workflow_executions_ececution_time": "Hora (UTC)", - "pci_workflow_executions_status": "Estado", - "pci_workflow_add": "Crear una planificación", - "pci_workflow_executions": "Ejecuciones", - "pci_workflow_id": "ID" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_fr_CA.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_fr_CA.json deleted file mode 100644 index 92a5b14a7b8b..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_fr_CA.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Gestion du workflow", - "pci_workflow_name": "Nom", - "pci_workflow_id": "ID", - "pci_workflow_type": "Workflow", - "pci_workflow_resource": "Ressources ciblées", - "pci_workflow_schedule": "Ordonnancement (UNIX Cron)", - "pci_workflow_last_execution": "Dernière exécution (UTC)", - "pci_workflow_last_execution_status": "Dernier état d'exécution", - "pci_workflow_delete": "Supprimer", - "pci_workflow_delete_title": "Supprimer la planification du workflow", - "pci_workflow_type_instance_backup_title": "Sauvegarde automatisée des instances", - "pci_workflow_view_executions": "Afficher les exécutions", - "pci_workflow_execution_status_IDLE": "Inactif", - "pci_workflow_execution_status_RUNNING": "En cours d’exécution", - "pci_workflow_execution_status_SUCCESS": "Succès", - "pci_workflow_execution_status_ERROR": "Erreur", - "pci_workflow_execution_status_PAUSED": "Pause", - "pci_workflow_executions_title": "Exécution du Workflow '{{ workflowName }}'", - "pci_workflow_executions_empty": "Aucune exécution trouvée", - "pci_workflow_executions_ececution_date": "Date (UTC)", - "pci_workflow_executions_ececution_time": "Heure (UTC)", - "pci_workflow_executions_status": "Statut", - "pci_workflow_add": "Créer une planification", - "pci_workflow_executions": "Exécutions" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_fr_FR.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_fr_FR.json deleted file mode 100644 index 92a5b14a7b8b..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_fr_FR.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Gestion du workflow", - "pci_workflow_name": "Nom", - "pci_workflow_id": "ID", - "pci_workflow_type": "Workflow", - "pci_workflow_resource": "Ressources ciblées", - "pci_workflow_schedule": "Ordonnancement (UNIX Cron)", - "pci_workflow_last_execution": "Dernière exécution (UTC)", - "pci_workflow_last_execution_status": "Dernier état d'exécution", - "pci_workflow_delete": "Supprimer", - "pci_workflow_delete_title": "Supprimer la planification du workflow", - "pci_workflow_type_instance_backup_title": "Sauvegarde automatisée des instances", - "pci_workflow_view_executions": "Afficher les exécutions", - "pci_workflow_execution_status_IDLE": "Inactif", - "pci_workflow_execution_status_RUNNING": "En cours d’exécution", - "pci_workflow_execution_status_SUCCESS": "Succès", - "pci_workflow_execution_status_ERROR": "Erreur", - "pci_workflow_execution_status_PAUSED": "Pause", - "pci_workflow_executions_title": "Exécution du Workflow '{{ workflowName }}'", - "pci_workflow_executions_empty": "Aucune exécution trouvée", - "pci_workflow_executions_ececution_date": "Date (UTC)", - "pci_workflow_executions_ececution_time": "Heure (UTC)", - "pci_workflow_executions_status": "Statut", - "pci_workflow_add": "Créer une planification", - "pci_workflow_executions": "Exécutions" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_it_IT.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_it_IT.json deleted file mode 100644 index 047021de02e9..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_it_IT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Gestisci workflow", - "pci_workflow_name": "Nome", - "pci_workflow_type": "Workflow", - "pci_workflow_resource": "Risorse assegnate", - "pci_workflow_schedule": "Operazioni pianificate (UNIX Cron)", - "pci_workflow_last_execution": "Ultima esecuzione (UTC)", - "pci_workflow_last_execution_status": "Ultimo stato di esecuzione", - "pci_workflow_delete": "Elimina", - "pci_workflow_delete_title": "Elimina la pianificazione del workflow", - "pci_workflow_type_instance_backup_title": "Backup automatico delle istanze", - "pci_workflow_view_executions": "Visualizza l’esecuzione delle attività", - "pci_workflow_execution_status_IDLE": "Inattivo", - "pci_workflow_execution_status_RUNNING": "Esecuzione in corso...", - "pci_workflow_execution_status_SUCCESS": "Completato", - "pci_workflow_execution_status_ERROR": "Errore", - "pci_workflow_execution_status_PAUSED": "Pausa", - "pci_workflow_executions_title": "Esecuzione del workflow '{{ workflowName }}'", - "pci_workflow_executions_empty": "Nessuna esecuzione trovata", - "pci_workflow_executions_ececution_date": "Data (UTC)", - "pci_workflow_executions_ececution_time": "Ora (UTC)", - "pci_workflow_executions_status": "Stato", - "pci_workflow_add": "Aggiungi un intervento programmato", - "pci_workflow_executions": "Esecuzione delle attività", - "pci_workflow_id": "ID" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_pl_PL.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_pl_PL.json deleted file mode 100644 index bc98b66216f0..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_pl_PL.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Zarządzanie workflowami", - "pci_workflow_name": "Nazwa", - "pci_workflow_type": "Workflow", - "pci_workflow_resource": "Docelowe zasoby", - "pci_workflow_schedule": "Kolejność (UNIX Cron)", - "pci_workflow_last_execution": "Ostatnie uruchomienie (UTC)", - "pci_workflow_last_execution_status": "Ostatni stan po uruchomieniu", - "pci_workflow_delete": "Usuń", - "pci_workflow_delete_title": "Usuń harmonogram workflowu", - "pci_workflow_type_instance_backup_title": "Automatyczne kopie zapasowe instancji", - "pci_workflow_view_executions": "Wyświetl listę uruchomień", - "pci_workflow_execution_status_IDLE": "Nieaktywny", - "pci_workflow_execution_status_RUNNING": "Trwa wykonywanie", - "pci_workflow_execution_status_SUCCESS": "Operacja zakończona powodzeniem", - "pci_workflow_execution_status_ERROR": "Błąd", - "pci_workflow_execution_status_PAUSED": "Zatrzymany", - "pci_workflow_executions_title": "Uruchomienie workflowu '{{ workflowName }}'", - "pci_workflow_executions_empty": "Nie znaleziono żadnych wykonanych workflowów.", - "pci_workflow_executions_ececution_date": "Data (UTC)", - "pci_workflow_executions_ececution_time": "Godzina (UTC)", - "pci_workflow_executions_status": "Status", - "pci_workflow_add": "Utwórz harmonogram", - "pci_workflow_executions": "Uruchomienia", - "pci_workflow_id": "ID" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_pt_PT.json b/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_pt_PT.json deleted file mode 100644 index a29464ea2604..000000000000 --- a/packages/manager/modules/pci/src/projects/project/workflow/translations/Messages_pt_PT.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "pci_workflow_title": "Gestão do fluxo de trabalho", - "pci_workflow_name": "Sobrenome", - "pci_workflow_type": "Fluxo de trabalho", - "pci_workflow_resource": "Recursos atribuídos", - "pci_workflow_schedule": "Planeamento (UNIX Cron)", - "pci_workflow_last_execution": "Última execução (UTC)", - "pci_workflow_last_execution_status": "Último estado de execução", - "pci_workflow_delete": "Eliminar", - "pci_workflow_delete_title": "Eliminar o planeamento do fluxo de trabalho", - "pci_workflow_type_instance_backup_title": "Backup automatizado das instâncias", - "pci_workflow_view_executions": "Mostrar as execuções", - "pci_workflow_execution_status_IDLE": "Inativo", - "pci_workflow_execution_status_RUNNING": "Execução em curso", - "pci_workflow_execution_status_SUCCESS": "Êxito", - "pci_workflow_execution_status_ERROR": "Erro", - "pci_workflow_execution_status_PAUSED": "Pausa", - "pci_workflow_executions_title": "Execução do fluxo de trabalho '{{ workflowName }}'", - "pci_workflow_executions_empty": "Não foi encontrada nenhuma execução", - "pci_workflow_executions_ececution_date": "Data (UTC)", - "pci_workflow_executions_ececution_time": "Hora (UTC)", - "pci_workflow_executions_status": "Estado", - "pci_workflow_add": "Criar um planeamento", - "pci_workflow_executions": "Execuções", - "pci_workflow_id": "ID" -} diff --git a/packages/manager/modules/pci/src/projects/project/workflow/workflow.module.js b/packages/manager/modules/pci/src/projects/project/workflow/workflow.module.js index f5f06fb044fb..a9b2b584d049 100644 --- a/packages/manager/modules/pci/src/projects/project/workflow/workflow.module.js +++ b/packages/manager/modules/pci/src/projects/project/workflow/workflow.module.js @@ -9,9 +9,6 @@ import '@ovh-ux/ui-kit'; import add from './add'; import component from './workflow.component'; -import deleteWorkflow from './delete'; -import executions from './executions'; -import onboarding from './onboarding'; import routing from './workflow.routing'; const moduleName = 'ovhManagerPciProjectsProjectWorkflowModule'; @@ -19,9 +16,6 @@ const moduleName = 'ovhManagerPciProjectsProjectWorkflowModule'; angular .module(moduleName, [ add, - deleteWorkflow, - executions, - onboarding, 'ngTranslateAsyncLoader', 'ngOvhCloudUniverseComponents', 'oui', diff --git a/yarn.lock b/yarn.lock index 973abdeb1c23..a00bda06c6b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2663,7 +2663,7 @@ core-js-pure "^3.30.2" regenerator-runtime "^0.14.0" -"@babel/runtime@7.22.15", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.15", "@babel/runtime@^7.22.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@7.22.15", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.14.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.15", "@babel/runtime@^7.22.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.8", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0", "@babel/runtime@^7.25.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== @@ -23769,7 +23769,15 @@ react-i18next@^14.1.2: "@babel/runtime" "^7.23.9" html-parse-stringify "^3.0.1" -react-inspector@6.0.2: +react-i18next@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-15.1.0.tgz#9494e4add2389f04c205dd7628c1aa75747b98a3" + integrity sha512-zj3nJynMnZsy2gPZiOTC7XctCY5eQGqT3tcKMmfJWC9FMvgd+960w/adq61j8iPzpwmsXejqID9qC3Mqu1Xu2Q== + dependencies: + "@babel/runtime" "^7.25.0" + html-parse-stringify "^3.0.1" + +react-inspector@6.0.2, react-inspector@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-6.0.2.tgz#aa3028803550cb6dbd7344816d5c80bf39d07e9d" integrity sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==