diff --git a/app/notification.go b/app/notification.go index 46d7a0db3c..375fcac4dd 100644 --- a/app/notification.go +++ b/app/notification.go @@ -786,3 +786,16 @@ func (e *ExplicitMentions) processText(text string, keywords map[string][]string } } } + +func (a *App) GetNotificationNameFormat(user *model.User) string { + if !*a.Config().PrivacySettings.ShowFullName { + return model.SHOW_USERNAME + } + + data, err := a.Srv.Store.Preference().Get(user.Id, model.PREFERENCE_CATEGORY_DISPLAY_SETTINGS, model.PREFERENCE_NAME_NAME_FORMAT) + if err != nil { + return *a.Config().TeamSettings.TeammateNameDisplay + } + + return data.Value +} diff --git a/app/notification_email.go b/app/notification_email.go index 004ee085bc..a2fbb6766d 100644 --- a/app/notification_email.go +++ b/app/notification_email.go @@ -74,12 +74,7 @@ func (a *App) sendNotificationEmail(notification *postNotification, user *model. useMilitaryTime = data.Value == "true" } - var nameFormat string - if data, err := a.Srv.Store.Preference().Get(user.Id, model.PREFERENCE_CATEGORY_DISPLAY_SETTINGS, model.PREFERENCE_NAME_NAME_FORMAT); err != nil { - nameFormat = *a.Config().TeamSettings.TeammateNameDisplay - } else { - nameFormat = data.Value - } + nameFormat := a.GetNotificationNameFormat(user) channelName := notification.GetChannelName(nameFormat, "") senderName := notification.GetSenderName(nameFormat, *a.Config().ServiceSettings.EnablePostUsernameOverride) diff --git a/app/notification_push.go b/app/notification_push.go index aea201ce6b..2b4e963186 100644 --- a/app/notification_push.go +++ b/app/notification_push.go @@ -109,12 +109,7 @@ func (a *App) sendPushNotification(notification *postNotification, user *model.U channel := notification.channel post := notification.post - var nameFormat string - if data, err := a.Srv.Store.Preference().Get(user.Id, model.PREFERENCE_CATEGORY_DISPLAY_SETTINGS, model.PREFERENCE_NAME_NAME_FORMAT); err != nil { - nameFormat = *a.Config().TeamSettings.TeammateNameDisplay - } else { - nameFormat = data.Value - } + nameFormat := a.GetNotificationNameFormat(user) channelName := notification.GetChannelName(nameFormat, user.Id) senderName := notification.GetSenderName(nameFormat, *cfg.ServiceSettings.EnablePostUsernameOverride) diff --git a/app/notification_test.go b/app/notification_test.go index 751e14acbc..13ee5ca588 100644 --- a/app/notification_test.go +++ b/app/notification_test.go @@ -1766,3 +1766,26 @@ func TestProcessText(t *testing.T) { }) } } + +func TestGetNotificationNameFormat(t *testing.T) { + th := Setup(t).InitBasic() + defer th.TearDown() + + t.Run("show full name on", func(t *testing.T) { + th.App.UpdateConfig(func(cfg *model.Config) { + *cfg.PrivacySettings.ShowFullName = true + *cfg.TeamSettings.TeammateNameDisplay = model.SHOW_FULLNAME + }) + + assert.Equal(t, model.SHOW_FULLNAME, th.App.GetNotificationNameFormat(th.BasicUser)) + }) + + t.Run("show full name off", func(t *testing.T) { + th.App.UpdateConfig(func(cfg *model.Config) { + *cfg.PrivacySettings.ShowFullName = false + *cfg.TeamSettings.TeammateNameDisplay = model.SHOW_FULLNAME + }) + + assert.Equal(t, model.SHOW_USERNAME, th.App.GetNotificationNameFormat(th.BasicUser)) + }) +}