]> source.dussan.org Git - gitea.git/commitdiff
Fix incorrect milestone count when provide a keyword (#25880)
authoryp05327 <576951401@qq.com>
Sun, 16 Jul 2023 03:43:51 +0000 (12:43 +0900)
committerGitHub <noreply@github.com>
Sun, 16 Jul 2023 03:43:51 +0000 (03:43 +0000)
You can confirm this issue in:
https://try.gitea.io/yp05327/testrepo/milestones?state=open&q=a
There's no milestone, but the count is 1.

![image](https://github.com/go-gitea/gitea/assets/18380374/25e58cee-aeeb-43c1-8ec8-6e2ec6bf1284)

routers/web/repo/milestone.go

index a6f7f56af74c3ad976c6f8ee9e8db21e9a8fda33..7b20cd98482bcec12beb18163ce0a947521b1a61 100644 (file)
@@ -38,18 +38,8 @@ func Milestones(ctx *context.Context) {
        ctx.Data["PageIsMilestones"] = true
 
        isShowClosed := ctx.FormString("state") == "closed"
-       stats, err := issues_model.GetMilestonesStatsByRepoCond(builder.And(builder.Eq{"id": ctx.Repo.Repository.ID}))
-       if err != nil {
-               ctx.ServerError("MilestoneStats", err)
-               return
-       }
-       ctx.Data["OpenCount"] = stats.OpenCount
-       ctx.Data["ClosedCount"] = stats.ClosedCount
-
        sortType := ctx.FormString("sort")
-
        keyword := ctx.FormTrim("q")
-
        page := ctx.FormInt("page")
        if page <= 1 {
                page = 1
@@ -74,6 +64,15 @@ func Milestones(ctx *context.Context) {
                ctx.ServerError("GetMilestones", err)
                return
        }
+
+       stats, err := issues_model.GetMilestonesStatsByRepoCondAndKw(builder.And(builder.Eq{"id": ctx.Repo.Repository.ID}), keyword)
+       if err != nil {
+               ctx.ServerError("GetMilestoneStats", err)
+               return
+       }
+       ctx.Data["OpenCount"] = stats.OpenCount
+       ctx.Data["ClosedCount"] = stats.ClosedCount
+
        if ctx.Repo.Repository.IsTimetrackerEnabled(ctx) {
                if err := miles.LoadTotalTrackedTimes(); err != nil {
                        ctx.ServerError("LoadTotalTrackedTimes", err)