summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Duarte <csduarte@users.noreply.github.com>2018-01-02 13:36:31 -0800
committerChristopher Speller <crspeller@gmail.com>2018-01-02 13:36:31 -0800
commit15cc4497588537f3f9b81d6f97228fae946fa008 (patch)
treeb15e6105d7df95fb4c3694b2b9eb1c85da64a0dd
parentdf09f87defff859215cc54113e8a5286595cbe80 (diff)
downloadchat-15cc4497588537f3f9b81d6f97228fae946fa008.tar.gz
chat-15cc4497588537f3f9b81d6f97228fae946fa008.tar.bz2
chat-15cc4497588537f3f9b81d6f97228fae946fa008.zip
Add color properties to config to white label login buttons (#7826)
-rw-r--r--config/default.json15
-rw-r--r--model/config.go47
-rw-r--r--utils/config.go10
3 files changed, 69 insertions, 3 deletions
diff --git a/config/default.json b/config/default.json
index e264a7c3d..7b9820aff 100644
--- a/config/default.json
+++ b/config/default.json
@@ -165,7 +165,10 @@
"EmailBatchingBufferSize": 256,
"EmailBatchingInterval": 30,
"SkipServerCertificateVerification": false,
- "EmailNotificationContentsType": "full"
+ "EmailNotificationContentsType": "full",
+ "LoginButtonColor": "",
+ "LoginButtonBorderColor": "",
+ "LoginButtonTextColor": ""
},
"RateLimitSettings": {
"Enable": false,
@@ -248,7 +251,10 @@
"SkipCertificateVerification": false,
"QueryTimeout": 60,
"MaxPageSize": 0,
- "LoginFieldName": ""
+ "LoginFieldName": "",
+ "LoginButtonColor": "",
+ "LoginButtonBorderColor": "",
+ "LoginButtonTextColor": ""
},
"ComplianceSettings": {
"Enable": false,
@@ -278,7 +284,10 @@
"NicknameAttribute": "",
"LocaleAttribute": "",
"PositionAttribute": "",
- "LoginButtonText": "With SAML"
+ "LoginButtonText": "With SAML",
+ "LoginButtonColor": "",
+ "LoginButtonBorderColor": "",
+ "LoginButtonTextColor": ""
},
"NativeAppSettings": {
"AppDownloadLink": "https://about.mattermost.com/downloads/",
diff --git a/model/config.go b/model/config.go
index a8e0b0b07..d18874ea1 100644
--- a/model/config.go
+++ b/model/config.go
@@ -688,6 +688,9 @@ type EmailSettings struct {
EmailBatchingInterval *int
SkipServerCertificateVerification *bool
EmailNotificationContentsType *string
+ LoginButtonColor *string
+ LoginButtonBorderColor *string
+ LoginButtonTextColor *string
}
func (s *EmailSettings) SetDefaults() {
@@ -755,6 +758,18 @@ func (s *EmailSettings) SetDefaults() {
if s.EmailNotificationContentsType == nil {
s.EmailNotificationContentsType = NewString(EMAIL_NOTIFICATION_CONTENTS_FULL)
}
+
+ if s.LoginButtonColor == nil {
+ s.LoginButtonColor = NewString("#0000")
+ }
+
+ if s.LoginButtonBorderColor == nil {
+ s.LoginButtonBorderColor = NewString("#2389D7")
+ }
+
+ if s.LoginButtonTextColor == nil {
+ s.LoginButtonTextColor = NewString("#2389D7")
+ }
}
type RateLimitSettings struct {
@@ -1069,6 +1084,10 @@ type LdapSettings struct {
// Customization
LoginFieldName *string
+
+ LoginButtonColor *string
+ LoginButtonBorderColor *string
+ LoginButtonTextColor *string
}
func (s *LdapSettings) SetDefaults() {
@@ -1156,6 +1175,18 @@ func (s *LdapSettings) SetDefaults() {
if s.LoginFieldName == nil {
s.LoginFieldName = NewString(LDAP_SETTINGS_DEFAULT_LOGIN_FIELD_NAME)
}
+
+ if s.LoginButtonColor == nil {
+ s.LoginButtonColor = NewString("#0000")
+ }
+
+ if s.LoginButtonBorderColor == nil {
+ s.LoginButtonBorderColor = NewString("#2389D7")
+ }
+
+ if s.LoginButtonTextColor == nil {
+ s.LoginButtonTextColor = NewString("#2389D7")
+ }
}
type ComplianceSettings struct {
@@ -1224,6 +1255,10 @@ type SamlSettings struct {
PositionAttribute *string
LoginButtonText *string
+
+ LoginButtonColor *string
+ LoginButtonBorderColor *string
+ LoginButtonTextColor *string
}
func (s *SamlSettings) SetDefaults() {
@@ -1298,6 +1333,18 @@ func (s *SamlSettings) SetDefaults() {
if s.LocaleAttribute == nil {
s.LocaleAttribute = NewString(SAML_SETTINGS_DEFAULT_LOCALE_ATTRIBUTE)
}
+
+ if s.LoginButtonColor == nil {
+ s.LoginButtonColor = NewString("#34a28b")
+ }
+
+ if s.LoginButtonBorderColor == nil {
+ s.LoginButtonBorderColor = NewString("#2389D7")
+ }
+
+ if s.LoginButtonTextColor == nil {
+ s.LoginButtonTextColor = NewString("#ffffff")
+ }
}
type NativeAppSettings struct {
diff --git a/utils/config.go b/utils/config.go
index 8435c36cf..5dcceba75 100644
--- a/utils/config.go
+++ b/utils/config.go
@@ -501,6 +501,10 @@ func getClientConfig(c *model.Config) map[string]string {
props["EnableEmailBatching"] = strconv.FormatBool(*c.EmailSettings.EnableEmailBatching)
props["EmailNotificationContentsType"] = *c.EmailSettings.EmailNotificationContentsType
+ props["EmailLoginButtonColor"] = *c.EmailSettings.LoginButtonColor
+ props["EmailLoginButtonBorderColor"] = *c.EmailSettings.LoginButtonBorderColor
+ props["EmailLoginButtonTextColor"] = *c.EmailSettings.LoginButtonTextColor
+
props["EnableSignUpWithGitLab"] = strconv.FormatBool(c.GitLabSettings.Enable)
props["ShowEmailAddress"] = strconv.FormatBool(c.PrivacySettings.ShowEmailAddress)
@@ -562,6 +566,9 @@ func getClientConfig(c *model.Config) map[string]string {
props["LdapNicknameAttributeSet"] = strconv.FormatBool(*c.LdapSettings.NicknameAttribute != "")
props["LdapFirstNameAttributeSet"] = strconv.FormatBool(*c.LdapSettings.FirstNameAttribute != "")
props["LdapLastNameAttributeSet"] = strconv.FormatBool(*c.LdapSettings.LastNameAttribute != "")
+ props["LdapLoginButtonColor"] = *c.LdapSettings.LoginButtonColor
+ props["LdapLoginButtonBorderColor"] = *c.LdapSettings.LoginButtonBorderColor
+ props["LdapLoginButtonTextColor"] = *c.LdapSettings.LoginButtonTextColor
}
if *License.Features.MFA {
@@ -579,6 +586,9 @@ func getClientConfig(c *model.Config) map[string]string {
props["SamlFirstNameAttributeSet"] = strconv.FormatBool(*c.SamlSettings.FirstNameAttribute != "")
props["SamlLastNameAttributeSet"] = strconv.FormatBool(*c.SamlSettings.LastNameAttribute != "")
props["SamlNicknameAttributeSet"] = strconv.FormatBool(*c.SamlSettings.NicknameAttribute != "")
+ props["SamlLoginButtonColor"] = *c.SamlSettings.LoginButtonColor
+ props["SamlLoginButtonBorderColor"] = *c.SamlSettings.LoginButtonBorderColor
+ props["SamlLoginButtonTextColor"] = *c.SamlSettings.LoginButtonTextColor
}
if *License.Features.Cluster {