PLT-6152: Set Header in channel intro obeys permissions. (#6156)

This commit is contained in:
George Goldberg
2017-04-20 16:46:16 +01:00
committed by Corey Hulen
parent c94754e94f
commit 430e93dfc1

View File

@@ -14,6 +14,8 @@ import * as GlobalActions from 'actions/global_actions.jsx';
import Client from 'client/web_client.jsx';
import ProfilePicture from 'components/profile_picture.jsx';
import {showManagementOptions} from './channel_utils.jsx';
import React from 'react';
import {FormattedMessage, FormattedHTMLMessage, FormattedDate} from 'react-intl';
@@ -157,6 +159,15 @@ export function createOffTopicIntroMessage(channel, centeredIntro) {
/>
);
const isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser();
const isSystemAdmin = UserStore.isSystemAdminForCurrentUser();
const isChannelAdmin = ChannelStore.isChannelAdminForCurrentChannel();
let setHeaderButton = createSetHeaderButton(channel);
if (!showManagementOptions(channel, isAdmin, isSystemAdmin, isChannelAdmin)) {
setHeaderButton = null;
}
return (
<div className={'channel-intro ' + centeredIntro}>
<FormattedHTMLMessage
@@ -167,7 +178,7 @@ export function createOffTopicIntroMessage(channel, centeredIntro) {
}}
/>
{createInviteChannelMemberButton(channel, uiType)}
{createSetHeaderButton(channel)}
{setHeaderButton}
</div>
);
}
@@ -189,6 +200,7 @@ export function createDefaultIntroMessage(channel, centeredIntro) {
const isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser();
const isSystemAdmin = UserStore.isSystemAdminForCurrentUser();
const isChannelAdmin = ChannelStore.isChannelAdminForCurrentChannel();
if (global.window.mm_license.IsLicensed === 'true') {
if (global.window.mm_config.RestrictTeamInvite === Constants.PERMISSIONS_SYSTEM_ADMIN && !isSystemAdmin) {
@@ -198,6 +210,11 @@ export function createDefaultIntroMessage(channel, centeredIntro) {
}
}
let setHeaderButton = createSetHeaderButton(channel);
if (!showManagementOptions(channel, isAdmin, isSystemAdmin, isChannelAdmin)) {
setHeaderButton = null;
}
return (
<div className={'channel-intro ' + centeredIntro}>
<FormattedHTMLMessage
@@ -208,7 +225,7 @@ export function createDefaultIntroMessage(channel, centeredIntro) {
}}
/>
{inviteModalLink}
{createSetHeaderButton(channel)}
{setHeaderButton}
<br/>
</div>
);
@@ -303,6 +320,15 @@ export function createStandardIntroMessage(channel, centeredIntro) {
);
}
const isAdmin = TeamStore.isTeamAdminForCurrentTeam() || UserStore.isSystemAdminForCurrentUser();
const isSystemAdmin = UserStore.isSystemAdminForCurrentUser();
const isChannelAdmin = ChannelStore.isChannelAdminForCurrentChannel();
let setHeaderButton = createSetHeaderButton(channel);
if (!showManagementOptions(channel, isAdmin, isSystemAdmin, isChannelAdmin)) {
setHeaderButton = null;
}
return (
<div className={'channel-intro ' + centeredIntro}>
<h4 className='channel-intro__title'>
@@ -321,7 +347,7 @@ export function createStandardIntroMessage(channel, centeredIntro) {
<br/>
</p>
{createInviteChannelMemberButton(channel, uiType)}
{createSetHeaderButton(channel)}
{setHeaderButton}
</div>
);
}