From 54a516e9daf84e9a2b8b86e36fbed5592b31a758 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Thu, 20 Jul 2023 09:38:12 -0400 Subject: [PATCH] Fix the route for pull-request's authors (#26016) (#26018) Backport #26016 by @wxiaoguang Close #25906 ![image](https://github.com/go-gitea/gitea/assets/2114189/e689f3e1-9a90-46c0-89f4-2d61394d34d3) Succeeded logs: ``` [I] router: completed GET /root/test/issues/posters?&q=%20&_=1689853025011 for [::1]:59271, 200 OK in 127.7ms @ repo/issue.go:3505(repo.IssuePosters) [I] router: completed GET /root/test/pulls/posters?&q=%20&_=1689853968204 for [::1]:59269, 200 OK in 94.3ms @ repo/issue.go:3509(repo.PullPosters) ``` Co-authored-by: wxiaoguang --- routers/web/repo/issue.go | 9 ++++++++- routers/web/web.go | 7 +++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index 4cf319e958..2ad7af050b 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -3476,8 +3476,15 @@ type userSearchResponse struct { // IssuePosters get posters for current repo's issues/pull requests func IssuePosters(ctx *context.Context) { + issuePosters(ctx, false) +} + +func PullPosters(ctx *context.Context) { + issuePosters(ctx, true) +} + +func issuePosters(ctx *context.Context, isPullList bool) { repo := ctx.Repo.Repository - isPullList := ctx.Params(":type") == "pulls" search := strings.TrimSpace(ctx.FormString("q")) posters, err := repo_model.GetIssuePostersWithSearch(ctx, repo, isPullList, search, setting.UI.DefaultShowFullName) if err != nil { diff --git a/routers/web/web.go b/routers/web/web.go index 31a0a77ee3..458cf0458c 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -1143,10 +1143,8 @@ func registerRoutes(m *web.Route) { m.Group("/{username}/{reponame}", func() { m.Group("", func() { - m.Group("/{type:issues|pulls}", func() { - m.Get("", repo.Issues) - m.Get("/posters", repo.IssuePosters) - }) + m.Get("/issues/posters", repo.IssuePosters) // it can't use {type:issues|pulls} because other routes like "/pulls/{index}" has higher priority + m.Get("/{type:issues|pulls}", repo.Issues) m.Get("/{type:issues|pulls}/{index}", repo.ViewIssue) m.Group("/{type:issues|pulls}/{index}/content-history", func() { m.Get("/overview", repo.GetContentHistoryOverview) @@ -1267,6 +1265,7 @@ func registerRoutes(m *web.Route) { return cancel }) + m.Get("/pulls/posters", repo.PullPosters) m.Group("/pulls/{index}", func() { m.Get(".diff", repo.DownloadPullDiff) m.Get(".patch", repo.DownloadPullPatch)