diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index bd8959846c..8fb6fe04df 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -3503,8 +3503,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 4f5901c0ec..b4c0030ab7 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -1151,10 +1151,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) @@ -1276,6 +1274,7 @@ func registerRoutes(m *web.Route) { return cancel }) + m.Get("/pulls/posters", repo.PullPosters) m.Group("/pulls/{index}", func() { m.Get("", repo.SetWhitespaceBehavior, repo.GetPullDiffStats, repo.ViewIssue) m.Get(".diff", repo.DownloadPullDiff)