[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 fd9ad05159c84ba804b126d2a959963d82578b22. * Revert "dont insert "-1" in any case to issue.poster_id" This reverts commit 05469ab6d815a6cc6478a256018b9ed1a12749e0. Co-authored-by: zeripath <art27@cantab.net>
This commit is contained in:
parent
ae9d342f54
commit
d59536c222
2 changed files with 14 additions and 7 deletions
|
@ -51,6 +51,7 @@ func TestRedirectsNoLogin(t *testing.T) {
|
|||
"/user2/repo1/src/master": "/user2/repo1/src/branch/master",
|
||||
"/user2/repo1/src/master/file.txt": "/user2/repo1/src/branch/master/file.txt",
|
||||
"/user2/repo1/src/master/directory/file.txt": "/user2/repo1/src/branch/master/directory/file.txt",
|
||||
"/user/avatar/Ghost/-1": "/img/avatar_default.png",
|
||||
}
|
||||
for link, redirectLink := range redirects {
|
||||
req := NewRequest(t, "GET", link)
|
||||
|
|
|
@ -6,6 +6,7 @@ package user
|
|||
|
||||
import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"code.gitea.io/gitea/models"
|
||||
"code.gitea.io/gitea/modules/context"
|
||||
|
@ -23,14 +24,19 @@ func Avatar(ctx *context.Context) {
|
|||
|
||||
log.Debug("Asked avatar for user %v and size %v", userName, size)
|
||||
|
||||
user, err := models.GetUserByName(userName)
|
||||
if err != nil {
|
||||
if models.IsErrUserNotExist(err) {
|
||||
ctx.ServerError("Requested avatar for invalid user", err)
|
||||
} else {
|
||||
ctx.ServerError("Retrieving user by name", err)
|
||||
var user *models.User
|
||||
if strings.ToLower(userName) != "ghost" {
|
||||
user, err = models.GetUserByName(userName)
|
||||
if err != nil {
|
||||
if models.IsErrUserNotExist(err) {
|
||||
ctx.ServerError("Requested avatar for invalid user", err)
|
||||
} else {
|
||||
ctx.ServerError("Retrieving user by name", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
return
|
||||
} else {
|
||||
user = models.NewGhostUser()
|
||||
}
|
||||
|
||||
ctx.Redirect(user.RealSizedAvatarLink(size))
|
||||
|
|
Reference in a new issue