Skip to content

Commit 4db395f

Browse files
committed
Move licenses renders to shared file to avoid unnecesary loading
1 parent 79d593a commit 4db395f

File tree

6 files changed

+61
-12
lines changed

6 files changed

+61
-12
lines changed

routers/web/repo/branch.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"code.gitea.io/gitea/modules/util"
2525
"code.gitea.io/gitea/modules/web"
2626
"code.gitea.io/gitea/routers/utils"
27+
"code.gitea.io/gitea/routers/web/repo/shared"
2728
"code.gitea.io/gitea/services/context"
2829
"code.gitea.io/gitea/services/forms"
2930
release_service "code.gitea.io/gitea/services/release"
@@ -46,6 +47,10 @@ func Branches(ctx *context.Context) {
4647
ctx.Data["PageIsViewCode"] = true
4748
ctx.Data["PageIsBranches"] = true
4849

50+
if !shared.RenderRepoSubMenu(ctx) {
51+
return
52+
}
53+
4954
page := ctx.FormInt("page")
5055
if page <= 1 {
5156
page = 1
@@ -89,7 +94,6 @@ func Branches(ctx *context.Context) {
8994
pager := context.NewPagination(int(branchesCount), pageSize, page, 5)
9095
pager.SetDefaultParams(ctx)
9196
ctx.Data["Page"] = pager
92-
ctx.Data["LicenseFileName"] = repo_service.LicenseFileName
9397
ctx.HTML(http.StatusOK, tplBranch)
9498
}
9599

routers/web/repo/commit.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"code.gitea.io/gitea/modules/markup"
2929
"code.gitea.io/gitea/modules/setting"
3030
"code.gitea.io/gitea/modules/util"
31+
"code.gitea.io/gitea/routers/web/repo/shared"
3132
"code.gitea.io/gitea/services/context"
3233
"code.gitea.io/gitea/services/gitdiff"
3334
repo_service "code.gitea.io/gitea/services/repository"
@@ -61,6 +62,10 @@ func Commits(ctx *context.Context) {
6162
}
6263
ctx.Data["PageIsViewCode"] = true
6364

65+
if !shared.RenderRepoSubMenu(ctx) {
66+
return
67+
}
68+
6469
commitsCount, err := ctx.Repo.GetCommitsCount()
6570
if err != nil {
6671
ctx.ServerError("GetCommitsCount", err)
@@ -102,7 +107,6 @@ func Commits(ctx *context.Context) {
102107
pager := context.NewPagination(int(commitsCount), pageSize, page, 5)
103108
pager.SetDefaultParams(ctx)
104109
ctx.Data["Page"] = pager
105-
ctx.Data["LicenseFileName"] = repo_service.LicenseFileName
106110
ctx.HTML(http.StatusOK, tplCommits)
107111
}
108112

@@ -197,6 +201,10 @@ func SearchCommits(ctx *context.Context) {
197201
ctx.Data["PageIsCommits"] = true
198202
ctx.Data["PageIsViewCode"] = true
199203

204+
if !shared.RenderRepoSubMenu(ctx) {
205+
return
206+
}
207+
200208
query := ctx.FormTrim("q")
201209
if len(query) == 0 {
202210
ctx.Redirect(ctx.Repo.RepoLink + "/commits/" + ctx.Repo.BranchNameSubURL())
@@ -220,12 +228,15 @@ func SearchCommits(ctx *context.Context) {
220228
ctx.Data["Username"] = ctx.Repo.Owner.Name
221229
ctx.Data["Reponame"] = ctx.Repo.Repository.Name
222230
ctx.Data["RefName"] = ctx.Repo.RefName
223-
ctx.Data["LicenseFileName"] = repo_service.LicenseFileName
224231
ctx.HTML(http.StatusOK, tplCommits)
225232
}
226233

227234
// FileHistory show a file's reversions
228235
func FileHistory(ctx *context.Context) {
236+
if !shared.RenderRepoSubMenu(ctx) {
237+
return
238+
}
239+
229240
fileName := ctx.Repo.TreePath
230241
if len(fileName) == 0 {
231242
Commits(ctx)
@@ -266,7 +277,6 @@ func FileHistory(ctx *context.Context) {
266277
pager := context.NewPagination(int(commitsCount), setting.Git.CommitsRangeSize, page, 5)
267278
pager.SetDefaultParams(ctx)
268279
ctx.Data["Page"] = pager
269-
ctx.Data["LicenseFileName"] = repo_service.LicenseFileName
270280
ctx.HTML(http.StatusOK, tplCommits)
271281
}
272282

routers/web/repo/release.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"code.gitea.io/gitea/modules/util"
2727
"code.gitea.io/gitea/modules/web"
2828
"code.gitea.io/gitea/routers/web/feed"
29+
"code.gitea.io/gitea/routers/web/repo/shared"
2930
shared_user "code.gitea.io/gitea/routers/web/shared/user"
3031
"code.gitea.io/gitea/services/context"
3132
"code.gitea.io/gitea/services/context/upload"
@@ -156,6 +157,12 @@ func Releases(ctx *context.Context) {
156157
ctx.Data["CanCreateBranch"] = false
157158
ctx.Data["HideBranchesInDropdown"] = true
158159

160+
if !ctx.Repo.CanRead(unit.TypeReleases) && ctx.Repo.CanRead(unit.TypeCode) {
161+
if !shared.RenderRepoSubMenu(ctx) {
162+
return
163+
}
164+
}
165+
159166
listOptions := db.ListOptions{
160167
Page: ctx.FormInt("page"),
161168
PageSize: ctx.FormInt("limit"),
@@ -207,6 +214,12 @@ func TagsList(ctx *context.Context) {
207214
ctx.Data["HideBranchesInDropdown"] = true
208215
ctx.Data["CanCreateRelease"] = ctx.Repo.CanWrite(unit.TypeReleases) && !ctx.Repo.Repository.IsArchived
209216

217+
if !ctx.Repo.CanRead(unit.TypeReleases) && ctx.Repo.CanRead(unit.TypeCode) {
218+
if !shared.RenderRepoSubMenu(ctx) {
219+
return
220+
}
221+
}
222+
210223
namePattern := ctx.FormTrim("q")
211224

212225
listOptions := db.ListOptions{

routers/web/repo/shared/sub_menu.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright 2024 The Gitea Authors. All rights reserved.
2+
// SPDX-License-Identifier: MIT
3+
4+
package shared
5+
6+
import (
7+
repo_model "code.gitea.io/gitea/models/repo"
8+
"code.gitea.io/gitea/services/context"
9+
repo_service "code.gitea.io/gitea/services/repository"
10+
)
11+
12+
func RenderRepoSubMenu(ctx *context.Context) bool {
13+
return renderLicenses(ctx)
14+
}
15+
16+
func renderLicenses(ctx *context.Context) bool {
17+
repoLicenses, err := repo_model.GetRepoLicenses(ctx, ctx.Repo.Repository)
18+
if err != nil {
19+
ctx.ServerError("GetRepoLicenses", err)
20+
return false
21+
}
22+
ctx.Data["DetectedRepoLicenses"] = repoLicenses.StringList()
23+
ctx.Data["LicenseFileName"] = repo_service.LicenseFileName
24+
return true
25+
}

routers/web/repo/view.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ import (
5050
"code.gitea.io/gitea/modules/typesniffer"
5151
"code.gitea.io/gitea/modules/util"
5252
"code.gitea.io/gitea/routers/web/feed"
53+
"code.gitea.io/gitea/routers/web/repo/shared"
5354
"code.gitea.io/gitea/services/context"
5455
issue_service "code.gitea.io/gitea/services/issue"
5556
repo_service "code.gitea.io/gitea/services/repository"
@@ -980,6 +981,10 @@ func renderHomeCode(ctx *context.Context) {
980981
return
981982
}
982983

984+
if !shared.RenderRepoSubMenu(ctx) {
985+
return
986+
}
987+
983988
// Get current entry user currently looking at.
984989
entry, err := ctx.Repo.Commit.GetTreeEntryByPath(ctx.Repo.TreePath)
985990
if err != nil {
@@ -1062,7 +1067,6 @@ func renderHomeCode(ctx *context.Context) {
10621067
ctx.Data["TreeLink"] = treeLink
10631068
ctx.Data["TreeNames"] = treeNames
10641069
ctx.Data["BranchLink"] = branchLink
1065-
ctx.Data["LicenseFileName"] = repo_service.LicenseFileName
10661070
ctx.HTML(http.StatusOK, tplRepoHome)
10671071
}
10681072

services/context/repo.go

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -396,13 +396,6 @@ func repoAssignment(ctx *Context, repo *repo_model.Repository) {
396396
ctx.Repo.Repository = repo
397397
ctx.Data["RepoName"] = ctx.Repo.Repository.Name
398398
ctx.Data["IsEmptyRepo"] = ctx.Repo.Repository.IsEmpty
399-
400-
repoLicenses, err := repo_model.GetRepoLicenses(ctx, ctx.Repo.Repository)
401-
if err != nil {
402-
ctx.ServerError("GetRepoLicenses", err)
403-
return
404-
}
405-
ctx.Data["DetectedRepoLicenses"] = repoLicenses.StringList()
406399
}
407400

408401
// RepoAssignment returns a middleware to handle repository assignment

0 commit comments

Comments
 (0)