[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": "/user2/repo1/src/branch/master",
|
||||||
"/user2/repo1/src/master/file.txt": "/user2/repo1/src/branch/master/file.txt",
|
"/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",
|
"/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 {
|
for link, redirectLink := range redirects {
|
||||||
req := NewRequest(t, "GET", link)
|
req := NewRequest(t, "GET", link)
|
||||||
|
|
|
@ -6,6 +6,7 @@ package user
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models"
|
"code.gitea.io/gitea/models"
|
||||||
"code.gitea.io/gitea/modules/context"
|
"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)
|
log.Debug("Asked avatar for user %v and size %v", userName, size)
|
||||||
|
|
||||||
user, err := models.GetUserByName(userName)
|
var user *models.User
|
||||||
if err != nil {
|
if strings.ToLower(userName) != "ghost" {
|
||||||
if models.IsErrUserNotExist(err) {
|
user, err = models.GetUserByName(userName)
|
||||||
ctx.ServerError("Requested avatar for invalid user", err)
|
if err != nil {
|
||||||
} else {
|
if models.IsErrUserNotExist(err) {
|
||||||
ctx.ServerError("Retrieving user by name", 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))
|
ctx.Redirect(user.RealSizedAvatarLink(size))
|
||||||
|
|
Loading…
Reference in a new issue