diff options
-rw-r--r-- | model/user.go | 14 | ||||
-rw-r--r-- | model/user_test.go | 32 | ||||
-rw-r--r-- | web/react/utils/utils.jsx | 20 |
3 files changed, 64 insertions, 2 deletions
diff --git a/model/user.go b/model/user.go index 5b603cd92..727165b8c 100644 --- a/model/user.go +++ b/model/user.go @@ -237,9 +237,23 @@ func (u *User) AddNotifyProp(key string, value string) { u.NotifyProps[key] = value } +func (u *User) GetFullName() string { + if u.FirstName != "" && u.LastName != "" { + return u.FirstName + " " + u.LastName + } else if u.FirstName != "" { + return u.FirstName + } else if u.LastName != "" { + return u.LastName + } else { + return "" + } +} + func (u *User) GetDisplayName() string { if u.Nickname != "" { return u.Nickname + } else if fullName := u.GetFullName(); fullName != "" { + return fullName } else { return u.Username } diff --git a/model/user_test.go b/model/user_test.go index a0c62676a..a48c3f2e7 100644 --- a/model/user_test.go +++ b/model/user_test.go @@ -108,13 +108,43 @@ func TestUserIsValid(t *testing.T) { } } +func TestUserGetFullName(t *testing.T) { + user := User{} + + if fullName := user.GetFullName(); fullName != "" { + t.Fatal("Full name should be blank") + } + + user.FirstName = "first" + if fullName := user.GetFullName(); fullName != "first" { + t.Fatal("Full name should be first name") + } + + user.FirstName = "" + user.LastName = "last" + if fullName := user.GetFullName(); fullName != "last" { + t.Fatal("Full name should be last name") + } + + user.FirstName = "first" + if fullName := user.GetFullName(); fullName != "first last" { + t.Fatal("Full name should be first name and last name") + } +} + func TestUserGetDisplayName(t *testing.T) { - user := User{FirstName: "first", LastName: "last", Username: "user"} + user := User{Username: "user"} if displayName := user.GetDisplayName(); displayName != "user" { t.Fatal("Display name should be username") } + user.FirstName = "first" + user.LastName = "last" + if displayName := user.GetDisplayName(); displayName != "first last" { + t.Fatal("Display name should be full name") + } + user.Nickname = "nickname" if displayName := user.GetDisplayName(); displayName != "nickname" { t.Fatal("Display name should be nickname") diff --git a/web/react/utils/utils.jsx b/web/react/utils/utils.jsx index 5a1a7ee73..416ea5ae4 100644 --- a/web/react/utils/utils.jsx +++ b/web/react/utils/utils.jsx @@ -825,10 +825,28 @@ module.exports.changeColor =function(col, amt) { return (usePound?"#":"") + String("000000" + (g | (b << 8) | (r << 16)).toString(16)).slice(-6); }; +module.exports.getFullName = function(user) { + if (user.first_name && user.last_name) { + return user.first_name + " " + user.last_name; + } else if (user.first_name) { + return user.first_name; + } else if (user.last_name) { + return user.last_name; + } else { + return ""; + } +}; + module.exports.getDisplayName = function(user) { if (user.nickname && user.nickname.trim().length > 0) { return user.nickname; } else { - return user.username; + var fullName = module.exports.getFullName(user); + + if (fullName) { + return fullName; + } else { + return user.username; + } } }; |