diff --git a/portal-ui/src/common/SecureComponent/permissions.ts b/portal-ui/src/common/SecureComponent/permissions.ts index daa613005..58facbf68 100644 --- a/portal-ui/src/common/SecureComponent/permissions.ts +++ b/portal-ui/src/common/SecureComponent/permissions.ts @@ -427,3 +427,13 @@ export const IAM_PAGES_PERMISSIONS = { export const S3_ALL_RESOURCES = "arn:aws:s3:::*"; export const CONSOLE_UI_RESOURCE = "console-ui"; + +export const permissionTooltipHelper = (scopes: string[], name: string) => { + return ( + "You require additional permissions in order to enable " + + name + + ". Please ask your MinIO administrator to grant you " + + scopes + + " permission in order to enable Versioning." + ); +}; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx index dd50d5a32..13c1dd99c 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx @@ -59,7 +59,10 @@ import { } from "./addBucketsSlice"; import { addBucketAsync } from "./addBucketThunks"; import AddBucketName from "./AddBucketName"; -import { IAM_SCOPES } from "../../../../../common/SecureComponent/permissions"; +import { + IAM_SCOPES, + permissionTooltipHelper, +} from "../../../../../common/SecureComponent/permissions"; import { hasPermission } from "../../../../../common/SecureComponent"; import BucketNamingRules from "./BucketNamingRules"; @@ -323,10 +326,13 @@ const AddBucket = ({ classes }: IsetProps) => { { tooltip={ lockingAllowed ? "" - : "You require additional permissions in order to enable Locking. Please ask your MinIO administrator to grant you " + - (versioningAllowed - ? "" - : IAM_SCOPES.S3_PUT_BUCKET_VERSIONING + " and ") + - IAM_SCOPES.S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION + - " permissions in order to enable Locking." + : permissionTooltipHelper( + [ + IAM_SCOPES.S3_PUT_BUCKET_VERSIONING, + IAM_SCOPES.S3_PUT_BUCKET_OBJECT_LOCK_CONFIGURATION, + ], + "Locking" + ) } > { onClick={resForm} label={"Clear"} /> -