Skip to content

Commit 13fa5f4

Browse files
committed
Fix
1 parent 314adb1 commit 13fa5f4

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

models/issues/issue_search.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,14 +183,13 @@ func applyMilestoneCondition(sess *xorm.Session, opts *IssuesOptions) {
183183
}
184184

185185
func applyProjectCondition(sess *xorm.Session, opts *IssuesOptions) {
186-
if opts.ProjectID > 0 { // specific project
187-
sess.Join("INNER", "project_issue", "issue.id = project_issue.issue_id").
188-
And("project_issue.project_id=?", opts.ProjectID)
189-
} else if opts.ProjectID == db.NoConditionID { // show those that are in no project
190-
sess.And(builder.NotIn("issue.id", builder.Select("issue_id").From("project_issue").And(builder.Neq{"project_id": 0})))
191-
} else if len(opts.ProjectIDs) > 0 { // specific project
192-
sess.Join("INNER", "project_issue", "issue.id = project_issue.issue_id").
193-
In("project_issue.project_id", opts.ProjectIDs)
186+
if len(opts.ProjectIDs) > 0 { // specific project
187+
if opts.ProjectIDs[0] == db.NoConditionID { // show those that are in no project
188+
sess.And(builder.NotIn("issue.id", builder.Select("issue_id").From("project_issue").And(builder.Neq{"project_id": 0})))
189+
} else {
190+
sess.Join("INNER", "project_issue", "issue.id = project_issue.issue_id").
191+
In("project_issue.project_id", opts.ProjectIDs)
192+
}
194193
}
195194
// opts.ProjectID == 0 means all projects,
196195
// do not need to apply any condition

modules/indexer/issues/dboptions.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ func ToSearchOptions(keyword string, opts *issues_model.IssuesOptions) *SearchOp
3838
searchOpt.MilestoneIDs = opts.MilestoneIDs
3939
}
4040

41-
if opts.ProjectID > 0 {
42-
searchOpt.ProjectID = optional.Some(opts.ProjectID)
43-
} else if opts.ProjectID == -1 { // FIXME: this is inconsistent from other places
44-
searchOpt.ProjectID = optional.Some[int64](0) // Those issues with no project(projectid==0)
41+
if len(opts.ProjectIDs) == 1 && opts.ProjectIDs[0] == db.NoConditionID {
42+
searchOpt.ProjectIDs = []int64{0}
43+
} else {
44+
searchOpt.ProjectIDs = opts.ProjectIDs // Those issues with no project(projectid==0)
4545
}
4646

4747
if opts.AssigneeID > 0 {

0 commit comments

Comments
 (0)