@@ -16,6 +16,7 @@ import (
16
16
"code.gitea.io/gitea/models/db"
17
17
git_model "code.gitea.io/gitea/models/git"
18
18
repo_model "code.gitea.io/gitea/models/repo"
19
+ unit_model "code.gitea.io/gitea/models/unit"
19
20
user_model "code.gitea.io/gitea/models/user"
20
21
"code.gitea.io/gitea/modules/base"
21
22
"code.gitea.io/gitea/modules/charset"
@@ -81,7 +82,7 @@ func Commits(ctx *context.Context) {
81
82
ctx .ServerError ("CommitsByRange" , err )
82
83
return
83
84
}
84
- ctx .Data ["Commits" ] = git_model . ConvertFromGitCommit (ctx , commits , ctx . Repo . Repository )
85
+ ctx .Data ["Commits" ] = processGitCommits (ctx , commits )
85
86
86
87
ctx .Data ["Username" ] = ctx .Repo .Owner .Name
87
88
ctx .Data ["Reponame" ] = ctx .Repo .Repository .Name
@@ -199,7 +200,7 @@ func SearchCommits(ctx *context.Context) {
199
200
return
200
201
}
201
202
ctx .Data ["CommitCount" ] = len (commits )
202
- ctx .Data ["Commits" ] = git_model . ConvertFromGitCommit (ctx , commits , ctx . Repo . Repository )
203
+ ctx .Data ["Commits" ] = processGitCommits (ctx , commits )
203
204
204
205
ctx .Data ["Keyword" ] = query
205
206
if all {
@@ -242,7 +243,7 @@ func FileHistory(ctx *context.Context) {
242
243
ctx .ServerError ("CommitsByFileAndRange" , err )
243
244
return
244
245
}
245
- ctx .Data ["Commits" ] = git_model . ConvertFromGitCommit (ctx , commits , ctx . Repo . Repository )
246
+ ctx .Data ["Commits" ] = processGitCommits (ctx , commits )
246
247
247
248
ctx .Data ["Username" ] = ctx .Repo .Owner .Name
248
249
ctx .Data ["Reponame" ] = ctx .Repo .Repository .Name
@@ -353,6 +354,9 @@ func Diff(ctx *context.Context) {
353
354
if err != nil {
354
355
log .Error ("GetLatestCommitStatus: %v" , err )
355
356
}
357
+ if ! ctx .Repo .CanRead (unit_model .TypeActions ) {
358
+ git_model .CommitStatusesHideActionsURL (ctx , statuses )
359
+ }
356
360
357
361
ctx .Data ["CommitStatus" ] = git_model .CalcCommitStatus (statuses )
358
362
ctx .Data ["CommitStatuses" ] = statuses
@@ -433,3 +437,14 @@ func RawDiff(ctx *context.Context) {
433
437
return
434
438
}
435
439
}
440
+
441
+ func processGitCommits (ctx * context.Context , gitCommits []* git.Commit ) []* git_model.SignCommitWithStatuses {
442
+ commits := git_model .ConvertFromGitCommit (ctx , gitCommits , ctx .Repo .Repository )
443
+ if ! ctx .Repo .CanRead (unit_model .TypeActions ) {
444
+ for _ , commit := range commits {
445
+ commit .Status .HideActionsURL (ctx )
446
+ git_model .CommitStatusesHideActionsURL (ctx , commit .Statuses )
447
+ }
448
+ }
449
+ return commits
450
+ }
0 commit comments