Unify all locations where we determine a user's display named based off of their nickname/username into a helper function
Этот коммит содержится в:
@@ -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)
|
teamUrl = fmt.Sprintf("http://%v.%v", team.Domain, utils.Cfg.ServiceSettings.Domain)
|
||||||
}
|
}
|
||||||
|
|
||||||
sender := ""
|
sender := user.GetDisplayName()
|
||||||
if len(strings.TrimSpace(user.Nickname)) == 0 {
|
|
||||||
sender = user.Username
|
|
||||||
} else {
|
|
||||||
sender = user.Nickname
|
|
||||||
}
|
|
||||||
|
|
||||||
senderRole := ""
|
senderRole := ""
|
||||||
if strings.Contains(user.Roles, model.ROLE_ADMIN) || strings.Contains(user.Roles, model.ROLE_SYSTEM_ADMIN) {
|
if strings.Contains(user.Roles, model.ROLE_ADMIN) || strings.Contains(user.Roles, model.ROLE_SYSTEM_ADMIN) {
|
||||||
|
|||||||
@@ -237,6 +237,14 @@ func (u *User) AddNotifyProp(key string, value string) {
|
|||||||
u.NotifyProps[key] = value
|
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
|
// UserFromJson will decode the input and return a User
|
||||||
func UserFromJson(data io.Reader) *User {
|
func UserFromJson(data io.Reader) *User {
|
||||||
decoder := json.NewDecoder(data)
|
decoder := json.NewDecoder(data)
|
||||||
|
|||||||
@@ -107,3 +107,16 @@ func TestUserIsValid(t *testing.T) {
|
|||||||
t.Fatal(err)
|
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")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -85,8 +85,8 @@ var MemberListTeamItem = React.createClass({
|
|||||||
return (
|
return (
|
||||||
<div className="row member-div">
|
<div className="row member-div">
|
||||||
<img className="post-profile-img pull-left" src={"/api/v1/users/" + user.id + "/image?time=" + timestamp} height="36" width="36" />
|
<img className="post-profile-img pull-left" src={"/api/v1/users/" + user.id + "/image?time=" + timestamp} height="36" width="36" />
|
||||||
<span className="member-name">{user.nickname.trim() ? user.nickname : user.username}</span>
|
<span className="member-name">{utils.getDisplayName(user)}</span>
|
||||||
<span className="member-email">{user.nickname.trim() ? user.username : email}</span>
|
<span className="member-email">{email}</span>
|
||||||
<div className="dropdown member-drop">
|
<div className="dropdown member-drop">
|
||||||
<a href="#" className="dropdown-toggle theme" type="button" id="channel_header_dropdown" data-toggle="dropdown" aria-expanded="true">
|
<a href="#" className="dropdown-toggle theme" type="button" id="channel_header_dropdown" data-toggle="dropdown" aria-expanded="true">
|
||||||
<span>{currentRoles} </span>
|
<span>{currentRoles} </span>
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ function getStateFromStores() {
|
|||||||
var channel = ChannelStore.getByName(channelName);
|
var channel = ChannelStore.getByName(channelName);
|
||||||
|
|
||||||
if (channel != null) {
|
if (channel != null) {
|
||||||
channel.display_name = teammate.nickname.trim() != "" ? teammate.nickname : teammate.username;
|
channel.display_name = utils.getDisplayName(teammate);
|
||||||
channel.teammate_username = teammate.username;
|
channel.teammate_username = teammate.username;
|
||||||
|
|
||||||
channel.status = UserStore.getStatus(teammate.id);
|
channel.status = UserStore.getStatus(teammate.id);
|
||||||
@@ -150,7 +150,7 @@ function getStateFromStores() {
|
|||||||
var tempChannel = {};
|
var tempChannel = {};
|
||||||
tempChannel.fake = true;
|
tempChannel.fake = true;
|
||||||
tempChannel.name = channelName;
|
tempChannel.name = channelName;
|
||||||
tempChannel.display_name = teammate.nickname.trim() != "" ? teammate.nickname : teammate.username;
|
tempChannel.display_name = utils.getDisplayName(teammate);
|
||||||
tempChannel.status = UserStore.getStatus(teammate.id);
|
tempChannel.status = UserStore.getStatus(teammate.id);
|
||||||
tempChannel.last_post_at = 0;
|
tempChannel.last_post_at = 0;
|
||||||
readDirectChannels.push(tempChannel);
|
readDirectChannels.push(tempChannel);
|
||||||
|
|||||||
@@ -796,7 +796,6 @@ module.exports.getHomeLink = function() {
|
|||||||
return window.location.protocol + "//" + parts.join(".");
|
return window.location.protocol + "//" + parts.join(".");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module.exports.changeColor =function(col, amt) {
|
module.exports.changeColor =function(col, amt) {
|
||||||
|
|
||||||
var usePound = false;
|
var usePound = false;
|
||||||
@@ -824,5 +823,12 @@ module.exports.changeColor =function(col, amt) {
|
|||||||
else if (g < 0) g = 0;
|
else if (g < 0) g = 0;
|
||||||
|
|
||||||
return (usePound?"#":"") + String("000000" + (g | (b << 8) | (r << 16)).toString(16)).slice(-6);
|
return (usePound?"#":"") + String("000000" + (g | (b << 8) | (r << 16)).toString(16)).slice(-6);
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports.getDisplayName = function(user) {
|
||||||
|
if (user.nickname && user.nickname.trim().length > 0) {
|
||||||
|
return user.nickname;
|
||||||
|
} else {
|
||||||
|
return user.username;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user