Skip to content

Commit

Permalink
[BugFix] use default avatar for ghost user (fix 500 error) (#9536)
Browse files Browse the repository at this point in the history
* 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 <art27@cantab.net>
  • Loading branch information
2 people authored and lafriks committed Dec 29, 2019
1 parent ae9d342 commit d59536c
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 7 deletions.
1 change: 1 addition & 0 deletions integrations/links_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
20 changes: 13 additions & 7 deletions routers/user/avatar.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package user

import (
"strconv"
"strings"

"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/context"
Expand All @@ -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))
Expand Down

0 comments on commit d59536c

Please sign in to comment.