summaryrefslogtreecommitdiffstats
path: root/webapp/components/admin_console/custom_brand_settings.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'webapp/components/admin_console/custom_brand_settings.jsx')
-rw-r--r--webapp/components/admin_console/custom_brand_settings.jsx137
1 files changed, 137 insertions, 0 deletions
diff --git a/webapp/components/admin_console/custom_brand_settings.jsx b/webapp/components/admin_console/custom_brand_settings.jsx
new file mode 100644
index 000000000..307bbad8c
--- /dev/null
+++ b/webapp/components/admin_console/custom_brand_settings.jsx
@@ -0,0 +1,137 @@
+// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
+// See License.txt for license information.
+
+import React from 'react';
+
+import * as Utils from 'utils/utils.jsx';
+
+import AdminSettings from './admin_settings.jsx';
+import BooleanSetting from './boolean_setting.jsx';
+import BrandImageSetting from './brand_image_setting.jsx';
+import {FormattedMessage} from 'react-intl';
+import SettingsGroup from './settings_group.jsx';
+import TextSetting from './text_setting.jsx';
+
+export default class CustomBrandSettings extends AdminSettings {
+ constructor(props) {
+ super(props);
+
+ this.getConfigFromState = this.getConfigFromState.bind(this);
+
+ this.renderSettings = this.renderSettings.bind(this);
+
+ this.state = Object.assign(this.state, {
+ siteName: props.config.TeamSettings.SiteName,
+ enableCustomBrand: props.config.TeamSettings.EnableCustomBrand,
+ customBrandText: props.config.TeamSettings.CustomBrandText
+ });
+ }
+
+ getConfigFromState(config) {
+ config.TeamSettings.SiteName = this.state.siteName;
+ if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.CustomBrand === 'true') {
+ config.TeamSettings.EnableCustomBrand = this.state.enableCustomBrand;
+ config.TeamSettings.CustomBrandText = this.state.customBrandText;
+ }
+
+ return config;
+ }
+
+ renderTitle() {
+ return (
+ <h3>
+ <FormattedMessage
+ id='admin.customization.title'
+ defaultMessage='Customization Settings'
+ />
+ </h3>
+ );
+ }
+
+ renderSettings() {
+ const enterpriseSettings = [];
+ if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.CustomBrand === 'true') {
+ enterpriseSettings.push(
+ <BooleanSetting
+ key='enableCustomBrand'
+ id='enableCustomBrand'
+ label={
+ <FormattedMessage
+ id='admin.team.brandTitle'
+ defaultMessage='Enable Custom Branding: '
+ />
+ }
+ helpText={
+ <FormattedMessage
+ id='admin.team.brandDesc'
+ defaultMessage='Enable custom branding to show an image of your choice, uploaded below, and some help text, written below, on the login page.'
+ />
+ }
+ value={this.state.enableCustomBrand}
+ onChange={this.handleChange}
+ />
+ );
+
+ enterpriseSettings.push(
+ <BrandImageSetting
+ key='customBrandImage'
+ disabled={!this.state.enableCustomBrand}
+ />
+ );
+
+ enterpriseSettings.push(
+ <TextSetting
+ key='customBrandText'
+ id='customBrandText'
+ type='textarea'
+ label={
+ <FormattedMessage
+ id='admin.team.brandTextTitle'
+ defaultMessage='Custom Brand Text:'
+ />
+ }
+ helpText={
+ <FormattedMessage
+ id='admin.team.brandTextDescription'
+ defaultMessage='The custom branding Markdown-formatted text you would like to appear below your custom brand image on your login sreen.'
+ />
+ }
+ value={this.state.customBrandText}
+ onChange={this.handleChange}
+ disabled={!this.state.enableCustomBrand}
+ />
+ );
+ }
+
+ return (
+ <SettingsGroup
+ header={
+ <FormattedMessage
+ id='admin.customization.customBrand'
+ defaultMessage='Custom Branding'
+ />
+ }
+ >
+ <TextSetting
+ id='siteName'
+ label={
+ <FormattedMessage
+ id='admin.team.siteNameTitle'
+ defaultMessage='Site Name:'
+ />
+ }
+ placeholder={Utils.localizeMessage('admin.team.siteNameExample', 'Ex "Mattermost"')}
+ helpText={
+ <FormattedMessage
+ id='admin.team.siteNameDescription'
+ defaultMessage='Name of service shown in login screens and UI.'
+ />
+ }
+ value={this.state.siteName}
+ onChange={this.handleChange}
+ />
+ {enterpriseSettings}
+ </SettingsGroup>
+ );
+ }
+} \ No newline at end of file