Add config setting to set default User Setting for filter join/leave message (#24047)
* initial submit, join/leave message * i18n-extract * additional changes for client config * add unit tests * fix unit tests * change tests to use string not bool * more unit test fixes * add and fix unit tests * revert package-lock * update unit tests * Update default_config.ts * fix unit test --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
fe4a77498a
Коммит
f35291169c
@@ -23,6 +23,7 @@ func GenerateClientConfig(c *model.Config, telemetryID string, license *model.Li
|
||||
props["LockTeammateNameDisplay"] = strconv.FormatBool(*c.TeamSettings.LockTeammateNameDisplay)
|
||||
props["ExperimentalPrimaryTeam"] = *c.TeamSettings.ExperimentalPrimaryTeam
|
||||
props["ExperimentalViewArchivedChannels"] = strconv.FormatBool(*c.TeamSettings.ExperimentalViewArchivedChannels)
|
||||
props["EnableJoinLeaveMessageByDefault"] = strconv.FormatBool(*c.TeamSettings.EnableJoinLeaveMessageByDefault)
|
||||
|
||||
props["EnableBotAccountCreation"] = strconv.FormatBool(*c.ServiceSettings.EnableBotAccountCreation)
|
||||
props["EnableOAuthServiceProvider"] = strconv.FormatBool(*c.ServiceSettings.EnableOAuthServiceProvider)
|
||||
@@ -241,6 +242,7 @@ func GenerateLimitedClientConfig(c *model.Config, telemetryID string, license *m
|
||||
props["WebsocketSecurePort"] = fmt.Sprintf("%v", *c.ServiceSettings.WebsocketSecurePort)
|
||||
props["EnableUserCreation"] = strconv.FormatBool(*c.TeamSettings.EnableUserCreation)
|
||||
props["EnableOpenServer"] = strconv.FormatBool(*c.TeamSettings.EnableOpenServer)
|
||||
props["EnableJoinLeaveMessageByDefault"] = strconv.FormatBool(*c.TeamSettings.EnableJoinLeaveMessageByDefault)
|
||||
|
||||
props["AndroidLatestVersion"] = c.ClientRequirements.AndroidLatestVersion
|
||||
props["AndroidMinVersion"] = c.ClientRequirements.AndroidMinVersion
|
||||
|
||||
@@ -271,6 +271,28 @@ func TestGetClientConfig(t *testing.T) {
|
||||
"DisableAppBar": "true",
|
||||
},
|
||||
},
|
||||
{
|
||||
"default EnableJoinLeaveMessage",
|
||||
&model.Config{},
|
||||
"tag1",
|
||||
nil,
|
||||
map[string]string{
|
||||
"EnableJoinLeaveMessageByDefault": "true",
|
||||
},
|
||||
},
|
||||
{
|
||||
"disable EnableJoinLeaveMessage",
|
||||
&model.Config{
|
||||
TeamSettings: model.TeamSettings{
|
||||
EnableJoinLeaveMessageByDefault: model.NewBool(false),
|
||||
},
|
||||
},
|
||||
"tag1",
|
||||
nil,
|
||||
map[string]string{
|
||||
"EnableJoinLeaveMessageByDefault": "false",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, testCase := range testCases {
|
||||
|
||||
@@ -2129,18 +2129,19 @@ func (s *ThemeSettings) SetDefaults() {
|
||||
}
|
||||
|
||||
type TeamSettings struct {
|
||||
SiteName *string `access:"site_customization"`
|
||||
MaxUsersPerTeam *int `access:"site_users_and_teams"`
|
||||
EnableUserCreation *bool `access:"authentication_signup"`
|
||||
EnableOpenServer *bool `access:"authentication_signup"`
|
||||
EnableUserDeactivation *bool `access:"experimental_features"`
|
||||
RestrictCreationToDomains *string `access:"authentication_signup"` // telemetry: none
|
||||
EnableCustomUserStatuses *bool `access:"site_users_and_teams"`
|
||||
EnableCustomBrand *bool `access:"site_customization"`
|
||||
CustomBrandText *string `access:"site_customization"`
|
||||
CustomDescriptionText *string `access:"site_customization"`
|
||||
RestrictDirectMessage *string `access:"site_users_and_teams"`
|
||||
EnableLastActiveTime *bool `access:"site_users_and_teams"`
|
||||
SiteName *string `access:"site_customization"`
|
||||
MaxUsersPerTeam *int `access:"site_users_and_teams"`
|
||||
EnableJoinLeaveMessageByDefault *bool `access:"site_users_and_teams"`
|
||||
EnableUserCreation *bool `access:"authentication_signup"`
|
||||
EnableOpenServer *bool `access:"authentication_signup"`
|
||||
EnableUserDeactivation *bool `access:"experimental_features"`
|
||||
RestrictCreationToDomains *string `access:"authentication_signup"` // telemetry: none
|
||||
EnableCustomUserStatuses *bool `access:"site_users_and_teams"`
|
||||
EnableCustomBrand *bool `access:"site_customization"`
|
||||
CustomBrandText *string `access:"site_customization"`
|
||||
CustomDescriptionText *string `access:"site_customization"`
|
||||
RestrictDirectMessage *string `access:"site_users_and_teams"`
|
||||
EnableLastActiveTime *bool `access:"site_users_and_teams"`
|
||||
// In seconds.
|
||||
UserStatusAwayTimeout *int64 `access:"experimental_features"`
|
||||
MaxChannelsPerTeam *int64 `access:"site_users_and_teams"`
|
||||
@@ -2164,6 +2165,10 @@ func (s *TeamSettings) SetDefaults() {
|
||||
s.MaxUsersPerTeam = NewInt(TeamSettingsDefaultMaxUsersPerTeam)
|
||||
}
|
||||
|
||||
if s.EnableJoinLeaveMessageByDefault == nil {
|
||||
s.EnableJoinLeaveMessageByDefault = NewBool(true)
|
||||
}
|
||||
|
||||
if s.EnableUserCreation == nil {
|
||||
s.EnableUserCreation = NewBool(true)
|
||||
}
|
||||
|
||||
@@ -335,6 +335,14 @@ func TestTeamSettingsIsValidSiteNameEmpty(t *testing.T) {
|
||||
require.Nil(t, c1.TeamSettings.isValid())
|
||||
}
|
||||
|
||||
func TestTeamSettingsDefaultJoinLeaveMessage(t *testing.T) {
|
||||
c1 := Config{}
|
||||
c1.SetDefaults()
|
||||
|
||||
// should default to true
|
||||
require.Equal(t, NewBool(true), c1.TeamSettings.EnableJoinLeaveMessageByDefault)
|
||||
}
|
||||
|
||||
func TestMessageExportSettingsIsValidEnableExportNotSet(t *testing.T) {
|
||||
mes := &MessageExportSettings{}
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user