diff --git a/managed/ui/src/components/universes/UniverseSupportBundle/UniverseSupportBundle.js b/managed/ui/src/components/universes/UniverseSupportBundle/UniverseSupportBundle.js index 19b266bee3b8..3e1280b6e0d6 100644 --- a/managed/ui/src/components/universes/UniverseSupportBundle/UniverseSupportBundle.js +++ b/managed/ui/src/components/universes/UniverseSupportBundle/UniverseSupportBundle.js @@ -3,6 +3,7 @@ import { Fragment, useCallback, useEffect, useState } from 'react'; import axios from 'axios'; import { connect, useDispatch, useSelector } from 'react-redux'; +import { toast } from 'react-toastify'; import { FirstStep } from './FirstStep/FirstStep'; import { SecondStep, updateOptions } from './SecondStep/SecondStep'; import { ThirdStep } from './ThirdStep/ThirdStep'; @@ -21,6 +22,7 @@ import './UniverseSupportBundle.scss'; import { filterTypes } from '../../metrics/MetricsComparisonModal/ComparisonFilterContextProvider'; import { isKubernetesUniverse } from '../../../utils/UniverseUtils'; import { getUniverseStatus } from '../helpers/universeHelpers'; +import { RBAC_ERR_MSG_NO_PERM } from '../../../redesign/features/rbac/common/validator/ValidatorUtils'; const stepsObj = { firstStep: 'firstStep', @@ -91,7 +93,10 @@ export const UniverseSupportBundle = (props) => { }, [supportBundles, listSupportBundle, universeDetails.universeUUID]); const saveSupportBundle = (universeUUID) => { - dispatch(crateSupportBundle(universeUUID, payload)).then(() => { + dispatch(crateSupportBundle(universeUUID, payload)).then((response) => { + if (response.error && response?.payload?.response?.status === 403) { + toast.error(RBAC_ERR_MSG_NO_PERM, { autoClose: 3000 }); + } handleStepChange(stepsObj.thirdStep); listSupportBundle(universeUUID); setPayload(defaultOptions); diff --git a/managed/ui/src/redesign/features/export-log/ExportLog.tsx b/managed/ui/src/redesign/features/export-log/ExportLog.tsx index 00f05d7bfea0..ed3b2f53b87b 100644 --- a/managed/ui/src/redesign/features/export-log/ExportLog.tsx +++ b/managed/ui/src/redesign/features/export-log/ExportLog.tsx @@ -19,6 +19,10 @@ import { TelemetryProviderMin } from './components/DeleteTelProviderModal'; import { getLinkedUniverses } from './utils/helpers'; import { TP_FRIENDLY_NAMES } from './utils/constants'; +//RBAC +import { ApiPermissionMap } from '../rbac/ApiAndUserPermMapping'; +import { RbacValidator } from '../rbac/common/RbacApiPermValidator'; + //styles import { usePillStyles } from '../../styles/styles'; import { exportLogStyles } from './utils/ExportLogStyles'; @@ -122,17 +126,25 @@ export const ExportLog: FC = () => { more - { - setDeleteModalProps({ name: row.name, uuid: row.uuid }); - setDeleteModal(true); - }} - data-testid="ExportLog-DeleteConfiguration" - disabled={!isEmpty(row.linkedUniverses)} + - {t('exportAuditLog.deleteConfig')} - + { + setDeleteModalProps({ name: row.name, uuid: row.uuid }); + setDeleteModal(true); + }} + data-testid="ExportLog-DeleteConfiguration" + disabled={!isEmpty(row.linkedUniverses)} + > + + {t('exportAuditLog.deleteConfig')} + + + ); @@ -147,15 +159,17 @@ export const ExportLog: FC = () => { {!isEmpty(finalData) ? ( - setOpenExportModal(true)} - data-testid="ExportLog-AddConfig" - > - - {t('exportAuditLog.addConfiguration')} - + + setOpenExportModal(true)} + data-testid="ExportLog-AddConfig" + > + + {t('exportAuditLog.addConfiguration')} + +