Skip to content

Commit d59536c

Browse files
6543zeripath
authored andcommitted
[BugFix] use default avatar for ghost user (fix 500 error) (#9536)
* remove since it is there for 3years * fix 500 error for ghost avatar * dont insert "-1" in any case to issue.poster_id * fix lint * Test: ghost avatar link * fix test * Revert "remove since it is there for 3years" This reverts commit fd9ad05. * Revert "dont insert "-1" in any case to issue.poster_id" This reverts commit 05469ab. Co-authored-by: zeripath <[email protected]>
1 parent ae9d342 commit d59536c

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

integrations/links_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ func TestRedirectsNoLogin(t *testing.T) {
5151
"/user2/repo1/src/master": "/user2/repo1/src/branch/master",
5252
"/user2/repo1/src/master/file.txt": "/user2/repo1/src/branch/master/file.txt",
5353
"/user2/repo1/src/master/directory/file.txt": "/user2/repo1/src/branch/master/directory/file.txt",
54+
"/user/avatar/Ghost/-1": "/img/avatar_default.png",
5455
}
5556
for link, redirectLink := range redirects {
5657
req := NewRequest(t, "GET", link)

routers/user/avatar.go

+13-7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package user
66

77
import (
88
"strconv"
9+
"strings"
910

1011
"code.gitea.io/gitea/models"
1112
"code.gitea.io/gitea/modules/context"
@@ -23,14 +24,19 @@ func Avatar(ctx *context.Context) {
2324

2425
log.Debug("Asked avatar for user %v and size %v", userName, size)
2526

26-
user, err := models.GetUserByName(userName)
27-
if err != nil {
28-
if models.IsErrUserNotExist(err) {
29-
ctx.ServerError("Requested avatar for invalid user", err)
30-
} else {
31-
ctx.ServerError("Retrieving user by name", err)
27+
var user *models.User
28+
if strings.ToLower(userName) != "ghost" {
29+
user, err = models.GetUserByName(userName)
30+
if err != nil {
31+
if models.IsErrUserNotExist(err) {
32+
ctx.ServerError("Requested avatar for invalid user", err)
33+
} else {
34+
ctx.ServerError("Retrieving user by name", err)
35+
}
36+
return
3237
}
33-
return
38+
} else {
39+
user = models.NewGhostUser()
3440
}
3541

3642
ctx.Redirect(user.RealSizedAvatarLink(size))

0 commit comments

Comments
 (0)