1
0
mirror of https://github.com/mattermost/focalboard.git synced 2025-02-07 19:30:18 +02:00

Only show the channel unlink option if you have the right permissions (#3430)

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
This commit is contained in:
Jesús Espino 2022-08-01 12:14:17 +02:00 committed by GitHub
parent 04b553621f
commit b31f2afe81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,6 +14,7 @@ import {Channel} from '../../store/channels'
import {Utils} from '../../utils' import {Utils} from '../../utils'
import mutator from '../../mutator' import mutator from '../../mutator'
import octoClient from '../../octoClient' import octoClient from '../../octoClient'
import {Permission} from '../../constants'
import PrivateIcon from '../../widgets/icons/lockOutline' import PrivateIcon from '../../widgets/icons/lockOutline'
import PublicIcon from '../../widgets/icons/globe' import PublicIcon from '../../widgets/icons/globe'
@ -21,6 +22,8 @@ import DeleteIcon from '../../widgets/icons/delete'
import CompassIcon from '../../widgets/icons/compassIcon' import CompassIcon from '../../widgets/icons/compassIcon'
import ConfirmationDialogBox from "../confirmationDialogBox" import ConfirmationDialogBox from "../confirmationDialogBox"
import BoardPermissionGate from '../permissions/boardPermissionGate'
const ChannelPermissionsRow = (): JSX.Element => { const ChannelPermissionsRow = (): JSX.Element => {
const intl = useIntl() const intl = useIntl()
const board = useAppSelector(getCurrentBoard) const board = useAppSelector(getCurrentBoard)
@ -80,26 +83,37 @@ const ChannelPermissionsRow = (): JSX.Element => {
<div className='ml-3'><strong>{linkedChannel.display_name}</strong></div> <div className='ml-3'><strong>{linkedChannel.display_name}</strong></div>
</div> </div>
<div> <div>
<MenuWrapper> <BoardPermissionGate permissions={[Permission.ManageBoardRoles]}>
<button className='user-item__button'> <MenuWrapper>
<FormattedMessage <button className='user-item__button'>
id='BoardMember.schemeEditor' <FormattedMessage
defaultMessage='Editor' id='BoardMember.schemeEditor'
/> defaultMessage='Editor'
<CompassIcon />
icon='chevron-down' <CompassIcon
className='CompassIcon' icon='chevron-down'
/> className='CompassIcon'
</button> />
<Menu position='left'> </button>
<Menu.Text <Menu position='left'>
id='Unlink' <Menu.Text
icon={<DeleteIcon/>} id='Unlink'
name={intl.formatMessage({id: 'BoardMember.unlinkChannel', defaultMessage: 'Unlink'})} icon={<DeleteIcon/>}
onClick={() => setShowUnlinkChannelConfirmation(true)} name={intl.formatMessage({id: 'BoardMember.unlinkChannel', defaultMessage: 'Unlink'})}
/> onClick={() => setShowUnlinkChannelConfirmation(true)}
</Menu> />
</MenuWrapper> </Menu>
</MenuWrapper>
</BoardPermissionGate>
<BoardPermissionGate
permissions={[Permission.ManageBoardRoles]}
invert={true}
>
<FormattedMessage
id='BoardMember.schemeEditor'
defaultMessage='Editor'
/>
</BoardPermissionGate>
</div> </div>
</div> </div>
) )