[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)) | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue