mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 22:28:05 +01:00 
			
		
		
		
	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) | ||||
| 	} | ||||
| 
 | ||||
| 	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 | ||||
| 	convertID := func(id int64) optional.Option[int64] { | ||||
| 		if id > 0 { | ||||
| @ -57,7 +63,6 @@ func ToSearchOptions(keyword string, opts *issues_model.IssuesOptions) *SearchOp | ||||
| 
 | ||||
| 	searchOpt.ProjectColumnID = convertID(opts.ProjectColumnID) | ||||
| 	searchOpt.PosterID = convertID(opts.PosterID) | ||||
| 	searchOpt.AssigneeID = convertID(opts.AssigneeID) | ||||
| 	searchOpt.MentionID = convertID(opts.MentionedID) | ||||
| 	searchOpt.ReviewedID = convertID(opts.ReviewedID) | ||||
| 	searchOpt.ReviewRequestedID = convertID(opts.ReviewRequestedID) | ||||
|  | ||||
| @ -8,6 +8,7 @@ import ( | ||||
| 	"testing" | ||||
| 
 | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	"code.gitea.io/gitea/models/issues" | ||||
| 	"code.gitea.io/gitea/models/unittest" | ||||
| 	"code.gitea.io/gitea/modules/indexer/issues/internal" | ||||
| 	"code.gitea.io/gitea/modules/optional" | ||||
| @ -188,6 +189,11 @@ func searchIssueByID(t *testing.T) { | ||||
| 			}, | ||||
| 			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{ | ||||
| 				MentionID: optional.Some(int64(4)), | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user