diff --git a/routers/web/shared/user/header.go b/routers/web/shared/user/header.go index 24f8f88976..1d4ef4d649 100644 --- a/routers/web/shared/user/header.go +++ b/routers/web/shared/user/header.go @@ -6,6 +6,7 @@ package user import ( "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/organization" + project_model "code.gitea.io/gitea/models/project" repo_model "code.gitea.io/gitea/models/repo" user_model "code.gitea.io/gitea/models/user" "code.gitea.io/gitea/modules/context" @@ -126,5 +127,21 @@ func LoadHeaderCount(ctx *context.Context) error { } ctx.Data["RepoCount"] = repoCount + var projectType project_model.Type + if ctx.ContextUser.IsOrganization() { + projectType = project_model.TypeOrganization + } else { + projectType = project_model.TypeIndividual + } + projectCount, err := project_model.CountProjects(ctx, project_model.SearchOptions{ + OwnerID: ctx.ContextUser.ID, + IsClosed: util.OptionalBoolOf(false), + Type: projectType, + }) + if err != nil { + return err + } + ctx.Data["ProjectCount"] = projectCount + return nil } diff --git a/templates/org/menu.tmpl b/templates/org/menu.tmpl index c3ec142e9c..8a97711ce2 100644 --- a/templates/org/menu.tmpl +++ b/templates/org/menu.tmpl @@ -9,6 +9,9 @@ {{if .CanReadProjects}} {{svg "octicon-project-symlink"}} {{ctx.Locale.Tr "user.projects"}} + {{if .ProjectCount}} +
{{.ProjectCount}}
+ {{end}}
{{end}} {{if and .IsPackageEnabled .CanReadPackages}} diff --git a/templates/user/overview/header.tmpl b/templates/user/overview/header.tmpl index 69a4e9a856..e27c9a981e 100644 --- a/templates/user/overview/header.tmpl +++ b/templates/user/overview/header.tmpl @@ -13,6 +13,9 @@ {{if or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadProjects)}} {{svg "octicon-project-symlink"}} {{ctx.Locale.Tr "user.projects"}} + {{if .ProjectCount}} +
{{.ProjectCount}}
+ {{end}}
{{end}} {{if and .IsPackageEnabled (or .ContextUser.IsIndividual (and .ContextUser.IsOrganization .CanReadPackages))}}