|
- // Copyright 2014 The Gogs Authors. All rights reserved.
- // Copyright 2020 The Gitea Authors.
- // Use of this source code is governed by a MIT-style
- // license that can be found in the LICENSE file.
-
- package operation
-
- import (
- "code.gitea.io/gitea/models"
- "code.gitea.io/gitea/modules/base"
- "code.gitea.io/gitea/modules/context"
- "code.gitea.io/gitea/modules/log"
- "code.gitea.io/gitea/modules/setting"
- "code.gitea.io/gitea/modules/structs"
- "code.gitea.io/gitea/routers"
- )
-
- const (
- tplOrgs base.TplName = "admin/org/list"
- )
-
- type UpdateRecommendOrgs struct {
- OrgInfos string `binding:"required"`
- }
-
- type OrgInfo struct {
- OrgID int64 `json:"org_id"`
- Order int64 `json:"order"`
- }
-
- type OrgInfos struct {
- OrgInfo []OrgInfo `json:"org_infos"`
- }
-
- // Organizations show all the organizations recommended
- func Organizations(ctx *context.Context) {
- ctx.Data["PageIsAdmin"] = true
- ctx.Data["PageIsAdminOrganizations"] = true
-
- routers.RenderUserSearch(ctx, &models.SearchUserOptions{
- Type: models.UserTypeOrganization,
- ListOptions: models.ListOptions{
- PageSize: setting.UI.Admin.OrgPagingNum,
- },
- Visible: []structs.VisibleType{structs.VisibleTypePublic, structs.VisibleTypeLimited, structs.VisibleTypePrivate},
- }, tplOrgs)
- }
-
- // UpdateRecommendOrganizations update the organizations recommended
- func UpdateRecommendOrganizations(ctx *context.Context, req OrgInfos) {
- orgs := make(models.RecommendOrgList, 0, 10)
- for _, org := range req.OrgInfo {
- orgs = append(orgs, &models.RecommendOrg{
- OrgID: org.OrgID,
- Order: org.Order,
- })
- }
-
- if err := models.UpdateRecommendOrgs(orgs); err != nil {
- log.Error("UpdateRecommendOrgs failed:%v", err.Error(), ctx.Data["MsgID"])
- ctx.ServerError("UpdateRecommendOrgs failed", err)
- return
- }
- }
|