Added custom branding to login description (#3710)

This commit is contained in:
David Lu
2016-08-02 08:34:34 -04:00
committed by Joram Wilander
parent 42e74b509d
commit 2c23a4fe49
9 changed files with 91 additions and 14 deletions

View File

@@ -37,6 +37,7 @@
"RestrictTeamNames": true,
"EnableCustomBrand": false,
"CustomBrandText": "",
"CustomDescriptionText": "",
"RestrictDirectMessage": "any",
"RestrictTeamInvite": "all",
"RestrictPublicChannelManagement": "all",

View File

@@ -192,6 +192,7 @@ type TeamSettings struct {
RestrictTeamNames *bool
EnableCustomBrand *bool
CustomBrandText *string
CustomDescriptionText *string
RestrictDirectMessage *string
RestrictTeamInvite *string
RestrictPublicChannelManagement *string
@@ -422,6 +423,11 @@ func (o *Config) SetDefaults() {
*o.TeamSettings.CustomBrandText = ""
}
if o.TeamSettings.CustomDescriptionText == nil {
o.TeamSettings.CustomDescriptionText = new(string)
*o.TeamSettings.CustomDescriptionText = ""
}
if o.TeamSettings.EnableOpenServer == nil {
o.TeamSettings.EnableOpenServer = new(bool)
*o.TeamSettings.EnableOpenServer = false

View File

@@ -271,6 +271,7 @@ func getClientConfig(c *model.Config) map[string]string {
if *License.Features.CustomBrand {
props["EnableCustomBrand"] = strconv.FormatBool(*c.TeamSettings.EnableCustomBrand)
props["CustomBrandText"] = *c.TeamSettings.CustomBrandText
props["CustomDescriptionText"] = *c.TeamSettings.CustomDescriptionText
}
if *License.Features.LDAP {

View File

@@ -27,6 +27,7 @@ export default class CustomBrandSettings extends AdminSettings {
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;
config.TeamSettings.customDescriptionText = this.state.customDescriptionText;
}
return config;
@@ -36,7 +37,8 @@ export default class CustomBrandSettings extends AdminSettings {
return {
siteName: config.TeamSettings.SiteName,
enableCustomBrand: config.TeamSettings.EnableCustomBrand,
customBrandText: config.TeamSettings.CustomBrandText
customBrandText: config.TeamSettings.CustomBrandText,
customDescriptionText: config.TeamSettings.CustomDescriptionText
};
}
@@ -104,6 +106,30 @@ export default class CustomBrandSettings extends AdminSettings {
disabled={!this.state.enableCustomBrand}
/>
);
enterpriseSettings.push(
<TextSetting
key='customDescriptionText'
id='customDescriptionText'
type='textarea'
label={
<FormattedMessage
id='admin.team.brandDescriptionTitle'
defaultMessage='Site Description'
/>
}
helpText={
<FormattedMessage
id='admin.team.brandDescriptionHelp'
defaultMessage='Description of service shown in login screens and UI.'
/>
}
value={this.state.customDescriptionText}
placeholder={Utils.localizeMessage('web.root.signup_info', 'All team communication in one place, searchable and accessible anywhere')}
onChange={this.handleChange}
disabled={!this.state.enableCustomBrand}
/>
);
}
return (

View File

@@ -35,6 +35,18 @@ export default class CreateTeamController extends React.Component {
}
render() {
let description = null;
if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.CustomBrand === 'true' && global.window.mm_config.EnableCustomBrand === 'true') {
description = global.window.mm_config.CustomDescriptionText;
} else {
description = (
<FormattedMessage
id='web.root.signup_info'
defaultMessage='All team communication in one place, searchable and accessible anywhere'
/>
);
}
return (
<div>
<ErrorBar/>
@@ -50,9 +62,7 @@ export default class CreateTeamController extends React.Component {
<div className='signup-team__container'>
<h1>{global.window.mm_config.SiteName}</h1>
<h4 className='color--light'>
<FormattedMessage
id='web.root.singup_info'
/>
{description}
</h4>
<div className='signup__content'>
{React.cloneElement(this.props.children, {

View File

@@ -549,6 +549,18 @@ export default class LoginController extends React.Component {
}
}
let description = null;
if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.CustomBrand === 'true' && global.window.mm_config.EnableCustomBrand === 'true') {
description = global.window.mm_config.CustomDescriptionText;
} else {
description = (
<FormattedMessage
id='web.root.signup_info'
defaultMessage='All team communication in one place, searchable and accessible anywhere'
/>
);
}
return (
<div>
<ErrorBar/>
@@ -564,9 +576,7 @@ export default class LoginController extends React.Component {
<div className='signup__content'>
<h1>{global.window.mm_config.SiteName}</h1>
<h4 className='color--light'>
<FormattedMessage
id='web.root.singup_info'
/>
{description}
</h4>
{content}
</div>

View File

@@ -212,6 +212,18 @@ export default class SelectTeam extends React.Component {
);
}
let description = null;
if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.CustomBrand === 'true' && global.window.mm_config.EnableCustomBrand === 'true') {
description = global.window.mm_config.CustomDescriptionText;
} else {
description = (
<FormattedMessage
id='web.root.signup_info'
defaultMessage='All team communication in one place, searchable and accessible anywhere'
/>
);
}
return (
<div>
<ErrorBar/>
@@ -234,9 +246,7 @@ export default class SelectTeam extends React.Component {
/>
<h1>{global.window.mm_config.SiteName}</h1>
<h4 className='color--light'>
<FormattedMessage
id='web.root.singup_info'
/>
{description}
</h4>
{content}
{openContent}

View File

@@ -765,6 +765,18 @@ export default class SignupUserComplete extends React.Component {
ldapSignup = null;
}
let description = null;
if (global.window.mm_license.IsLicensed === 'true' && global.window.mm_license.CustomBrand === 'true' && global.window.mm_config.EnableCustomBrand === 'true') {
description = global.window.mm_config.CustomDescriptionText;
} else {
description = (
<FormattedMessage
id='web.root.signup_info'
defaultMessage='All team communication in one place, searchable and accessible anywhere'
/>
);
}
return (
<div>
<div className='signup-header'>
@@ -783,9 +795,7 @@ export default class SignupUserComplete extends React.Component {
/>
<h1>{global.window.mm_config.SiteName}</h1>
<h4 className='color--light'>
<FormattedMessage
id='web.root.singup_info'
/>
{description}
</h4>
<h4 className='color--light'>
<FormattedMessage

View File

@@ -691,6 +691,9 @@
"admin.team.brandTextDescription": "The custom branding Markdown-formatted text you would like to appear below your custom brand image on your login screen.",
"admin.team.brandTextTitle": "Custom Brand Text:",
"admin.team.brandTitle": "Enable Custom Branding: ",
"admin.team.brandDescriptionTitle": "Site Description",
"admin.team.brandDescriptionHelp": "Description of service shown in login screens and UI.",
"admin.team.brandDescriptionExample": "All team communication in one place, searchable and accessible anywhere",
"admin.team.chooseImage": "Choose New Image",
"admin.team.dirDesc": "When true, teams that are configured to show in team directory will show on main page inplace of creating a new team.",
"admin.team.dirTitle": "Enable Team Directory: ",
@@ -1748,6 +1751,6 @@
"web.footer.privacy": "Privacy",
"web.footer.terms": "Terms",
"web.header.back": "Back",
"web.root.singup_info": "All team communication in one place, searchable and accessible anywhere",
"web.root.signup_info": "All team communication in one place, searchable and accessible anywhere",
"youtube_video.notFound": "Video not found"
}