From abd0466a42d6b9897ba9e3bcb373b41974e9c46f Mon Sep 17 00:00:00 2001 From: Joram Wilander Date: Mon, 5 Jun 2017 12:49:38 -0400 Subject: PLT-3466 E10: Add announcement bar feature (#6509) * E10 - Add announcement bar feature * Updates per feedback * Add component tests and snapshots * Update snapshots * Updating color picker UI (#6543) * Add class to body tag when banner is not dismissable and clean up localstorage items when banner changes * Fixing links (#6544) * Updating UI for fixed error bar (#6552) * Truncating text on fixed banner (#6561) * Plt 3466 - Error bar link states (#6577) * Updating error bar hover state * Updating error bar link states --- model/config.go | 34 ++++++++++++++++++++++++++++++++++ model/license.go | 6 ++++++ 2 files changed, 40 insertions(+) (limited to 'model') diff --git a/model/config.go b/model/config.go index f3ce6f2f1..4e3a3f7cc 100644 --- a/model/config.go +++ b/model/config.go @@ -292,6 +292,14 @@ type SupportSettings struct { SupportEmail *string } +type AnnouncementSettings struct { + EnableBanner *bool + BannerText *string + BannerColor *string + BannerTextColor *string + AllowBannerDismissal *bool +} + type TeamSettings struct { SiteName string MaxUsersPerTeam int @@ -429,6 +437,7 @@ type Config struct { RateLimitSettings RateLimitSettings PrivacySettings PrivacySettings SupportSettings SupportSettings + AnnouncementSettings AnnouncementSettings GitLabSettings SSOSettings GoogleSettings SSOSettings Office365Settings SSOSettings @@ -825,6 +834,31 @@ func (o *Config) SetDefaults() { *o.SupportSettings.SupportEmail = SUPPORT_SETTINGS_DEFAULT_SUPPORT_EMAIL } + if o.AnnouncementSettings.EnableBanner == nil { + o.AnnouncementSettings.EnableBanner = new(bool) + *o.AnnouncementSettings.EnableBanner = false + } + + if o.AnnouncementSettings.BannerText == nil { + o.AnnouncementSettings.BannerText = new(string) + *o.AnnouncementSettings.BannerText = "" + } + + if o.AnnouncementSettings.BannerColor == nil { + o.AnnouncementSettings.BannerColor = new(string) + *o.AnnouncementSettings.BannerColor = "#f2a93b" + } + + if o.AnnouncementSettings.BannerTextColor == nil { + o.AnnouncementSettings.BannerTextColor = new(string) + *o.AnnouncementSettings.BannerTextColor = "#333333" + } + + if o.AnnouncementSettings.AllowBannerDismissal == nil { + o.AnnouncementSettings.AllowBannerDismissal = new(bool) + *o.AnnouncementSettings.AllowBannerDismissal = true + } + if o.LdapSettings.Enable == nil { o.LdapSettings.Enable = new(bool) *o.LdapSettings.Enable = false diff --git a/model/license.go b/model/license.go index 558cd43fa..443d78282 100644 --- a/model/license.go +++ b/model/license.go @@ -50,6 +50,7 @@ type Features struct { SAML *bool `json:"saml"` PasswordRequirements *bool `json:"password_requirements"` ElasticSearch *bool `json:"elastic_search"` + Announcement *bool `json:"announcement"` // after we enabled more features for webrtc we'll need to control them with this FutureFeatures *bool `json:"future_features"` } @@ -142,6 +143,11 @@ func (f *Features) SetDefaults() { f.ElasticSearch = new(bool) *f.ElasticSearch = *f.FutureFeatures } + + if f.Announcement == nil { + f.Announcement = new(bool) + *f.Announcement = true + } } func (l *License) IsExpired() bool { -- cgit v1.2.3-1-g7c22