diff --git a/api/team.go b/api/team.go index dc7804b4d4..7a4cabf7e1 100644 --- a/api/team.go +++ b/api/team.go @@ -487,12 +487,7 @@ func InviteMembers(team *model.Team, user *model.User, invites []string) { teamUrl = fmt.Sprintf("http://%v.%v", team.Domain, utils.Cfg.ServiceSettings.Domain) } - sender := "" - if len(strings.TrimSpace(user.Nickname)) == 0 { - sender = user.Username - } else { - sender = user.Nickname - } + sender := user.GetDisplayName() senderRole := "" if strings.Contains(user.Roles, model.ROLE_ADMIN) || strings.Contains(user.Roles, model.ROLE_SYSTEM_ADMIN) { diff --git a/model/user.go b/model/user.go index 5422f68a58..5b603cd92a 100644 --- a/model/user.go +++ b/model/user.go @@ -237,6 +237,14 @@ func (u *User) AddNotifyProp(key string, value string) { u.NotifyProps[key] = value } +func (u *User) GetDisplayName() string { + if u.Nickname != "" { + return u.Nickname + } else { + return u.Username + } +} + // UserFromJson will decode the input and return a User func UserFromJson(data io.Reader) *User { decoder := json.NewDecoder(data) diff --git a/model/user_test.go b/model/user_test.go index 4db099f97f..a0c62676ae 100644 --- a/model/user_test.go +++ b/model/user_test.go @@ -107,3 +107,16 @@ func TestUserIsValid(t *testing.T) { t.Fatal(err) } } + +func TestUserGetDisplayName(t *testing.T) { + user := User{FirstName: "first", LastName: "last", Username: "user"} + + if displayName := user.GetDisplayName(); displayName != "user" { + t.Fatal("Display name should be username") + } + + user.Nickname = "nickname" + if displayName := user.GetDisplayName(); displayName != "nickname" { + t.Fatal("Display name should be nickname") + } +} diff --git a/web/react/components/member_list_team.jsx b/web/react/components/member_list_team.jsx index 8d69a36d39..6f1d83193a 100644 --- a/web/react/components/member_list_team.jsx +++ b/web/react/components/member_list_team.jsx @@ -85,8 +85,8 @@ var MemberListTeamItem = React.createClass({ return (