diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2022-03-26 10:04:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-26 17:04:22 +0800 |
commit | 59b867dc2dfc1ecb0ee703ff44e1be9c5c53cf86 (patch) | |
tree | 7114b991554e6e7dcb4123c0aa365c674d8411a0 /routers/web/repo/http.go | |
parent | f36701c702dc67011999cfaaf37e002c13e7a87e (diff) | |
download | gitea-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.go | 15 |
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 |