1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-14 00:19:16 +01:00

chore: hide release plan template permissions behind feature flag (#8799)

This commit is contained in:
David Leek 2024-11-20 07:59:45 +01:00 committed by GitHub
parent b23dd940af
commit 74535e98a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -18,6 +18,7 @@ import {
} from 'utils/permissions'; } from 'utils/permissions';
import { RolePermissionCategory } from './RolePermissionCategory'; import { RolePermissionCategory } from './RolePermissionCategory';
import { useMemo } from 'react'; import { useMemo } from 'react';
import { useUiFlag } from 'hooks/useUiFlag';
interface IPermissionCategoriesProps { interface IPermissionCategoriesProps {
type: PredefinedRoleType; type: PredefinedRoleType;
@ -40,6 +41,8 @@ export const RolePermissionCategories = ({
revalidateOnFocus: false, revalidateOnFocus: false,
}); });
const releasePlansEnabled = useUiFlag('releasePlans');
const isProjectRole = PROJECT_ROLE_TYPES.includes(type); const isProjectRole = PROJECT_ROLE_TYPES.includes(type);
const categories = useMemo( const categories = useMemo(
@ -76,31 +79,40 @@ export const RolePermissionCategories = ({
return useMemo( return useMemo(
() => ( () => (
<> <>
{categories.map(({ label, type, permissions }) => ( {categories
<RolePermissionCategory .filter(
key={label} ({ label }) =>
title={`${label} permissions`} releasePlansEnabled ||
context={label.toLowerCase()} label !== 'Release plan templates',
Icon={ )
type === PROJECT_PERMISSION_TYPE ? ( .map(({ label, type, permissions }) => (
<TopicIcon color='disabled' sx={{ mr: 1 }} /> <RolePermissionCategory
) : type === ENVIRONMENT_PERMISSION_TYPE ? ( key={label}
<CloudCircleIcon title={`${label} permissions`}
color='disabled' context={label.toLowerCase()}
sx={{ mr: 1 }} Icon={
/> type === PROJECT_PERMISSION_TYPE ? (
) : ( <TopicIcon
<UserIcon color='disabled' sx={{ mr: 1 }} /> color='disabled'
) sx={{ mr: 1 }}
} />
permissions={permissions} ) : type === ENVIRONMENT_PERMISSION_TYPE ? (
checkedPermissions={checkedPermissions} <CloudCircleIcon
onPermissionChange={(permission: IPermission) => color='disabled'
onPermissionChange(permission) sx={{ mr: 1 }}
} />
onCheckAll={() => onCheckAll(permissions)} ) : (
/> <UserIcon color='disabled' sx={{ mr: 1 }} />
))} )
}
permissions={permissions}
checkedPermissions={checkedPermissions}
onPermissionChange={(permission: IPermission) =>
onPermissionChange(permission)
}
onCheckAll={() => onCheckAll(permissions)}
/>
))}
</> </>
), ),
[categories, checkedPermissions], [categories, checkedPermissions],