diff --git a/src/components/content/catalog/services/details/ServiceProvider.tsx b/src/components/content/catalog/services/details/ServiceProvider.tsx index dd2bee5b7..4da67c942 100644 --- a/src/components/content/catalog/services/details/ServiceProvider.tsx +++ b/src/components/content/catalog/services/details/ServiceProvider.tsx @@ -198,6 +198,7 @@ function ServiceProvider({ key={activeServiceDetail.id} id={activeServiceDetail.id} setIsViewDisabled={setIsViewDisabled} + serviceRegistrationState={activeServiceDetail.serviceRegistrationState} />

diff --git a/src/components/content/catalog/services/unregister/UnregisterMutation.ts b/src/components/content/catalog/services/unregister/UnregisterMutation.ts index edf82cd53..f5e125ee1 100644 --- a/src/components/content/catalog/services/unregister/UnregisterMutation.ts +++ b/src/components/content/catalog/services/unregister/UnregisterMutation.ts @@ -14,6 +14,10 @@ export function useUnregisterRequest(id: string) { mutationFn: () => { return ServiceVendorService.unregister(id); }, + // necessary to clear the mutationCache immediately. + // Otherwise, the mutation state is cached and with retries, it is not possible to get state of the + // latest request using useMutationState method. + gcTime: 0, }); } diff --git a/src/components/content/catalog/services/unregister/UnregisterService.tsx b/src/components/content/catalog/services/unregister/UnregisterService.tsx index d14eeeca9..8b9a1e7b7 100644 --- a/src/components/content/catalog/services/unregister/UnregisterService.tsx +++ b/src/components/content/catalog/services/unregister/UnregisterService.tsx @@ -7,14 +7,17 @@ import { CloseCircleOutlined } from '@ant-design/icons'; import { Button, Popconfirm } from 'antd'; import React from 'react'; import catalogStyles from '../../../../../styles/catalog.module.css'; +import { ServiceTemplateDetailVo } from '../../../../../xpanse-api/generated'; import { useUnregisterRequest } from './UnregisterMutation'; function UnregisterService({ id, setIsViewDisabled, + serviceRegistrationState, }: { id: string; setIsViewDisabled: (isViewDisabled: boolean) => void; + serviceRegistrationState: ServiceTemplateDetailVo.serviceRegistrationState; }): React.JSX.Element { const unregisterRequest = useUnregisterRequest(id); @@ -38,7 +41,10 @@ function UnregisterService({ icon={} type='primary' className={catalogStyles.catalogManageBtnClass} - disabled={unregisterRequest.isSuccess} + disabled={ + unregisterRequest.isSuccess || + serviceRegistrationState === ServiceTemplateDetailVo.serviceRegistrationState.UNREGISTERED + } > Unregister diff --git a/src/components/content/order/common/FlavorPrice.tsx b/src/components/content/order/common/FlavorPrice.tsx index 60f6690fb..71dc716bc 100644 --- a/src/components/content/order/common/FlavorPrice.tsx +++ b/src/components/content/order/common/FlavorPrice.tsx @@ -12,7 +12,7 @@ export const FlavorPrice = (): React.JSX.Element => { <> {/* TODO Will be fixed after #1597 is fixed */} - {(20).toString().concat(' ').concat('EUR/').concat('hourly')} + {(20).toString().concat(' ').concat('EUR/').concat('hour')} );