diff options
Diffstat (limited to 'webapp/components')
-rw-r--r-- | webapp/components/admin_console/policy_settings.jsx | 4 | ||||
-rw-r--r-- | webapp/components/channel_header.jsx | 5 | ||||
-rw-r--r-- | webapp/components/navbar.jsx | 10 |
3 files changed, 13 insertions, 6 deletions
diff --git a/webapp/components/admin_console/policy_settings.jsx b/webapp/components/admin_console/policy_settings.jsx index 391726a93..5d82fc69c 100644 --- a/webapp/components/admin_console/policy_settings.jsx +++ b/webapp/components/admin_console/policy_settings.jsx @@ -115,6 +115,7 @@ export default class PolicySettings extends AdminSettings { id='restrictPublicChannelManagement' values={[ {value: Constants.PERMISSIONS_ALL, text: Utils.localizeMessage('admin.general.policy.permissionsAllChannel', 'All channel members')}, + {value: Constants.PERMISSIONS_CHANNEL_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsChannelAdmin', 'Channel, Team and System Admins')}, {value: Constants.PERMISSIONS_TEAM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsAdmin', 'Team and System Admins')}, {value: Constants.PERMISSIONS_SYSTEM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsSystemAdmin', 'System Admins')} ]} @@ -137,6 +138,7 @@ export default class PolicySettings extends AdminSettings { id='restrictPublicChannelDeletion' values={[ {value: Constants.PERMISSIONS_ALL, text: Utils.localizeMessage('admin.general.policy.permissionsAllChannel', 'All channel members')}, + {value: Constants.PERMISSIONS_CHANNEL_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsChannelAdmin', 'Channel, Team and System Admins')}, {value: Constants.PERMISSIONS_TEAM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsAdmin', 'Team and System Admins')}, {value: Constants.PERMISSIONS_SYSTEM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsSystemAdmin', 'System Admins')} ]} @@ -195,6 +197,7 @@ export default class PolicySettings extends AdminSettings { id='restrictPrivateChannelManagement' values={[ {value: Constants.PERMISSIONS_ALL, text: Utils.localizeMessage('admin.general.policy.permissionsAllChannel', 'All channel members')}, + {value: Constants.PERMISSIONS_CHANNEL_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsChannelAdmin', 'Channel, Team and System Admins')}, {value: Constants.PERMISSIONS_TEAM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsAdmin', 'Team and System Admins')}, {value: Constants.PERMISSIONS_SYSTEM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsSystemAdmin', 'System Admins')} ]} @@ -217,6 +220,7 @@ export default class PolicySettings extends AdminSettings { id='restrictPrivateChannelDeletion' values={[ {value: Constants.PERMISSIONS_ALL, text: Utils.localizeMessage('admin.general.policy.permissionsAllChannel', 'All channel members')}, + {value: Constants.PERMISSIONS_CHANNEL_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsChannelAdmin', 'Channel, Team and System Admins')}, {value: Constants.PERMISSIONS_TEAM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsAdmin', 'Team and System Admins')}, {value: Constants.PERMISSIONS_SYSTEM_ADMIN, text: Utils.localizeMessage('admin.general.policy.permissionsSystemAdmin', 'System Admins')} ]} diff --git a/webapp/components/channel_header.jsx b/webapp/components/channel_header.jsx index 54e73cda5..ee060577c 100644 --- a/webapp/components/channel_header.jsx +++ b/webapp/components/channel_header.jsx @@ -243,6 +243,7 @@ export default class ChannelHeader extends React.Component { let channelTitle = channel.display_name; const isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); const isSystemAdmin = UserStore.isSystemAdminForCurrentUser(); + const isChannelAdmin = ChannelStore.isChannelAdminForCurrentChannel(); const isDirect = (this.state.channel.type === 'D'); let webrtc; @@ -476,7 +477,7 @@ export default class ChannelHeader extends React.Component { </li> ); - if (ChannelUtils.showManagementOptions(channel, isAdmin, isSystemAdmin)) { + if (ChannelUtils.showManagementOptions(channel, isAdmin, isSystemAdmin, isChannelAdmin)) { dropdownContents.push( <li key='set_channel_header' @@ -541,7 +542,7 @@ export default class ChannelHeader extends React.Component { ); } - if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin)) { + if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin, isChannelAdmin)) { if (!ChannelStore.isDefault(channel)) { dropdownContents.push(deleteOption); } diff --git a/webapp/components/navbar.jsx b/webapp/components/navbar.jsx index b54b8701e..486c5d565 100644 --- a/webapp/components/navbar.jsx +++ b/webapp/components/navbar.jsx @@ -214,7 +214,7 @@ export default class Navbar extends React.Component { } }; - createDropdown(channel, channelTitle, isAdmin, isSystemAdmin, isDirect, popoverContent) { + createDropdown(channel, channelTitle, isAdmin, isSystemAdmin, isChannelAdmin, isDirect, popoverContent) { if (channel) { let channelTerm = ( <FormattedMessage @@ -346,7 +346,7 @@ export default class Navbar extends React.Component { </li> ); - if (ChannelUtils.showManagementOptions(channel, isAdmin, isSystemAdmin)) { + if (ChannelUtils.showManagementOptions(channel, isAdmin, isSystemAdmin, isChannelAdmin)) { setChannelHeaderOption = ( <li role='presentation'> <a @@ -402,7 +402,7 @@ export default class Navbar extends React.Component { ); } - if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin) || this.state.userCount === 1) { + if (ChannelUtils.showDeleteOption(channel, isAdmin, isSystemAdmin, isChannelAdmin) || this.state.userCount === 1) { if (!ChannelStore.isDefault(channel)) { deleteChannelOption = ( <li role='presentation'> @@ -617,6 +617,7 @@ export default class Navbar extends React.Component { var popoverContent; var isAdmin = false; var isSystemAdmin = false; + var isChannelAdmin = false; var isDirect = false; var editChannelHeaderModal = null; @@ -647,6 +648,7 @@ export default class Navbar extends React.Component { isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); isSystemAdmin = UserStore.isSystemAdminForCurrentUser(); + isChannelAdmin = ChannelStore.isChannelAdminForCurrentChannel(); if (channel.type === 'O') { channelTitle = channel.display_name; @@ -753,7 +755,7 @@ export default class Navbar extends React.Component { </button> ); - var channelMenuDropdown = this.createDropdown(channel, channelTitle, isAdmin, isSystemAdmin, isDirect, popoverContent); + var channelMenuDropdown = this.createDropdown(channel, channelTitle, isAdmin, isSystemAdmin, isChannelAdmin, isDirect, popoverContent); return ( <div> |