[MM-41115] Add server-side username colorize preference (#19382)
* Server support for collapse consecutive preference * Add server-side username colorize preference
Этот коммит содержится в:
@@ -46,6 +46,12 @@ var exportablePreferences = map[ComparablePreference]string{{
|
|||||||
}: "MessageDisplay", {
|
}: "MessageDisplay", {
|
||||||
Category: model.PreferenceCategoryDisplaySettings,
|
Category: model.PreferenceCategoryDisplaySettings,
|
||||||
Name: "channel_display_mode",
|
Name: "channel_display_mode",
|
||||||
|
}: "CollapseConsecutive", {
|
||||||
|
Category: model.PreferenceCategoryDisplaySettings,
|
||||||
|
Name: "collapse_consecutive_messages",
|
||||||
|
}: "ColorizeUsernames", {
|
||||||
|
Category: model.PreferenceCategoryDisplaySettings,
|
||||||
|
Name: "colorize_usernames",
|
||||||
}: "ChannelDisplayMode", {
|
}: "ChannelDisplayMode", {
|
||||||
Category: model.PreferenceCategoryTutorialSteps,
|
Category: model.PreferenceCategoryTutorialSteps,
|
||||||
Name: "",
|
Name: "",
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ func ImportLineFromUser(user *model.User, exportedPrefs map[string]*string) *Lin
|
|||||||
UseMilitaryTime: exportedPrefs["UseMilitaryTime"],
|
UseMilitaryTime: exportedPrefs["UseMilitaryTime"],
|
||||||
CollapsePreviews: exportedPrefs["CollapsePreviews"],
|
CollapsePreviews: exportedPrefs["CollapsePreviews"],
|
||||||
MessageDisplay: exportedPrefs["MessageDisplay"],
|
MessageDisplay: exportedPrefs["MessageDisplay"],
|
||||||
|
ColorizeUsernames: exportedPrefs["ColorizeUsernames"],
|
||||||
ChannelDisplayMode: exportedPrefs["ChannelDisplayMode"],
|
ChannelDisplayMode: exportedPrefs["ChannelDisplayMode"],
|
||||||
TutorialStep: exportedPrefs["TutorialStep"],
|
TutorialStep: exportedPrefs["TutorialStep"],
|
||||||
EmailInterval: exportedPrefs["EmailInterval"],
|
EmailInterval: exportedPrefs["EmailInterval"],
|
||||||
|
|||||||
@@ -635,6 +635,24 @@ func (a *App) importUser(data *UserImportData, dryRun bool) *model.AppError {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if data.CollapseConsecutive != nil {
|
||||||
|
preferences = append(preferences, model.Preference{
|
||||||
|
UserId: savedUser.Id,
|
||||||
|
Category: model.PreferenceCategoryDisplaySettings,
|
||||||
|
Name: model.PreferenceNameCollapseConsecutive,
|
||||||
|
Value: *data.CollapseConsecutive,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if data.ColorizeUsernames != nil {
|
||||||
|
preferences = append(preferences, model.Preference{
|
||||||
|
UserId: savedUser.Id,
|
||||||
|
Category: model.PreferenceCategoryDisplaySettings,
|
||||||
|
Name: model.PreferenceNameColorizeUsernames,
|
||||||
|
Value: *data.ColorizeUsernames,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
if data.ChannelDisplayMode != nil {
|
if data.ChannelDisplayMode != nil {
|
||||||
preferences = append(preferences, model.Preference{
|
preferences = append(preferences, model.Preference{
|
||||||
UserId: savedUser.Id,
|
UserId: savedUser.Id,
|
||||||
|
|||||||
@@ -1155,6 +1155,7 @@ func TestImportImportUser(t *testing.T) {
|
|||||||
UseMilitaryTime: ptrStr("true"),
|
UseMilitaryTime: ptrStr("true"),
|
||||||
CollapsePreviews: ptrStr("true"),
|
CollapsePreviews: ptrStr("true"),
|
||||||
MessageDisplay: ptrStr("compact"),
|
MessageDisplay: ptrStr("compact"),
|
||||||
|
ColorizeUsernames: ptrStr("true"),
|
||||||
ChannelDisplayMode: ptrStr("centered"),
|
ChannelDisplayMode: ptrStr("centered"),
|
||||||
TutorialStep: ptrStr("3"),
|
TutorialStep: ptrStr("3"),
|
||||||
UseMarkdownPreview: ptrStr("true"),
|
UseMarkdownPreview: ptrStr("true"),
|
||||||
@@ -1173,6 +1174,7 @@ func TestImportImportUser(t *testing.T) {
|
|||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime, *data.UseMilitaryTime)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime, *data.UseMilitaryTime)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameCollapseSetting, *data.CollapsePreviews)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameCollapseSetting, *data.CollapsePreviews)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameMessageDisplay, *data.MessageDisplay)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameMessageDisplay, *data.MessageDisplay)
|
||||||
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameColorizeUsernames, *data.ColorizeUsernames)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameChannelDisplayMode, *data.ChannelDisplayMode)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameChannelDisplayMode, *data.ChannelDisplayMode)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryAdvancedSettings, "feature_enabled_markdown_preview", *data.UseMarkdownPreview)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryAdvancedSettings, "feature_enabled_markdown_preview", *data.UseMarkdownPreview)
|
||||||
@@ -1188,6 +1190,7 @@ func TestImportImportUser(t *testing.T) {
|
|||||||
UseMilitaryTime: ptrStr("false"),
|
UseMilitaryTime: ptrStr("false"),
|
||||||
CollapsePreviews: ptrStr("false"),
|
CollapsePreviews: ptrStr("false"),
|
||||||
MessageDisplay: ptrStr("clean"),
|
MessageDisplay: ptrStr("clean"),
|
||||||
|
ColorizeUsernames: ptrStr("false"),
|
||||||
ChannelDisplayMode: ptrStr("full"),
|
ChannelDisplayMode: ptrStr("full"),
|
||||||
TutorialStep: ptrStr("2"),
|
TutorialStep: ptrStr("2"),
|
||||||
EmailInterval: ptrStr("hour"),
|
EmailInterval: ptrStr("hour"),
|
||||||
@@ -1200,6 +1203,7 @@ func TestImportImportUser(t *testing.T) {
|
|||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime, *data.UseMilitaryTime)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameUseMilitaryTime, *data.UseMilitaryTime)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameCollapseSetting, *data.CollapsePreviews)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameCollapseSetting, *data.CollapsePreviews)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameMessageDisplay, *data.MessageDisplay)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameMessageDisplay, *data.MessageDisplay)
|
||||||
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameColorizeUsernames, *data.ColorizeUsernames)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameChannelDisplayMode, *data.ChannelDisplayMode)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryDisplaySettings, model.PreferenceNameChannelDisplayMode, *data.ChannelDisplayMode)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep)
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep)
|
||||||
checkPreference(t, th.App, user.Id, model.PreferenceCategoryNotifications, model.PreferenceNameEmailInterval, "3600")
|
checkPreference(t, th.App, user.Id, model.PreferenceCategoryNotifications, model.PreferenceNameEmailInterval, "3600")
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ type UserImportData struct {
|
|||||||
UseMilitaryTime *string `json:"military_time,omitempty"`
|
UseMilitaryTime *string `json:"military_time,omitempty"`
|
||||||
CollapsePreviews *string `json:"link_previews,omitempty"`
|
CollapsePreviews *string `json:"link_previews,omitempty"`
|
||||||
MessageDisplay *string `json:"message_display,omitempty"`
|
MessageDisplay *string `json:"message_display,omitempty"`
|
||||||
|
CollapseConsecutive *string `json:"collapse_consecutive_messages,omitempty"`
|
||||||
|
ColorizeUsernames *string `json:"colorize_usernames,omitempty"`
|
||||||
ChannelDisplayMode *string `json:"channel_display_mode,omitempty"`
|
ChannelDisplayMode *string `json:"channel_display_mode,omitempty"`
|
||||||
TutorialStep *string `json:"tutorial_step,omitempty"`
|
TutorialStep *string `json:"tutorial_step,omitempty"`
|
||||||
EmailInterval *string `json:"email_interval,omitempty"`
|
EmailInterval *string `json:"email_interval,omitempty"`
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ const (
|
|||||||
PreferenceNameChannelDisplayMode = "channel_display_mode"
|
PreferenceNameChannelDisplayMode = "channel_display_mode"
|
||||||
PreferenceNameCollapseSetting = "collapse_previews"
|
PreferenceNameCollapseSetting = "collapse_previews"
|
||||||
PreferenceNameMessageDisplay = "message_display"
|
PreferenceNameMessageDisplay = "message_display"
|
||||||
|
PreferenceNameCollapseConsecutive = "collapse_consecutive_messages"
|
||||||
|
PreferenceNameColorizeUsernames = "colorize_usernames"
|
||||||
PreferenceNameNameFormat = "name_format"
|
PreferenceNameNameFormat = "name_format"
|
||||||
PreferenceNameUseMilitaryTime = "use_military_time"
|
PreferenceNameUseMilitaryTime = "use_military_time"
|
||||||
PreferenceRecommendedNextSteps = "recommended_next_steps"
|
PreferenceRecommendedNextSteps = "recommended_next_steps"
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user