From 1605fa5102e7d5d76a02456130097d3ab82c2a2b Mon Sep 17 00:00:00 2001 From: David Meza Date: Tue, 5 Sep 2017 19:28:46 -0500 Subject: Configs for themes in `Display Settings`: hide themes options, hide custom themes, specific list of themes (#7173) * Add configuration to enable or disable choosing themes in Display Settings. Only for Licensed servers. * Add configuration to enable or disable choosing custom themes in Display Settings. Only for Licensed servers. * Add configuration to enable or disable a specific list of themes to choose in Display Settings. Only for Licensed servers. * Added config value and logic for "DefaultTheme" * Fix problem with undefined values when the server is not licensed --- model/config.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'model/config.go') diff --git a/model/config.go b/model/config.go index c6fd84ed0..38e09d216 100644 --- a/model/config.go +++ b/model/config.go @@ -132,6 +132,8 @@ const ( ANNOUNCEMENT_SETTINGS_DEFAULT_BANNER_COLOR = "#f2a93b" ANNOUNCEMENT_SETTINGS_DEFAULT_BANNER_TEXT_COLOR = "#333333" + TEAM_SETTINGS_DEFAULT_TEAM_TEXT = "default" + ELASTICSEARCH_SETTINGS_DEFAULT_CONNECTION_URL = "" ELASTICSEARCH_SETTINGS_DEFAULT_USERNAME = "" ELASTICSEARCH_SETTINGS_DEFAULT_PASSWORD = "" @@ -335,6 +337,13 @@ type AnnouncementSettings struct { AllowBannerDismissal *bool } +type ThemeSettings struct { + EnableThemeSelection *bool + DefaultTheme *string + AllowCustomThemes *bool + AllowedThemes []string +} + type TeamSettings struct { SiteName string MaxUsersPerTeam *int @@ -500,6 +509,7 @@ type Config struct { PrivacySettings PrivacySettings SupportSettings SupportSettings AnnouncementSettings AnnouncementSettings + ThemeSettings ThemeSettings GitLabSettings SSOSettings GoogleSettings SSOSettings Office365Settings SSOSettings @@ -1003,6 +1013,25 @@ func (o *Config) SetDefaults() { *o.AnnouncementSettings.AllowBannerDismissal = true } + if o.ThemeSettings.EnableThemeSelection == nil { + o.ThemeSettings.EnableThemeSelection = new(bool) + *o.ThemeSettings.EnableThemeSelection = true + } + + if o.ThemeSettings.DefaultTheme == nil { + o.ThemeSettings.DefaultTheme = new(string) + *o.ThemeSettings.DefaultTheme = TEAM_SETTINGS_DEFAULT_TEAM_TEXT + } + + if o.ThemeSettings.AllowCustomThemes == nil { + o.ThemeSettings.AllowCustomThemes = new(bool) + *o.ThemeSettings.AllowCustomThemes = true + } + + if o.ThemeSettings.AllowedThemes == nil { + o.ThemeSettings.AllowedThemes = []string{} + } + if o.LdapSettings.Enable == nil { o.LdapSettings.Enable = new(bool) *o.LdapSettings.Enable = false -- cgit v1.2.3-1-g7c22