From e88b529b31696331393e29561bab3c60bf876ee7 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Sat, 28 Jan 2023 22:45:29 -0500 Subject: Issues: add Project filter to issues list and search (#22544) Currently only a single project like milestone, not multiple like labels. Implements #14298 Code by @brechtvl --------- Co-authored-by: Brecht Van Lommel --- models/issues/issue.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'models/issues') diff --git a/models/issues/issue.go b/models/issues/issue.go index dc9e5c5acd..50c9b77119 100644 --- a/models/issues/issue.go +++ b/models/issues/issue.go @@ -1572,6 +1572,7 @@ type IssueStatsOptions struct { RepoID int64 Labels string MilestoneID int64 + ProjectID int64 AssigneeID int64 MentionedID int64 PosterID int64 @@ -1650,6 +1651,11 @@ func getIssueStatsChunk(opts *IssueStatsOptions, issueIDs []int64) (*IssueStats, sess.And("issue.milestone_id = ?", opts.MilestoneID) } + if opts.ProjectID > 0 { + sess.Join("INNER", "project_issue", "issue.id = project_issue.issue_id"). + And("project_issue.project_id=?", opts.ProjectID) + } + if opts.AssigneeID > 0 { applyAssigneeCondition(sess, opts.AssigneeID) } -- cgit v1.2.3