mirror of
https://github.com/go-gitea/gitea.git
synced 2026-10-21 09:06:46 +09:00
fix(issues): use unified user display name pattern for more places (#39852)
* Fix #39761 --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
1 parent
f8dd2dd4cc
commit
3701fcec84
7 files changed
+31
-27
No files matched your search
@@ -350,7 +350,7 @@ func (list ReactionList) GetFirstUsers() string {
|
||||
if buffer.Len() > 0 {
|
||||
buffer.WriteString(", ")
|
||||
}
|
||||
buffer.WriteString(reaction.User.Name)
|
||||
buffer.WriteString(reaction.User.DisplayNameWithFullName())
|
||||
if rem--; rem == 0 {
|
||||
break
|
||||
}
|
||||
|
||||
@@ -465,6 +465,7 @@ func (u *User) EmailTo() string {
|
||||
}
|
||||
|
||||
// TODO: DefaultShowFullName causes messy logic, there are already too many methods to display a user's "display name", need to refactor them
|
||||
// Search this TODO to see more details
|
||||
// * user.Name / user.FullName: directly used in templates
|
||||
// * user.DisplayName(): always show FullName if it's not empty, otherwise show Name
|
||||
// * user.GetDisplayName(): show FullName if it's not empty and DefaultShowFullName is set, otherwise show Name
|
||||
@@ -491,6 +492,14 @@ func (u *User) GetDisplayName() string {
|
||||
return u.Name
|
||||
}
|
||||
|
||||
// DisplayNameWithFullName returns the username, full name is included if it is not empty
|
||||
func (u *User) DisplayNameWithFullName() string {
|
||||
if fullName := strings.TrimSpace(u.FullName); fullName != "" {
|
||||
return fmt.Sprintf("%s (%s)", u.Name, fullName)
|
||||
}
|
||||
return u.Name
|
||||
}
|
||||
|
||||
// ShortName ellipses username to length (still used by many templates), it calls GetDisplayName and respects DEFAULT_SHOW_FULL_NAME
|
||||
func (u *User) ShortName(length int) string {
|
||||
return util.EllipsisDisplayString(u.GetDisplayName(), length)
|
||||
|
||||
@@ -295,18 +295,13 @@ func TestNewGitSig(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestDisplayName(t *testing.T) {
|
||||
users := make([]*user_model.User, 0, 20)
|
||||
err := db.GetEngine(t.Context()).Find(&users)
|
||||
assert.NoError(t, err)
|
||||
u := &user_model.User{Name: "name"}
|
||||
assert.Equal(t, "name", u.DisplayName())
|
||||
assert.Equal(t, "name", u.DisplayNameWithFullName())
|
||||
|
||||
for _, user := range users {
|
||||
displayName := user.DisplayName()
|
||||
assert.Equal(t, strings.TrimSpace(displayName), displayName)
|
||||
if len(strings.TrimSpace(user.FullName)) == 0 {
|
||||
assert.Equal(t, user.Name, displayName)
|
||||
}
|
||||
assert.NotEmpty(t, strings.TrimSpace(displayName))
|
||||
}
|
||||
u = &user_model.User{Name: "name", FullName: "Full Name"}
|
||||
assert.Equal(t, "Full Name", u.DisplayName())
|
||||
assert.Equal(t, "name (Full Name)", u.DisplayNameWithFullName())
|
||||
}
|
||||
|
||||
func TestCreateUserEmailAlreadyUsed(t *testing.T) {
|
||||
|
||||
@@ -101,7 +101,7 @@ func TestIssueReactionCount(t *testing.T) {
|
||||
reactions := reactionsList.GroupByType()
|
||||
assert.Len(t, reactions["heart"], 4)
|
||||
assert.Equal(t, 2, reactions["heart"].GetMoreUserCount())
|
||||
assert.Equal(t, user1.Name+", "+user2.Name, reactions["heart"].GetFirstUsers())
|
||||
assert.Equal(t, "user1 (User One), user2 (< U<se>r Tw<o > ><)", reactions["heart"].GetFirstUsers())
|
||||
assert.True(t, reactions["heart"].HasUser(1))
|
||||
assert.False(t, reactions["heart"].HasUser(5))
|
||||
assert.False(t, reactions["heart"].HasUser(0))
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
<body>
|
||||
<p>
|
||||
{{if .IsPull}}
|
||||
{{.locale.Tr "mail.issue_assigned.pull" .Doer.Name $link $repo_url}}
|
||||
{{.locale.Tr "mail.issue_assigned.pull" .Doer.DisplayNameWithFullName $link $repo_url}}
|
||||
{{else}}
|
||||
{{.locale.Tr "mail.issue_assigned.issue" .Doer.Name $link $repo_url}}
|
||||
{{.locale.Tr "mail.issue_assigned.issue" .Doer.DisplayNameWithFullName $link $repo_url}}
|
||||
{{end}}
|
||||
</p>
|
||||
{{if .CanReply}}<p>{{.locale.Tr "mail.reply_directly"}}.</p>{{end}}
|
||||
|
||||
@@ -17,34 +17,34 @@
|
||||
{{$newShortSha := ShortSha .Comment.NewCommit}}
|
||||
{{$newCommitLink := HTMLFormat "<a href='%[1]s'><b>%[2]s</b></a>" $newCommitUrl $newShortSha}}
|
||||
|
||||
{{.locale.Tr "mail.issue.action.force_push" .Doer.Name .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
|
||||
{{.locale.Tr "mail.issue.action.force_push" .Doer.DisplayNameWithFullName .Comment.Issue.PullRequest.HeadBranch $oldCommitLink $newCommitLink}}
|
||||
{{else}}
|
||||
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.Name .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
|
||||
{{.locale.TrN (len .Comment.Commits) "mail.issue.action.push_1" "mail.issue.action.push_n" .Doer.DisplayNameWithFullName .Comment.Issue.PullRequest.HeadBranch (len .Comment.Commits)}}
|
||||
{{end}}
|
||||
</p>
|
||||
{{end}}
|
||||
<p>
|
||||
{{if eq .ActionName "close"}}
|
||||
{{.locale.Tr "mail.issue.action.close" .Doer.Name .Issue.Index}}
|
||||
{{.locale.Tr "mail.issue.action.close" .Doer.DisplayNameWithFullName .Issue.Index}}
|
||||
{{else if eq .ActionName "reopen"}}
|
||||
{{.locale.Tr "mail.issue.action.reopen" .Doer.Name .Issue.Index}}
|
||||
{{.locale.Tr "mail.issue.action.reopen" .Doer.DisplayNameWithFullName .Issue.Index}}
|
||||
{{else if eq .ActionName "merge"}}
|
||||
{{.locale.Tr "mail.issue.action.merge" .Doer.Name .Issue.Index .Issue.PullRequest.BaseBranch}}
|
||||
{{.locale.Tr "mail.issue.action.merge" .Doer.DisplayNameWithFullName .Issue.Index .Issue.PullRequest.BaseBranch}}
|
||||
{{else if eq .ActionName "approve"}}
|
||||
{{.locale.Tr "mail.issue.action.approve" .Doer.Name}}
|
||||
{{.locale.Tr "mail.issue.action.approve" .Doer.DisplayNameWithFullName}}
|
||||
{{else if eq .ActionName "reject"}}
|
||||
{{.locale.Tr "mail.issue.action.reject" .Doer.Name}}
|
||||
{{.locale.Tr "mail.issue.action.reject" .Doer.DisplayNameWithFullName}}
|
||||
{{else if eq .ActionName "review"}}
|
||||
{{.locale.Tr "mail.issue.action.review" .Doer.Name}}
|
||||
{{.locale.Tr "mail.issue.action.review" .Doer.DisplayNameWithFullName}}
|
||||
{{else if eq .ActionName "review_dismissed"}}
|
||||
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.Name .Comment.Review.Reviewer.Name}}
|
||||
{{.locale.Tr "mail.issue.action.review_dismissed" .Doer.DisplayNameWithFullName .Comment.Review.Reviewer.DisplayNameWithFullName}}
|
||||
{{else if eq .ActionName "ready_for_review"}}
|
||||
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.Name}}
|
||||
{{.locale.Tr "mail.issue.action.ready_for_review" .Doer.DisplayNameWithFullName}}
|
||||
{{end}}
|
||||
|
||||
{{- if eq .Body ""}}
|
||||
{{if eq .ActionName "new"}}
|
||||
{{.locale.Tr "mail.issue.action.new" .Doer.Name .Issue.Index}}
|
||||
{{.locale.Tr "mail.issue.action.new" .Doer.DisplayNameWithFullName .Issue.Index}}
|
||||
{{end}}
|
||||
{{else}}
|
||||
{{.Body}}
|
||||
|
||||
@@ -1 +1 @@
|
||||
<a class="text muted" href="{{.HomeLink}}">{{.Name}}{{if .FullName}} ({{.FullName}}){{end}}</a>{{template "shared/user/user_type_label" .}}
|
||||
<a class="text muted" href="{{.HomeLink}}">{{.DisplayNameWithFullName}}</a>{{template "shared/user/user_type_label" .}}
|
||||
Reference in new issue
Block a user