mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-29 13:59:15 -05:00
459ee98136
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. ![image](https://github.com/go-gitea/gitea/assets/2114189/ce5c39c1-1e86-484a-80c3-33cac6419af8) (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)
|
|
}
|