mirror of
https://github.com/go-gitea/gitea.git
synced 2024-12-15 09:47:39 +08:00
7ed79b748f
Backport #29064 by @wolfogre On the release list page, if the user doesn't have the permission to read code, the code links will lead to 404 pages or api errors: <img width="1297" alt="image" src="https://github.com/go-gitea/gitea/assets/9418365/a74fbc63-6dd6-43c6-853c-28acdbfdcb4e"> After this PR: <img width="1297" alt="image" src="https://github.com/go-gitea/gitea/assets/9418365/a626373d-c2df-40a9-8fed-1b12ff6bc56f"> And this PR also removed some dead code. After #23465, the tag list page has an independent template, and all `IsTag` in the release list template are always false. Co-authored-by: Jason Song <i@wolfogre.com>
116 lines
4.9 KiB
Handlebars
116 lines
4.9 KiB
Handlebars
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content repository releases">
|
|
{{template "repo/header" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
{{template "repo/release_tag_header" .}}
|
|
<ul id="release-list">
|
|
{{range $idx, $release := .Releases}}
|
|
<li class="ui grid">
|
|
<div class="ui four wide column meta">
|
|
<a class="muted" href="{{if not (and .Sha1 ($.Permission.CanRead $.UnitTypeCode))}}#{{else}}{{$.RepoLink}}/src/tag/{{.TagName | PathEscapeSegments}}{{end}}" rel="nofollow">{{svg "octicon-tag" 16 "gt-mr-2"}}{{.TagName}}</a>
|
|
{{if and .Sha1 ($.Permission.CanRead $.UnitTypeCode)}}
|
|
<a class="muted gt-mono" href="{{$.RepoLink}}/src/commit/{{.Sha1}}" rel="nofollow">{{svg "octicon-git-commit" 16 "gt-mr-2"}}{{ShortSha .Sha1}}</a>
|
|
{{template "repo/branch_dropdown" dict "root" $ "release" .}}
|
|
{{end}}
|
|
</div>
|
|
<div class="ui twelve wide column detail">
|
|
<div class="gt-df gt-ac gt-sb gt-fw gt-mb-3">
|
|
<h4 class="release-list-title gt-word-break">
|
|
<a href="{{$.RepoLink}}/releases/tag/{{.TagName | PathEscapeSegments}}">{{.Title}}</a>
|
|
{{if .IsDraft}}
|
|
<span class="ui yellow label">{{ctx.Locale.Tr "repo.release.draft"}}</span>
|
|
{{else if .IsPrerelease}}
|
|
<span class="ui orange label">{{ctx.Locale.Tr "repo.release.prerelease"}}</span>
|
|
{{else}}
|
|
<span class="ui green label">{{ctx.Locale.Tr "repo.release.stable"}}</span>
|
|
{{end}}
|
|
</h4>
|
|
<div>
|
|
{{if $.CanCreateRelease}}
|
|
<a class="muted" data-tooltip-content="{{ctx.Locale.Tr "repo.release.edit"}}" href="{{$.RepoLink}}/releases/edit/{{.TagName | PathEscapeSegments}}" rel="nofollow">
|
|
{{svg "octicon-pencil"}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
<p class="text grey">
|
|
<span class="author">
|
|
{{if .OriginalAuthor}}
|
|
{{svg "octicon-mark-github" 20 "gt-mr-2"}}{{.OriginalAuthor}}
|
|
{{else if .Publisher}}
|
|
{{ctx.AvatarUtils.Avatar .Publisher 20 "gt-mr-2"}}
|
|
<a href="{{.Publisher.HomeLink}}">{{.Publisher.GetDisplayName}}</a>
|
|
{{else}}
|
|
Ghost
|
|
{{end}}
|
|
</span>
|
|
<span class="released">
|
|
{{ctx.Locale.Tr "repo.released_this"}}
|
|
</span>
|
|
{{if .CreatedUnix}}
|
|
<span class="time">{{TimeSinceUnix .CreatedUnix ctx.Locale}}</span>
|
|
{{end}}
|
|
{{if and (not .IsDraft) ($.Permission.CanRead $.UnitTypeCode)}}
|
|
| <span class="ahead"><a href="{{$.RepoLink}}/compare/{{.TagName | PathEscapeSegments}}...{{.TargetBehind | PathEscapeSegments}}">{{ctx.Locale.Tr "repo.release.ahead.commits" .NumCommitsBehind | Str2html}}</a> {{ctx.Locale.Tr "repo.release.ahead.target" .TargetBehind}}</span>
|
|
{{end}}
|
|
</p>
|
|
<div class="markup desc">
|
|
{{Str2html .Note}}
|
|
</div>
|
|
<div class="divider"></div>
|
|
<details class="download" {{if eq $idx 0}}open{{end}}>
|
|
<summary class="gt-my-4">
|
|
{{ctx.Locale.Tr "repo.release.downloads"}}
|
|
</summary>
|
|
<ul class="list">
|
|
{{if and (not $.DisableDownloadSourceArchives) (not .IsDraft) ($.Permission.CanRead $.UnitTypeCode)}}
|
|
<li>
|
|
<a class="archive-link" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.zip" rel="nofollow"><strong>{{svg "octicon-file-zip" 16 "gt-mr-2"}}{{ctx.Locale.Tr "repo.release.source_code"}} (ZIP)</strong></a>
|
|
</li>
|
|
<li>
|
|
<a class="archive-link" href="{{$.RepoLink}}/archive/{{.TagName | PathEscapeSegments}}.tar.gz" rel="nofollow"><strong>{{svg "octicon-file-zip" 16 "gt-mr-2"}}{{ctx.Locale.Tr "repo.release.source_code"}} (TAR.GZ)</strong></a>
|
|
</li>
|
|
{{end}}
|
|
{{if .Attachments}}
|
|
{{range .Attachments}}
|
|
<li>
|
|
<a target="_blank" rel="nofollow" href="{{.DownloadURL}}" download>
|
|
<strong>{{svg "octicon-package" 16 "gt-mr-2"}}{{.Name}}</strong>
|
|
</a>
|
|
<div>
|
|
<span class="text grey">{{.Size | FileSize}}</span>
|
|
<span data-tooltip-content="{{ctx.Locale.Tr "repo.release.download_count" (ctx.Locale.PrettyNumber .DownloadCount)}}">
|
|
{{svg "octicon-info"}}
|
|
</span>
|
|
</div>
|
|
</li>
|
|
{{end}}
|
|
{{end}}
|
|
</ul>
|
|
</details>
|
|
<div class="dot"></div>
|
|
</div>
|
|
</li>
|
|
{{end}}
|
|
</ul>
|
|
|
|
{{template "base/paginate" .}}
|
|
</div>
|
|
</div>
|
|
|
|
{{if (and ($.Permission.CanWrite $.UnitTypeCode) .PageIsTagList)}}
|
|
<div class="ui g-modal-confirm delete modal">
|
|
<div class="header">
|
|
{{svg "octicon-trash"}}
|
|
{{ctx.Locale.Tr "repo.release.delete_tag"}}
|
|
</div>
|
|
<div class="content">
|
|
<p>{{ctx.Locale.Tr "repo.release.deletion_tag_desc"}}</p>
|
|
</div>
|
|
{{template "base/modal_actions_confirm" .}}
|
|
</div>
|
|
{{end}}
|
|
|
|
{{template "base/footer" .}}
|