mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-30 22:11:07 +00:00 
			
		
		
		
	Thanks to inferenceus : some sort orders on the "explore/users" page could list users by their lastlogintime/updatetime. It leaks user's activity unintentionally. This PR makes that page only use "supported" sort orders. Removing the "sort orders" could also be a good solution, while IMO at the moment keeping the "create time" and "name" orders is also fine, in case some users would like to find a target user in the search result, the "sort order" might help.  (cherry picked from commit eedb8f41297c343d6073a7bab46e4df6ee297a90)
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2021 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package explore
 | |
| 
 | |
| import (
 | |
| 	"code.gitea.io/gitea/models/db"
 | |
| 	user_model "code.gitea.io/gitea/models/user"
 | |
| 	"code.gitea.io/gitea/modules/container"
 | |
| 	"code.gitea.io/gitea/modules/setting"
 | |
| 	"code.gitea.io/gitea/modules/structs"
 | |
| 	"code.gitea.io/gitea/services/context"
 | |
| )
 | |
| 
 | |
| // Organizations render explore organizations page
 | |
| func Organizations(ctx *context.Context) {
 | |
| 	ctx.Data["UsersIsDisabled"] = setting.Service.Explore.DisableUsersPage
 | |
| 	ctx.Data["Title"] = ctx.Tr("explore")
 | |
| 	ctx.Data["PageIsExplore"] = true
 | |
| 	ctx.Data["PageIsExploreOrganizations"] = true
 | |
| 	ctx.Data["IsRepoIndexerEnabled"] = setting.Indexer.RepoIndexerEnabled
 | |
| 
 | |
| 	visibleTypes := []structs.VisibleType{structs.VisibleTypePublic}
 | |
| 	if ctx.Doer != nil {
 | |
| 		visibleTypes = append(visibleTypes, structs.VisibleTypeLimited, structs.VisibleTypePrivate)
 | |
| 	}
 | |
| 
 | |
| 	supportedSortOrders := container.SetOf(
 | |
| 		"newest",
 | |
| 		"oldest",
 | |
| 		"alphabetically",
 | |
| 		"reversealphabetically",
 | |
| 	)
 | |
| 	sortOrder := ctx.FormString("sort")
 | |
| 	if sortOrder == "" {
 | |
| 		sortOrder = "newest"
 | |
| 		ctx.SetFormString("sort", sortOrder)
 | |
| 	}
 | |
| 
 | |
| 	RenderUserSearch(ctx, &user_model.SearchUserOptions{
 | |
| 		Actor:       ctx.Doer,
 | |
| 		Type:        user_model.UserTypeOrganization,
 | |
| 		ListOptions: db.ListOptions{PageSize: setting.UI.ExplorePagingNum},
 | |
| 		Visible:     visibleTypes,
 | |
| 
 | |
| 		SupportedSortOrders: supportedSortOrders,
 | |
| 	}, tplExploreUsers)
 | |
| }
 |