2021-06-09 07:33:54 +08:00
// Copyright 2021 The Gitea Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2021-06-09 07:33:54 +08:00
package explore
import (
2021-09-24 19:32:56 +08:00
"code.gitea.io/gitea/models/db"
2021-11-24 17:49:20 +08:00
user_model "code.gitea.io/gitea/models/user"
2024-02-27 17:10:51 +08:00
"code.gitea.io/gitea/modules/container"
2021-06-09 07:33:54 +08:00
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/structs"
2024-10-30 13:33:25 +01:00
"code.gitea.io/gitea/modules/util"
2024-02-27 15:12:22 +08:00
"code.gitea.io/gitea/services/context"
2021-06-09 07:33:54 +08:00
)
// Organizations render explore organizations page
func Organizations ( ctx * context . Context ) {
2024-10-22 13:09:19 +08:00
if setting . Service . Explore . DisableOrganizationsPage {
ctx . Redirect ( setting . AppSubURL + "/explore" )
return
}
ctx . Data [ "UsersPageIsDisabled" ] = setting . Service . Explore . DisableUsersPage
ctx . Data [ "CodePageIsDisabled" ] = setting . Service . Explore . DisableCodePage
2021-06-09 07:33:54 +08:00
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 }
2022-03-22 08:03:22 +01:00
if ctx . Doer != nil {
2021-06-09 07:33:54 +08:00
visibleTypes = append ( visibleTypes , structs . VisibleTypeLimited , structs . VisibleTypePrivate )
}
2024-02-27 17:10:51 +08:00
supportedSortOrders := container . SetOf (
"newest" ,
"oldest" ,
"alphabetically" ,
"reversealphabetically" ,
)
sortOrder := ctx . FormString ( "sort" )
if sortOrder == "" {
2024-10-30 13:33:25 +01:00
sortOrder = util . Iif ( supportedSortOrders . Contains ( setting . UI . ExploreDefaultSort ) , setting . UI . ExploreDefaultSort , "newest" )
2024-02-27 17:10:51 +08:00
ctx . SetFormString ( "sort" , sortOrder )
2023-05-06 10:04:55 -04:00
}
2021-11-24 17:49:20 +08:00
RenderUserSearch ( ctx , & user_model . SearchUserOptions {
2022-03-22 08:03:22 +01:00
Actor : ctx . Doer ,
2021-11-24 17:49:20 +08:00
Type : user_model . UserTypeOrganization ,
2021-09-24 19:32:56 +08:00
ListOptions : db . ListOptions { PageSize : setting . UI . ExplorePagingNum } ,
2021-06-09 07:33:54 +08:00
Visible : visibleTypes ,
2024-02-27 17:10:51 +08:00
SupportedSortOrders : supportedSortOrders ,
2023-08-11 22:07:04 +02:00
} , tplExploreUsers )
2021-06-09 07:33:54 +08:00
}