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
Этот коммит содержится в:
@@ -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
|
||||
|
||||
@@ -51,6 +51,7 @@ type Features struct {
|
||||
PasswordRequirements *bool `json:"password_requirements"`
|
||||
Elasticsearch *bool `json:"elastic_search"`
|
||||
Announcement *bool `json:"announcement"`
|
||||
ThemeManagement *bool `json:"theme_management"`
|
||||
EmailNotificationContents *bool `json:"email_notification_contents"`
|
||||
|
||||
// after we enabled more features for webrtc we'll need to control them with this
|
||||
@@ -152,6 +153,11 @@ func (f *Features) SetDefaults() {
|
||||
*f.Announcement = true
|
||||
}
|
||||
|
||||
if f.ThemeManagement == nil {
|
||||
f.ThemeManagement = new(bool)
|
||||
*f.ThemeManagement = true
|
||||
}
|
||||
|
||||
if f.EmailNotificationContents == nil {
|
||||
f.EmailNotificationContents = new(bool)
|
||||
*f.EmailNotificationContents = *f.FutureFeatures
|
||||
|
||||
Ссылка в новой задаче
Block a user