fix: hide register workspace option for non-admin users (#28154)

pull/28148/head
csuadev 3 years ago committed by GitHub
parent af9cdbf62c
commit b45c41dedf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 29
      apps/meteor/client/components/AdministrationList/AdministrationModelList.tsx

@ -1,5 +1,5 @@
import { OptionTitle } from '@rocket.chat/fuselage';
import { useTranslation, useRoute, useMethod, useSetModal } from '@rocket.chat/ui-contexts';
import { useTranslation, useRoute, useMethod, useSetModal, useRole } from '@rocket.chat/ui-contexts';
import { useQuery } from '@tanstack/react-query';
import { FlowRouter } from 'meteor/kadira:flow-router';
import type { FC } from 'react';
@ -27,6 +27,7 @@ const AdministrationModelList: FC<AdministrationModelListProps> = ({ accountBoxI
const shouldShowEmoji = isFullyFeature(tabType);
const label = getUpgradeTabLabel(tabType);
const hasInfoPermission = userHasAllPermission(INFO_PERMISSIONS);
const isAdmin = useRole('admin');
const setModal = useSetModal();
const checkCloudRegisterStatus = useMethod('cloud:checkRegisterStatus');
@ -62,18 +63,20 @@ const AdministrationModelList: FC<AdministrationModelListProps> = ({ accountBoxI
}}
/>
)}
<ListItem
icon='cloud-plus'
text={workspaceRegistered ? t('Registration') : t('Register')}
action={(): void => {
if (workspaceRegistered) {
cloudRoute.push({ context: '/' });
onDismiss();
return;
}
handleRegisterWorkspaceClick();
}}
/>
{isAdmin && (
<ListItem
icon='cloud-plus'
text={workspaceRegistered ? t('Registration') : t('Register')}
action={(): void => {
if (workspaceRegistered) {
cloudRoute.push({ context: '/' });
onDismiss();
return;
}
handleRegisterWorkspaceClick();
}}
/>
)}
{showWorkspace && (
<ListItem
icon='cog'

Loading…
Cancel
Save