diff options
Diffstat (limited to 'webapp/components/popover_list_members.jsx')
-rw-r--r-- | webapp/components/popover_list_members.jsx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/webapp/components/popover_list_members.jsx b/webapp/components/popover_list_members.jsx index 1518b1ebf..b28982b5d 100644 --- a/webapp/components/popover_list_members.jsx +++ b/webapp/components/popover_list_members.jsx @@ -17,6 +17,7 @@ import * as AsyncClient from 'utils/async_client.jsx'; import Client from 'client/web_client.jsx'; import * as Utils from 'utils/utils.jsx'; import Constants from 'utils/constants.jsx'; +import {canManageMembers} from 'utils/channel_utils.jsx'; import $ from 'jquery'; import React from 'react'; @@ -86,10 +87,11 @@ export default class PopoverListMembers extends React.Component { const popoverHtml = []; const members = this.props.members; const teamMembers = UserStore.getProfilesUsernameMap(); - let isAdmin = false; const currentUserId = UserStore.getCurrentId(); - isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser(); + const isSystemAdmin = UserStore.isSystemAdminForCurrentUser(); + const isTeamAdmin = TeamStore.isTeamAdminForCurrentTeam(); + const isChannelAdmin = ChannelStore.isChannelAdminForCurrentChannel(); if (members && teamMembers) { members.sort((a, b) => { @@ -156,7 +158,7 @@ export default class PopoverListMembers extends React.Component { defaultMessage='Manage Members' /> ); - if (!isAdmin && ChannelStore.isDefault(this.props.channel)) { + if (!canManageMembers(this.props.channel, isSystemAdmin, isTeamAdmin, isChannelAdmin) && !ChannelStore.isDefault(this.props.channel)) { membersName = ( <FormattedMessage id='members_popover.viewMembers' @@ -217,7 +219,7 @@ export default class PopoverListMembers extends React.Component { teamMembersModal = ( <TeamMembersModal onHide={() => this.setState({showTeamMembersModal: false})} - isAdmin={isAdmin} + isAdmin={isTeamAdmin || isSystemAdmin} /> ); } |