diff --git a/app/export.go b/app/export.go index 08fc6fd38d..456bb7ea08 100644 --- a/app/export.go +++ b/app/export.go @@ -46,6 +46,12 @@ var exportablePreferences = map[ComparablePreference]string{{ }: "MessageDisplay", { Category: model.PreferenceCategoryDisplaySettings, Name: "channel_display_mode", +}: "CollapseConsecutive", { + Category: model.PreferenceCategoryDisplaySettings, + Name: "collapse_consecutive_messages", +}: "ColorizeUsernames", { + Category: model.PreferenceCategoryDisplaySettings, + Name: "colorize_usernames", }: "ChannelDisplayMode", { Category: model.PreferenceCategoryTutorialSteps, Name: "", diff --git a/app/export_converters.go b/app/export_converters.go index 42fa164491..55ef081505 100644 --- a/app/export_converters.go +++ b/app/export_converters.go @@ -79,6 +79,7 @@ func ImportLineFromUser(user *model.User, exportedPrefs map[string]*string) *Lin UseMilitaryTime: exportedPrefs["UseMilitaryTime"], CollapsePreviews: exportedPrefs["CollapsePreviews"], MessageDisplay: exportedPrefs["MessageDisplay"], + ColorizeUsernames: exportedPrefs["ColorizeUsernames"], ChannelDisplayMode: exportedPrefs["ChannelDisplayMode"], TutorialStep: exportedPrefs["TutorialStep"], EmailInterval: exportedPrefs["EmailInterval"], diff --git a/app/import_functions.go b/app/import_functions.go index f8f95fa1c6..d1993b0f5d 100644 --- a/app/import_functions.go +++ b/app/import_functions.go @@ -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 { preferences = append(preferences, model.Preference{ UserId: savedUser.Id, diff --git a/app/import_functions_test.go b/app/import_functions_test.go index 5102e4033c..084cac099d 100644 --- a/app/import_functions_test.go +++ b/app/import_functions_test.go @@ -1155,6 +1155,7 @@ func TestImportImportUser(t *testing.T) { UseMilitaryTime: ptrStr("true"), CollapsePreviews: ptrStr("true"), MessageDisplay: ptrStr("compact"), + ColorizeUsernames: ptrStr("true"), ChannelDisplayMode: ptrStr("centered"), TutorialStep: ptrStr("3"), 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.PreferenceNameCollapseSetting, *data.CollapsePreviews) 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.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep) 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"), CollapsePreviews: ptrStr("false"), MessageDisplay: ptrStr("clean"), + ColorizeUsernames: ptrStr("false"), ChannelDisplayMode: ptrStr("full"), TutorialStep: ptrStr("2"), 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.PreferenceNameCollapseSetting, *data.CollapsePreviews) 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.PreferenceCategoryTutorialSteps, user.Id, *data.TutorialStep) checkPreference(t, th.App, user.Id, model.PreferenceCategoryNotifications, model.PreferenceNameEmailInterval, "3600") diff --git a/app/import_types.go b/app/import_types.go index d742bee2c4..9e03013b50 100644 --- a/app/import_types.go +++ b/app/import_types.go @@ -64,13 +64,15 @@ type UserImportData struct { Teams *[]UserTeamImportData `json:"teams,omitempty"` - Theme *string `json:"theme,omitempty"` - UseMilitaryTime *string `json:"military_time,omitempty"` - CollapsePreviews *string `json:"link_previews,omitempty"` - MessageDisplay *string `json:"message_display,omitempty"` - ChannelDisplayMode *string `json:"channel_display_mode,omitempty"` - TutorialStep *string `json:"tutorial_step,omitempty"` - EmailInterval *string `json:"email_interval,omitempty"` + Theme *string `json:"theme,omitempty"` + UseMilitaryTime *string `json:"military_time,omitempty"` + CollapsePreviews *string `json:"link_previews,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"` + TutorialStep *string `json:"tutorial_step,omitempty"` + EmailInterval *string `json:"email_interval,omitempty"` NotifyProps *UserNotifyPropsImportData `json:"notify_props,omitempty"` } diff --git a/model/preference.go b/model/preference.go index ed683e9f58..9f06580c10 100644 --- a/model/preference.go +++ b/model/preference.go @@ -26,6 +26,8 @@ const ( PreferenceNameChannelDisplayMode = "channel_display_mode" PreferenceNameCollapseSetting = "collapse_previews" PreferenceNameMessageDisplay = "message_display" + PreferenceNameCollapseConsecutive = "collapse_consecutive_messages" + PreferenceNameColorizeUsernames = "colorize_usernames" PreferenceNameNameFormat = "name_format" PreferenceNameUseMilitaryTime = "use_military_time" PreferenceRecommendedNextSteps = "recommended_next_steps"