Skip to content

Commit 958d148

Browse files
authored
Show always repo count in header (go-gitea#26842)
A few pages don't load the repo count of an user/org, so it is not shown in the header. This happens mostly on org pages, but the package settings applies to the user page as well. Before: ![Screenshot 2023-08-31 at 12-45-36 Gitea Git with a cup of tea](https://github.com/go-gitea/gitea/assets/15185051/14a59998-2cf9-4771-82f4-5d1d6fcb31f4) After: ![grafik](https://github.com/go-gitea/gitea/assets/15185051/ff055aa0-7cde-49be-9522-437bf970be1d) Seen on go-gitea#26826 Regression of go-gitea#25928
1 parent 460a2b0 commit 958d148

File tree

7 files changed

+90
-0
lines changed

7 files changed

+90
-0
lines changed

routers/web/org/members.go

+7
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"code.gitea.io/gitea/modules/context"
1414
"code.gitea.io/gitea/modules/log"
1515
"code.gitea.io/gitea/modules/setting"
16+
shared_user "code.gitea.io/gitea/routers/web/shared/user"
1617
)
1718

1819
const (
@@ -52,6 +53,12 @@ func Members(ctx *context.Context) {
5253
return
5354
}
5455

56+
err = shared_user.LoadHeaderCount(ctx)
57+
if err != nil {
58+
ctx.ServerError("LoadHeaderCount", err)
59+
return
60+
}
61+
5562
pager := context.NewPagination(int(total), setting.UI.MembersPagingNum, page, 5)
5663
opts.ListOptions.Page = page
5764
opts.ListOptions.PageSize = setting.UI.MembersPagingNum

routers/web/org/setting.go

+28
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
repo_module "code.gitea.io/gitea/modules/repository"
2121
"code.gitea.io/gitea/modules/setting"
2222
"code.gitea.io/gitea/modules/web"
23+
shared_user "code.gitea.io/gitea/routers/web/shared/user"
2324
user_setting "code.gitea.io/gitea/routers/web/user/setting"
2425
"code.gitea.io/gitea/services/forms"
2526
org_service "code.gitea.io/gitea/services/org"
@@ -45,6 +46,14 @@ func Settings(ctx *context.Context) {
4546
ctx.Data["PageIsSettingsOptions"] = true
4647
ctx.Data["CurrentVisibility"] = ctx.Org.Organization.Visibility
4748
ctx.Data["RepoAdminChangeTeamAccess"] = ctx.Org.Organization.RepoAdminChangeTeamAccess
49+
ctx.Data["ContextUser"] = ctx.ContextUser
50+
51+
err := shared_user.LoadHeaderCount(ctx)
52+
if err != nil {
53+
ctx.ServerError("LoadHeaderCount", err)
54+
return
55+
}
56+
4857
ctx.HTML(http.StatusOK, tplSettingsOptions)
4958
}
5059

@@ -188,6 +197,12 @@ func SettingsDelete(ctx *context.Context) {
188197
return
189198
}
190199

200+
err := shared_user.LoadHeaderCount(ctx)
201+
if err != nil {
202+
ctx.ServerError("LoadHeaderCount", err)
203+
return
204+
}
205+
191206
ctx.HTML(http.StatusOK, tplSettingsDelete)
192207
}
193208

@@ -206,6 +221,12 @@ func Webhooks(ctx *context.Context) {
206221
return
207222
}
208223

224+
err = shared_user.LoadHeaderCount(ctx)
225+
if err != nil {
226+
ctx.ServerError("LoadHeaderCount", err)
227+
return
228+
}
229+
209230
ctx.Data["Webhooks"] = ws
210231
ctx.HTML(http.StatusOK, tplSettingsHooks)
211232
}
@@ -227,5 +248,12 @@ func Labels(ctx *context.Context) {
227248
ctx.Data["PageIsOrgSettings"] = true
228249
ctx.Data["PageIsOrgSettingsLabels"] = true
229250
ctx.Data["LabelTemplateFiles"] = repo_module.LabelTemplateFiles
251+
252+
err := shared_user.LoadHeaderCount(ctx)
253+
if err != nil {
254+
ctx.ServerError("LoadHeaderCount", err)
255+
return
256+
}
257+
230258
ctx.HTML(http.StatusOK, tplSettingsLabels)
231259
}

routers/web/org/setting_oauth2.go

+7
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"code.gitea.io/gitea/modules/base"
1212
"code.gitea.io/gitea/modules/context"
1313
"code.gitea.io/gitea/modules/setting"
14+
shared_user "code.gitea.io/gitea/routers/web/shared/user"
1415
user_setting "code.gitea.io/gitea/routers/web/user/setting"
1516
)
1617

@@ -41,6 +42,12 @@ func Applications(ctx *context.Context) {
4142
}
4243
ctx.Data["Applications"] = apps
4344

45+
err = shared_user.LoadHeaderCount(ctx)
46+
if err != nil {
47+
ctx.ServerError("LoadHeaderCount", err)
48+
return
49+
}
50+
4451
ctx.HTML(http.StatusOK, tplSettingsApplications)
4552
}
4653

routers/web/org/setting_packages.go

