summaryrefslogtreecommitdiffstats
path: root/webapp/components/admin_console/policy_settings.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/admin_console/policy_settings.jsx')
-rw-r--r--webapp/components/admin_console/policy_settings.jsx92
1 files changed, 91 insertions, 1 deletions
diff --git a/webapp/components/admin_console/policy_settings.jsx b/webapp/components/admin_console/policy_settings.jsx
index 7d2985001..f689efd82 100644
--- a/webapp/components/admin_console/policy_settings.jsx
+++ b/webapp/components/admin_console/policy_settings.jsx
@@ -8,6 +8,9 @@ import SettingsGroup from './settings_group.jsx';
import DropdownSetting from './dropdown_setting.jsx';
import RadioSetting from './radio_setting.jsx';
import PostEditSetting from './post_edit_setting.jsx';
+import BooleanSetting from './boolean_setting.jsx';
+import TextSetting from './text_setting.jsx';
+import ColorSetting from './color_setting.jsx';
import Constants from 'utils/constants.jsx';
import * as Utils from 'utils/utils.jsx';
@@ -35,6 +38,11 @@ export default class PolicySettings extends AdminSettings {
config.TeamSettings.RestrictPublicChannelDeletion = this.state.restrictPublicChannelDeletion;
config.TeamSettings.RestrictPrivateChannelDeletion = this.state.restrictPrivateChannelDeletion;
config.TeamSettings.RestrictPrivateChannelManageMembers = this.state.restrictPrivateChannelManageMembers;
+ config.AnnouncementSettings.EnableBanner = this.state.enableBanner;
+ config.AnnouncementSettings.BannerText = this.state.bannerText;
+ config.AnnouncementSettings.BannerColor = this.state.bannerColor;
+ config.AnnouncementSettings.BannerTextColor = this.state.bannerTextColor;
+ config.AnnouncementSettings.AllowBannerDismissal = this.state.allowBannerDismissal;
return config;
}
@@ -51,7 +59,12 @@ export default class PolicySettings extends AdminSettings {
restrictPrivateChannelManagement: config.TeamSettings.RestrictPrivateChannelManagement,
restrictPublicChannelDeletion: config.TeamSettings.RestrictPublicChannelDeletion,
restrictPrivateChannelDeletion: config.TeamSettings.RestrictPrivateChannelDeletion,
- restrictPrivateChannelManageMembers: config.TeamSettings.RestrictPrivateChannelManageMembers
+ restrictPrivateChannelManageMembers: config.TeamSettings.RestrictPrivateChannelManageMembers,
+ enableBanner: config.AnnouncementSettings.EnableBanner,
+ bannerText: config.AnnouncementSettings.BannerText,
+ bannerColor: config.AnnouncementSettings.BannerColor,
+ bannerTextColor: config.AnnouncementSettings.BannerTextColor,
+ allowBannerDismissal: config.AnnouncementSettings.AllowBannerDismissal
};
}
@@ -317,6 +330,83 @@ export default class PolicySettings extends AdminSettings {
/>
}
/>
+ <BooleanSetting
+ id='enableBanner'
+ label={
+ <FormattedMessage
+ id='admin.general.policy.enableBannerTitle'
+ defaultMessage='Enable Announcement Banner:'
+ />
+ }
+ helpText={
+ <FormattedMessage
+ id='admin.general.policy.enableBannerDesc'
+ defaultMessage='Enable an announcement banner across all teams.'
+ />
+ }
+ value={this.state.enableBanner}
+ onChange={this.handleChange}
+ />
+ <TextSetting
+ id='bannerText'
+ label={
+ <FormattedMessage
+ id='admin.general.policy.bannerTextTitle'
+ defaultMessage='Banner Text:'
+ />
+ }
+ helpText={
+ <FormattedMessage
+ id='admin.general.policy.bannerTextDesc'
+ defaultMessage='Text that will appear in the announcement banner.'
+ />
+ }
+ value={this.state.bannerText}
+ onChange={this.handleChange}
+ disabled={!this.state.enableBanner}
+ />
+ <ColorSetting
+ id='bannerColor'
+ label={
+ <FormattedMessage
+ id='admin.general.policy.bannerColorTitle'
+ defaultMessage='Banner Color:'
+ />
+ }
+ value={this.state.bannerColor}
+ onChange={this.handleChange}
+ disabled={!this.state.enableBanner}
+ />
+ <ColorSetting
+ id='bannerTextColor'
+ label={
+ <FormattedMessage
+ id='admin.general.policy.bannerTextColorTitle'
+ defaultMessage='Banner Text Color:'
+ />
+ }
+ value={this.state.bannerTextColor}
+ onChange={this.handleChange}
+ disabled={!this.state.enableBanner}
+ />
+ <BooleanSetting
+ id='allowBannerDismissal'
+ label={
+ <FormattedMessage
+ id='admin.general.policy.allowBannerDismissalTitle'
+ defaultMessage='Allow Banner Dismissal:'
+ />
+ }
+ helpText={
+ <FormattedMessage
+ id='admin.general.policy.allowBannerDismissalDesc'
+ defaultMessage='When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin.'
+ />
+ }
+ value={this.state.allowBannerDismissal}
+ onChange={this.handleChange}
+ disabled={!this.state.enableBanner}
+ />
</SettingsGroup>
);
}