summaryrefslogtreecommitdiffstats
path: root/routers/web/repo/http.go
diff options
context:
space:
mode:
authorKN4CK3R <admin@oldschoolhack.me>2022-03-26 10:04:22 +0100
committerGitHub <noreply@github.com>2022-03-26 17:04:22 +0800
commit59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86 (patch)
tree7114b991554e6e7dcb4123c0aa365c674d8411a0 /routers/web/repo/http.go
parentf36701c702dc67011999cfaaf37e002c13e7a87e (diff)
downloadgitea-59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86.tar.gz
gitea-59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86.zip
Add `ContextUser` to http request context (#18798)
This PR adds a middleware which sets a ContextUser (like GetUserByParams before) in a single place which can be used by other methods. For routes which represent a repo or org the respective middlewares set the field too. Also fix a bug in modules/context/org.go during refactoring.
Diffstat (limited to 'routers/web/repo/http.go')
-rw-r--r--routers/web/repo/http.go15
1 files changed, 1 insertions, 14 deletions
diff --git a/routers/web/repo/http.go b/routers/web/repo/http.go
index 0207cd7685..d149d4f89f 100644
--- a/routers/web/repo/http.go
+++ b/routers/web/repo/http.go
@@ -24,7 +24,6 @@ import (
"code.gitea.io/gitea/models/perm"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unit"
- user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
@@ -110,19 +109,7 @@ func httpBase(ctx *context.Context) (h *serviceHandler) {
reponame = reponame[:len(reponame)-5]
}
- owner, err := user_model.GetUserByName(username)
- if err != nil {
- if user_model.IsErrUserNotExist(err) {
- if redirectUserID, err := user_model.LookupUserRedirect(username); err == nil {
- context.RedirectToUser(ctx, username, redirectUserID)
- } else {
- ctx.NotFound(fmt.Sprintf("User %s does not exist", username), nil)
- }
- } else {
- ctx.ServerError("GetUserByName", err)
- }
- return
- }
+ owner := ctx.ContextUser
if !owner.IsOrganization() && !owner.IsActive {
ctx.PlainText(http.StatusForbidden, "Repository cannot be accessed. You cannot push or open issues/pull-requests.")
return