forked from gitea/gitea
		
	Return empty when searching issues with no repos (#26545)
This commit is contained in:
		
							parent
							
								
									47fddaadc8
								
							
						
					
					
						commit
						b658f2c61b
					
				| @ -193,6 +193,10 @@ func SearchIssues(ctx *context.APIContext) { | ||||
| 			ctx.Error(http.StatusInternalServerError, "SearchRepositoryIDs", err) | ||||
| 			return | ||||
| 		} | ||||
| 		if len(repoIDs) == 0 { | ||||
| 			// no repos found, don't let the indexer return all repos | ||||
| 			repoIDs = []int64{0} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	keyword := ctx.FormTrim("q") | ||||
|  | ||||
| @ -2503,6 +2503,10 @@ func SearchIssues(ctx *context.Context) { | ||||
| 			ctx.Error(http.StatusInternalServerError, "SearchRepositoryIDs", err.Error()) | ||||
| 			return | ||||
| 		} | ||||
| 		if len(repoIDs) == 0 { | ||||
| 			// no repos found, don't let the indexer return all repos | ||||
| 			repoIDs = []int64{0} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	keyword := ctx.FormTrim("q") | ||||
|  | ||||
| @ -454,10 +454,21 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) { | ||||
| 		AllPublic:  false, | ||||
| 		AllLimited: false, | ||||
| 	} | ||||
| 
 | ||||
| 	if team != nil { | ||||
| 		repoOpts.TeamID = team.ID | ||||
| 	} | ||||
| 	{ | ||||
| 		ids, _, err := repo_model.SearchRepositoryIDs(repoOpts) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("SearchRepositoryIDs", err) | ||||
| 			return | ||||
| 		} | ||||
| 		opts.RepoIDs = ids | ||||
| 		if len(opts.RepoIDs) == 0 { | ||||
| 			// no repos found, don't let the indexer return all repos | ||||
| 			opts.RepoIDs = []int64{0} | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	switch filterMode { | ||||
| 	case issues_model.FilterModeAll: | ||||
| @ -541,15 +552,13 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) { | ||||
| 	// Parse ctx.FormString("repos") and remember matched repo IDs for later. | ||||
| 	// Gets set when clicking filters on the issues overview page. | ||||
| 	repoIDs := getRepoIDs(ctx.FormString("repos")) | ||||
| 	if len(repoIDs) == 0 { | ||||
| 		repoIDs = accessibleRepos.Values() | ||||
| 	} else { | ||||
| 	if len(repoIDs) > 0 { | ||||
| 		// Remove repo IDs that are not accessible to the user. | ||||
| 		repoIDs = util.SliceRemoveAllFunc(repoIDs, func(v int64) bool { | ||||
| 			return !accessibleRepos.Contains(v) | ||||
| 		}) | ||||
| 		opts.RepoIDs = repoIDs | ||||
| 	} | ||||
| 	opts.RepoIDs = repoIDs | ||||
| 
 | ||||
| 	// ------------------------------ | ||||
| 	// Get issues as defined by opts. | ||||
| @ -609,6 +618,7 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) { | ||||
| 	var issueStats *issues_model.IssueStats | ||||
| 	{ | ||||
| 		statsOpts := issues_model.IssuesOptions{ | ||||
| 			RepoIDs:    repoIDs, | ||||
| 			User:       ctx.Doer, | ||||
| 			IsPull:     util.OptionalBoolOf(isPullList), | ||||
| 			IsClosed:   util.OptionalBoolOf(isShowClosed), | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 GitHub
							GitHub