Properly filter issue list given no assignees filter (#31522)
Quick fix #31520. This issue is related to #31337.
This commit is contained in:
parent
bbd14769cd
commit
c0b5a843ba
@ -44,6 +44,12 @@ func ToSearchOptions(keyword string, opts *issues_model.IssuesOptions) *SearchOp
|
|||||||
searchOpt.ProjectID = optional.Some[int64](0) // Those issues with no project(projectid==0)
|
searchOpt.ProjectID = optional.Some[int64](0) // Those issues with no project(projectid==0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if opts.AssigneeID > 0 {
|
||||||
|
searchOpt.AssigneeID = optional.Some(opts.AssigneeID)
|
||||||
|
} else if opts.AssigneeID == -1 { // FIXME: this is inconsistent from other places
|
||||||
|
searchOpt.AssigneeID = optional.Some[int64](0)
|
||||||
|
}
|
||||||
|
|
||||||
// See the comment of issues_model.SearchOptions for the reason why we need to convert
|
// See the comment of issues_model.SearchOptions for the reason why we need to convert
|
||||||
convertID := func(id int64) optional.Option[int64] {
|
convertID := func(id int64) optional.Option[int64] {
|
||||||
if id > 0 {
|
if id > 0 {
|
||||||
@ -57,7 +63,6 @@ func ToSearchOptions(keyword string, opts *issues_model.IssuesOptions) *SearchOp
|
|||||||
|
|
||||||
searchOpt.ProjectColumnID = convertID(opts.ProjectColumnID)
|
searchOpt.ProjectColumnID = convertID(opts.ProjectColumnID)
|
||||||
searchOpt.PosterID = convertID(opts.PosterID)
|
searchOpt.PosterID = convertID(opts.PosterID)
|
||||||
searchOpt.AssigneeID = convertID(opts.AssigneeID)
|
|
||||||
searchOpt.MentionID = convertID(opts.MentionedID)
|
searchOpt.MentionID = convertID(opts.MentionedID)
|
||||||
searchOpt.ReviewedID = convertID(opts.ReviewedID)
|
searchOpt.ReviewedID = convertID(opts.ReviewedID)
|
||||||
searchOpt.ReviewRequestedID = convertID(opts.ReviewRequestedID)
|
searchOpt.ReviewRequestedID = convertID(opts.ReviewRequestedID)
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/db"
|
"code.gitea.io/gitea/models/db"
|
||||||
|
"code.gitea.io/gitea/models/issues"
|
||||||
"code.gitea.io/gitea/models/unittest"
|
"code.gitea.io/gitea/models/unittest"
|
||||||
"code.gitea.io/gitea/modules/indexer/issues/internal"
|
"code.gitea.io/gitea/modules/indexer/issues/internal"
|
||||||
"code.gitea.io/gitea/modules/optional"
|
"code.gitea.io/gitea/modules/optional"
|
||||||
@ -188,6 +189,11 @@ func searchIssueByID(t *testing.T) {
|
|||||||
},
|
},
|
||||||
expectedIDs: []int64{6, 1},
|
expectedIDs: []int64{6, 1},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
// NOTE: This tests no assignees filtering and also ToSearchOptions() to ensure it will set AssigneeID to 0 when it is passed as -1.
|
||||||
|
opts: *ToSearchOptions("", &issues.IssuesOptions{AssigneeID: -1}),
|
||||||
|
expectedIDs: []int64{22, 21, 16, 15, 14, 13, 12, 11, 20, 5, 19, 18, 10, 7, 4, 9, 8, 3, 2},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
opts: SearchOptions{
|
opts: SearchOptions{
|
||||||
MentionID: optional.Some(int64(4)),
|
MentionID: optional.Some(int64(4)),
|
||||||
|
Loading…
Reference in New Issue
Block a user