From a3f9e9234cbb099b821a6ea9c575927be18948de Mon Sep 17 00:00:00 2001 From: Gusted <williamzijl7@hotmail.com> Date: Mon, 8 Nov 2021 22:14:46 +0100 Subject: Fix stats upon searching issues (#17566) * Fix stat chunks searching - Fixes a issue whereby the given chunk of issueIDs wasn't respected and thus the returned results where not the correct results. * Add tests Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: zeripath <art27@cantab.net> --- models/issue.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'models/issue.go') diff --git a/models/issue.go b/models/issue.go index 0bc1ebd209..75aafe51b7 100644 --- a/models/issue.go +++ b/models/issue.go @@ -1527,12 +1527,12 @@ func GetIssueStats(opts *IssueStatsOptions) (*IssueStats, error) { func getIssueStatsChunk(opts *IssueStatsOptions, issueIDs []int64) (*IssueStats, error) { stats := &IssueStats{} - countSession := func(opts *IssueStatsOptions) *xorm.Session { + countSession := func(opts *IssueStatsOptions, issueIDs []int64) *xorm.Session { sess := db.GetEngine(db.DefaultContext). Where("issue.repo_id = ?", opts.RepoID) - if len(opts.IssueIDs) > 0 { - sess.In("issue.id", opts.IssueIDs) + if len(issueIDs) > 0 { + sess.In("issue.id", issueIDs) } if len(opts.Labels) > 0 && opts.Labels != "0" { @@ -1582,13 +1582,13 @@ func getIssueStatsChunk(opts *IssueStatsOptions, issueIDs []int64) (*IssueStats, } var err error - stats.OpenCount, err = countSession(opts). + stats.OpenCount, err = countSession(opts, issueIDs). And("issue.is_closed = ?", false). Count(new(Issue)) if err != nil { return stats, err } - stats.ClosedCount, err = countSession(opts). + stats.ClosedCount, err = countSession(opts, issueIDs). And("issue.is_closed = ?", true). Count(new(Issue)) return stats, err -- cgit v1.2.3