From 1002d7538e7aeb8456dce9dc1c9ae57a2227e0aa Mon Sep 17 00:00:00 2001 From: JakobDev Date: Mon, 17 Jul 2023 12:34:36 +0200 Subject: [PATCH 1/5] Count only visible repos on profile --- routers/web/org/home.go | 12 ++++++++++++ routers/web/user/profile.go | 11 +++++++++++ templates/org/menu.tmpl | 4 ++-- templates/user/overview/header.tmpl | 4 ++-- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/routers/web/org/home.go b/routers/web/org/home.go index 7f38ec51ba6e2..ba8319d9e811e 100644 --- a/routers/web/org/home.go +++ b/routers/web/org/home.go @@ -16,6 +16,7 @@ import ( "code.gitea.io/gitea/modules/markup" "code.gitea.io/gitea/modules/markup/markdown" "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/util" ) const ( @@ -158,6 +159,17 @@ func Home(ctx *context.Context) { ctx.Data["PageIsViewRepositories"] = true ctx.Data["IsFollowing"] = isFollowing + if !opts.PublicOnly { + ctx.Data["RepoCount"] = ctx.ContextUser.NumRepos + } else { + publicCount, err := repo_model.CountRepositories(ctx, repo_model.CountRepositoryOptions{OwnerID: ctx.ContextUser.ID, Private: util.OptionalBoolFalse}) + if err != nil { + ctx.ServerError("CountPublicRepos", err) + return + } + ctx.Data["RepoCount"] = publicCount + } + pager := context.NewPagination(int(count), setting.UI.User.RepoPagingNum, page, 5) pager.SetDefaultParams(ctx) pager.AddParam(ctx, "language", "Language") diff --git a/routers/web/user/profile.go b/routers/web/user/profile.go index 07a2261c967d3..436f4dc65dc8f 100644 --- a/routers/web/user/profile.go +++ b/routers/web/user/profile.go @@ -264,6 +264,17 @@ func prepareUserProfileTabData(ctx *context.Context, showPrivate bool, profileGi ctx.Data["Repos"] = repos ctx.Data["Total"] = total + if ctx.Doer != nil && (ctx.Doer.ID == ctx.ContextUser.ID || ctx.Doer.IsAdmin) { + ctx.Data["RepoCount"] = ctx.ContextUser.NumRepos + } else { + publicCount, err := repo_model.CountRepositories(ctx, repo_model.CountRepositoryOptions{OwnerID: ctx.ContextUser.ID, Private: util.OptionalBoolFalse}) + if err != nil { + ctx.ServerError("CountPublicRepos", err) + return + } + ctx.Data["RepoCount"] = publicCount + } + pager := context.NewPagination(total, pagingNum, page, 5) pager.SetDefaultParams(ctx) pager.AddParam(ctx, "tab", "TabName") diff --git a/templates/org/menu.tmpl b/templates/org/menu.tmpl index 6492e5e668eb1..a4f602730a503 100644 --- a/templates/org/menu.tmpl +++ b/templates/org/menu.tmpl @@ -2,8 +2,8 @@