| @@ -104,6 +104,40 @@ func Profile(ctx *context.Context) { | |||||
| return | 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["Orgs"] = orgs | ||||
| ctx.Data["HasOrgsVisible"] = models.HasOrgsVisible(orgs, ctx.User) | ctx.Data["HasOrgsVisible"] = models.HasOrgsVisible(orgs, ctx.User) | ||||