+25
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"code.gitea.io/gitea/modules/context"
1212
"code.gitea.io/gitea/modules/setting"
1313
shared "code.gitea.io/gitea/routers/web/shared/packages"
14+
shared_user "code.gitea.io/gitea/routers/web/shared/user"
1415
)
1516

1617
const (
@@ -24,6 +25,12 @@ func Packages(ctx *context.Context) {
2425
ctx.Data["PageIsOrgSettings"] = true
2526
ctx.Data["PageIsSettingsPackages"] = true
2627

28+
err := shared_user.LoadHeaderCount(ctx)
29+
if err != nil {
30+
ctx.ServerError("LoadHeaderCount", err)
31+
return
32+
}
33+
2734
shared.SetPackagesContext(ctx, ctx.ContextUser)
2835

2936
ctx.HTML(http.StatusOK, tplSettingsPackages)
@@ -34,6 +41,12 @@ func PackagesRuleAdd(ctx *context.Context) {
3441
ctx.Data["PageIsOrgSettings"] = true
3542
ctx.Data["PageIsSettingsPackages"] = true
3643

44+
err := shared_user.LoadHeaderCount(ctx)
45+
if err != nil {
46+
ctx.ServerError("LoadHeaderCount", err)
47+
return
48+
}
49+
3750
shared.SetRuleAddContext(ctx)
3851

3952
ctx.HTML(http.StatusOK, tplSettingsPackagesRuleEdit)
@@ -44,6 +57,12 @@ func PackagesRuleEdit(ctx *context.Context) {
4457
ctx.Data["PageIsOrgSettings"] = true
4558
ctx.Data["PageIsSettingsPackages"] = true
4659

60+
err := shared_user.LoadHeaderCount(ctx)
61+
if err != nil {
62+
ctx.ServerError("LoadHeaderCount", err)
63+
return
64+
}
65+
4766
shared.SetRuleEditContext(ctx, ctx.ContextUser)
4867

4968
ctx.HTML(http.StatusOK, tplSettingsPackagesRuleEdit)
@@ -80,6 +99,12 @@ func PackagesRulePreview(ctx *context.Context) {
8099
ctx.Data["PageIsOrgSettings"] = true
81100
ctx.Data["PageIsSettingsPackages"] = true
82101

102+
err := shared_user.LoadHeaderCount(ctx)
103+
if err != nil {
104+
ctx.ServerError("LoadHeaderCount", err)
105+
return
106+
}
107+
83108
shared.SetRulePreviewContext(ctx, ctx.ContextUser)
84109

85110
ctx.HTML(http.StatusOK, tplSettingsPackagesRulePreview)

routers/web/org/teams.go

+7
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
"code.gitea.io/gitea/modules/setting"
2626
"code.gitea.io/gitea/modules/web"
2727
"code.gitea.io/gitea/routers/utils"
28+
shared_user "code.gitea.io/gitea/routers/web/shared/user"
2829
"code.gitea.io/gitea/services/convert"
2930
"code.gitea.io/gitea/services/forms"
3031
org_service "code.gitea.io/gitea/services/org"
@@ -57,6 +58,12 @@ func Teams(ctx *context.Context) {
5758
}
5859
ctx.Data["Teams"] = ctx.Org.Teams
5960

61+
err := shared_user.LoadHeaderCount(ctx)
62+
if err != nil {
63+
ctx.ServerError("LoadHeaderCount", err)
64+
return
65+
}
66+
6067
ctx.HTML(http.StatusOK, tplTeams)
6168
}
6269

routers/web/user/package.go

+6
Original file line numberDiff line numberDiff line change
@@ -390,6 +390,12 @@ func PackageSettings(ctx *context.Context) {
390390
ctx.Data["Repos"] = repos
391391
ctx.Data["CanWritePackages"] = ctx.Package.AccessMode >= perm.AccessModeWrite || ctx.IsUserSiteAdmin()
392392

393+
err := shared_user.LoadHeaderCount(ctx)
394+
if err != nil {
395+
ctx.ServerError("LoadHeaderCount", err)
396+
return
397+
}
398+
393399
ctx.HTML(http.StatusOK, tplPackagesSettings)
394400
}
395401

routers/web/user/setting/oauth2_common.go

+10
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"code.gitea.io/gitea/modules/context"
1313
"code.gitea.io/gitea/modules/util"
1414
"code.gitea.io/gitea/modules/web"
15+
shared_user "code.gitea.io/gitea/routers/web/shared/user"
1516
"code.gitea.io/gitea/services/forms"
1617
)
1718

@@ -25,6 +26,15 @@ type OAuth2CommonHandlers struct {
2526
func (oa *OAuth2CommonHandlers) renderEditPage(ctx *context.Context) {
2627
app := ctx.Data["App"].(*auth.OAuth2Application)
2728
ctx.Data["FormActionPath"] = fmt.Sprintf("%s/%d", oa.BasePathEditPrefix, app.ID)
29+
30+
if ctx.ContextUser.IsOrganization() {
31+
err := shared_user.LoadHeaderCount(ctx)
32+
if err != nil {
33+
ctx.ServerError("LoadHeaderCount", err)
34+
return
35+
}
36+
}
37+
2838
ctx.HTML(http.StatusOK, oa.TplAppEdit)
2939
}
3040

0 commit comments

Comments
 (0)