diff options
author | Zettat123 <zettat123@gmail.com> | 2024-07-28 23:11:40 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-28 23:11:40 +0800 |
commit | 7dec8de9147b20c014d68bb1020afe28a263b95a (patch) | |
tree | 53ca0ebcad91d9c6e5c6b2ae473b28fc22fd94a9 /routers/web/repo/issue.go | |
parent | aa36989bd00e8069c0a546c4753e533cefa06a7f (diff) | |
download | gitea-7dec8de9147b20c014d68bb1020afe28a263b95a.tar.gz gitea-7dec8de9147b20c014d68bb1020afe28a263b95a.zip |
Hide the "Details" link of commit status when the user cannot access actions (#30156)
Fix #26685
If a commit status comes from Gitea Actions and the user cannot access
the repo's actions unit (the user does not have the permission or the
actions unit is disabled), a 404 page will occur after clicking the
"Details" link. We should hide the "Details" link in this case.
<img
src="https://github.com/go-gitea/gitea/assets/15528715/68361714-b784-4bb5-baab-efde4221f466"
width="400px" />
Diffstat (limited to 'routers/web/repo/issue.go')
-rw-r--r-- | routers/web/repo/issue.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index 7c4e3e36f3..ed2664db17 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -339,6 +339,11 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption opt ctx.ServerError("GetIssuesAllCommitStatus", err) return } + if !ctx.Repo.CanRead(unit.TypeActions) { + for key := range commitStatuses { + git_model.CommitStatusesHideActionsURL(ctx, commitStatuses[key]) + } + } if err := issues.LoadAttributes(ctx); err != nil { ctx.ServerError("issues.LoadAttributes", err) @@ -1757,6 +1762,12 @@ func ViewIssue(ctx *context.Context) { ctx.ServerError("LoadPushCommits", err) return } + if !ctx.Repo.CanRead(unit.TypeActions) { + for _, commit := range comment.Commits { + commit.Status.HideActionsURL(ctx) + git_model.CommitStatusesHideActionsURL(ctx, commit.Statuses) + } + } } else if comment.Type == issues_model.CommentTypeAddTimeManual || comment.Type == issues_model.CommentTypeStopTracking || comment.Type == issues_model.CommentTypeDeleteTimeManual { |