[PLT-6838] Restrict channel delete option per permission policy even for last channel member (#6706)
* channel delete option is hidden from the menu unless there is appropriate permissions as set in the policy page * apply to public channel only and add restriction to API layer * updated channel deletion
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
6d6ed309b9
Коммит
8f8a978e84
@@ -720,11 +720,7 @@ export default class ChannelHeader extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin, isChannelAdmin)) {
|
||||
if (!ChannelStore.isDefault(channel)) {
|
||||
dropdownContents.push(deleteOption);
|
||||
}
|
||||
} else if (this.state.userCount === 1) {
|
||||
if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin, isChannelAdmin, this.state.userCount)) {
|
||||
dropdownContents.push(deleteOption);
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ export default class DeleteChannelModal extends React.Component {
|
||||
|
||||
browserHistory.push(TeamStore.getCurrentTeamRelativeUrl() + '/channels/town-square');
|
||||
deleteChannel(this.props.channel.id);
|
||||
this.onHide();
|
||||
}
|
||||
|
||||
onHide() {
|
||||
|
||||
@@ -529,23 +529,21 @@ export default class Navbar extends React.Component {
|
||||
);
|
||||
}
|
||||
|
||||
if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin, isChannelAdmin) || this.state.userCount === 1) {
|
||||
if (!ChannelStore.isDefault(channel)) {
|
||||
deleteChannelOption = (
|
||||
<li role='presentation'>
|
||||
<ToggleModalButton
|
||||
role='menuitem'
|
||||
dialogType={DeleteChannelModal}
|
||||
dialogProps={{channel}}
|
||||
>
|
||||
<FormattedMessage
|
||||
id='channel_header.delete'
|
||||
defaultMessage='Delete Channel'
|
||||
/>
|
||||
</ToggleModalButton>
|
||||
</li>
|
||||
);
|
||||
}
|
||||
if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin, isChannelAdmin, this.state.userCount)) {
|
||||
deleteChannelOption = (
|
||||
<li role='presentation'>
|
||||
<ToggleModalButton
|
||||
role='menuitem'
|
||||
dialogType={DeleteChannelModal}
|
||||
dialogProps={{channel}}
|
||||
>
|
||||
<FormattedMessage
|
||||
id='channel_header.delete'
|
||||
defaultMessage='Delete Channel'
|
||||
/>
|
||||
</ToggleModalButton>
|
||||
</li>
|
||||
);
|
||||
}
|
||||
|
||||
const canLeave = channel.type === Constants.PRIVATE_CHANNEL ? this.state.userCount > 1 : true;
|
||||
|
||||
Ссылка в новой задаче
Block a user