From b55ac12e0529684612b3f8868aa6afb283b2fca2 Mon Sep 17 00:00:00 2001 From: lewis <747342561@qq.com> Date: Thu, 9 Dec 2021 17:34:58 +0800 Subject: [PATCH] opt --- routers/user/profile.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/routers/user/profile.go b/routers/user/profile.go index 9b99fa741..41d8561d6 100755 --- a/routers/user/profile.go +++ b/routers/user/profile.go @@ -104,6 +104,40 @@ func Profile(ctx *context.Context) { return } + for _, org := range orgs { + _, repoCount, err := models.SearchRepository(&models.SearchRepoOptions{ + OwnerID: org.ID, + Private: ctx.IsSigned, + Actor: ctx.User, + }) + if err != nil { + ctx.ServerError("SearchRepository", err) + return + } + + var opts = models.FindOrgMembersOpts{ + OrgID: org.ID, + PublicOnly: true, + } + + if ctx.User != nil { + isMember, err := org.IsOrgMember(ctx.User.ID) + if err != nil { + ctx.Error(500, "IsOrgMember") + return + } + opts.PublicOnly = !isMember && !ctx.User.IsAdmin + } + + membersCount, err := models.CountOrgMembers(opts) + if err != nil { + ctx.ServerError("CountOrgMembers", err) + return + } + org.NumMembers = int(membersCount) + org.NumRepos = int(repoCount) + } + ctx.Data["Orgs"] = orgs ctx.Data["HasOrgsVisible"] = models.HasOrgsVisible(orgs, ctx.User)