forked from NYANDEV/forgejo
Unifies commit list in repository commit table and wiki revision page (#7907)
Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com>
This commit is contained in:
parent
9175556da0
commit
ba336f6f45
4 changed files with 101 additions and 121 deletions
|
@ -246,6 +246,18 @@ func NewFuncMap() []template.FuncMap {
|
||||||
"MirrorFullAddress": mirror_service.AddressNoCredentials,
|
"MirrorFullAddress": mirror_service.AddressNoCredentials,
|
||||||
"MirrorUserName": mirror_service.Username,
|
"MirrorUserName": mirror_service.Username,
|
||||||
"MirrorPassword": mirror_service.Password,
|
"MirrorPassword": mirror_service.Password,
|
||||||
|
"CommitType": func(commit interface{}) string {
|
||||||
|
switch commit.(type) {
|
||||||
|
case models.SignCommitWithStatuses:
|
||||||
|
return "SignCommitWithStatuses"
|
||||||
|
case models.SignCommit:
|
||||||
|
return "SignCommit"
|
||||||
|
case models.UserCommit:
|
||||||
|
return "UserCommit"
|
||||||
|
default:
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
},
|
||||||
}}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
87
templates/repo/commits_list.tmpl
Normal file
87
templates/repo/commits_list.tmpl
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
<div class="ui attached table segment">
|
||||||
|
<table class="ui very basic striped fixed table single line" id="commits-table">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th>
|
||||||
|
<th class="two wide sha">SHA1</th>
|
||||||
|
<th class="seven wide message">{{.i18n.Tr "repo.commits.message"}}</th>
|
||||||
|
<th class="three wide right aligned">{{.i18n.Tr "repo.commits.date"}}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="commit-list">
|
||||||
|
{{ $r:= List .Commits}}
|
||||||
|
{{range $r}}
|
||||||
|
<tr>
|
||||||
|
<td class="author">
|
||||||
|
{{$userName := .Author.Name}}
|
||||||
|
{{if .User}}
|
||||||
|
{{if .User.FullName}}
|
||||||
|
{{$userName = .User.FullName}}
|
||||||
|
{{end}}
|
||||||
|
<img class="ui avatar image" src="{{.User.RelAvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{$userName}}</a>
|
||||||
|
{{else}}
|
||||||
|
<img class="ui avatar image" src="{{AvatarLink .Author.Email}}" alt=""/> {{$userName}}
|
||||||
|
{{end}}
|
||||||
|
</td>
|
||||||
|
<td class="sha">
|
||||||
|
{{$class := "ui sha label"}}
|
||||||
|
{{if .Signature}}
|
||||||
|
{{$class = (printf "%s%s" $class " isSigned")}}
|
||||||
|
{{if .Verification.Verified}}
|
||||||
|
{{$class = (printf "%s%s" $class " isVerified")}}
|
||||||
|
{{else if .Verification.Warning}}
|
||||||
|
{{$class = (printf "%s%s" $class " isWarning")}}
|
||||||
|
{{end}}
|
||||||
|
{{end}}
|
||||||
|
{{if $.Reponame}}
|
||||||
|
<a href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{.ID}}" rel="nofollow" class="{{$class}}">
|
||||||
|
{{else}}
|
||||||
|
<span class="{{$class}}">
|
||||||
|
{{end}}
|
||||||
|
{{ShortSha .ID.String}}
|
||||||
|
{{if .Signature}}
|
||||||
|
<div class="ui detail icon button">
|
||||||
|
{{if .Verification.Verified}}
|
||||||
|
<i title="{{.Verification.Reason}}" class="lock green icon"></i>
|
||||||
|
{{if ne .Verification.SigningUser.ID 0}}
|
||||||
|
<i title="{{.Verification.Reason}}" class="lock green icon"></i>
|
||||||
|
{{else}}
|
||||||
|
<i title="{{.Verification.Reason}}" class="icons">
|
||||||
|
<i class="green lock icon"></i>
|
||||||
|
<i class="tiny inverted cog icon centerlock"></i>
|
||||||
|
</i>
|
||||||
|
{{end}}
|
||||||
|
{{else if .Verification.Warning}}
|
||||||
|
<i title="{{$.i18n.Tr .Verification.Reason}}" class="red unlock icon"></i>
|
||||||
|
{{else}}
|
||||||
|
<i title="{{$.i18n.Tr .Verification.Reason}}" class="unlock icon"></i>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
{{if $.Reponame}}
|
||||||
|
</a>
|
||||||
|
{{else}}
|
||||||
|
</span>
|
||||||
|
{{end}}
|
||||||
|
</td>
|
||||||
|
<td class="message">
|
||||||
|
<span class="message-wrapper">
|
||||||
|
{{ $commitLink:= printf "%s/%s/%s/commit/%s" AppSubUrl $.Username $.Reponame .ID }}
|
||||||
|
<span class="commit-summary has-emoji{{if gt .ParentCount 1}} grey text{{end}}" title="{{.Summary}}">{{RenderCommitMessageLinkSubject .Message $.RepoLink $commitLink $.Repository.ComposeMetas}}</span>
|
||||||
|
</span>
|
||||||
|
{{if IsMultilineCommitMessage .Message}}
|
||||||
|
<button class="basic compact mini ui icon button commit-button"><i class="ellipsis horizontal icon"></i></button>
|
||||||
|
{{end}}
|
||||||
|
{{if eq (CommitType .) "SignCommitWithStatuses"}}
|
||||||
|
{{template "repo/commit_status" .Status}}
|
||||||
|
{{end}}
|
||||||
|
{{if IsMultilineCommitMessage .Message}}
|
||||||
|
<pre class="commit-body" style="display: none;">{{RenderCommitBody .Message $.RepoLink $.Repository.ComposeMetas}}</pre>
|
||||||
|
{{end}}
|
||||||
|
</td>
|
||||||
|
<td class="grey text right aligned">{{TimeSince .Author.When $.Lang}}</td>
|
||||||
|
</tr>
|
||||||
|
{{end}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
|
@ -30,73 +30,7 @@
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
{{if and .Commits (gt .CommitCount 0)}}
|
{{if and .Commits (gt .CommitCount 0)}}
|
||||||
<div class="ui attached table segment">
|
{{template "repo/commits_list" .}}
|
||||||
<table class="ui very basic striped fixed table single line" id="commits-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th>
|
|
||||||
<th class="two wide sha">SHA1</th>
|
|
||||||
<th class="seven wide message">{{.i18n.Tr "repo.commits.message"}}</th>
|
|
||||||
<th class="three wide right aligned">{{.i18n.Tr "repo.commits.date"}}</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="commit-list">
|
|
||||||
{{ $r:= List .Commits}}
|
|
||||||
{{range $r}}
|
|
||||||
<tr>
|
|
||||||
<td class="author">
|
|
||||||
{{if .User}}
|
|
||||||
{{if .User.FullName}}
|
|
||||||
<img class="ui avatar image" src="{{.User.RelAvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{.User.FullName}}</a>
|
|
||||||
{{else}}
|
|
||||||
<img class="ui avatar image" src="{{.User.RelAvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{.Author.Name}}</a>
|
|
||||||
{{end}}
|
|
||||||
{{else}}
|
|
||||||
<img class="ui avatar image" src="{{AvatarLink .Author.Email}}" alt=""/> {{.Author.Name}}
|
|
||||||
{{end}}
|
|
||||||
</td>
|
|
||||||
<td class="sha">
|
|
||||||
<a rel="nofollow" class="ui sha label {{if .Signature}} isSigned {{if .Verification.Verified }} isVerified {{else if .Verification.Warning}} isWarning {{end}}{{end}}" href="{{AppSubUrl}}/{{$.Username}}/{{$.Reponame}}/commit/{{.ID}}">
|
|
||||||
{{ShortSha .ID.String}}
|
|
||||||
{{if .Signature}}
|
|
||||||
<div class="ui detail icon button">
|
|
||||||
{{if .Verification.Verified}}
|
|
||||||
{{if ne .Verification.SigningUser.ID 0}}
|
|
||||||
<i title="{{.Verification.Reason}}" class="lock green icon"></i>
|
|
||||||
{{else}}
|
|
||||||
<i title="{{.Verification.Reason}}" class="icons">
|
|
||||||
<i class="green lock icon"></i>
|
|
||||||
<i class="tiny inverted cog icon centerlock"></i>
|
|
||||||
</i>
|
|
||||||
{{end}}
|
|
||||||
{{else if .Verification.Warning}}
|
|
||||||
<i title="{{$.i18n.Tr .Verification.Reason}}" class="red unlock icon"></i>
|
|
||||||
{{else}}
|
|
||||||
<i title="{{$.i18n.Tr .Verification.Reason}}" class="unlock icon"></i>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td class="message">
|
|
||||||
<span class="message-wrapper">
|
|
||||||
{{ $commitLink:= printf "%s/%s/%s/commit/%s" AppSubUrl $.Username $.Reponame .ID }}
|
|
||||||
<span class="commit-summary has-emoji{{if gt .ParentCount 1}} grey text{{end}}" title="{{.Summary}}">{{RenderCommitMessageLinkSubject .Message $.RepoLink $commitLink $.Repository.ComposeMetas}}</span>
|
|
||||||
</span>
|
|
||||||
{{if IsMultilineCommitMessage .Message}}
|
|
||||||
<button class="basic compact mini ui icon button commit-button"><i class="ellipsis horizontal icon"></i></button>
|
|
||||||
{{end}}
|
|
||||||
{{template "repo/commit_status" .Status}}
|
|
||||||
{{if IsMultilineCommitMessage .Message}}
|
|
||||||
<pre class="commit-body" style="display: none;">{{RenderCommitBody .Message $.RepoLink $.Repository.ComposeMetas}}</pre>
|
|
||||||
{{end}}
|
|
||||||
</td>
|
|
||||||
<td class="grey text right aligned">{{TimeSince .Author.When $.Lang}}</td>
|
|
||||||
</tr>
|
|
||||||
{{end}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{template "base/paginate" .}}
|
{{template "base/paginate" .}}
|
||||||
|
|
|
@ -48,60 +48,7 @@
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
{{if and .Commits (gt .CommitCount 0)}}
|
{{if and .Commits (gt .CommitCount 0)}}
|
||||||
<div class="ui attached table segment">
|
{{template "repo/commits_list" .}}
|
||||||
<table class="ui very basic striped fixed table single line" id="commits-table">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="four wide">{{.i18n.Tr "repo.commits.author"}}</th>
|
|
||||||
<th class="tree wide sha">SHA1</th>
|
|
||||||
<th class="five wide message">{{.i18n.Tr "repo.commits.message"}}</th>
|
|
||||||
<th class="four wide">{{.i18n.Tr "repo.commits.date"}}</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody class="commit-list">
|
|
||||||
{{ $r:= List .Commits}}
|
|
||||||
{{range $r}}
|
|
||||||
<tr>
|
|
||||||
<td class="author">
|
|
||||||
{{if .User}}
|
|
||||||
{{if .User.FullName}}
|
|
||||||
<img class="ui avatar image" src="{{.User.RelAvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{.User.FullName}}</a>
|
|
||||||
{{else}}
|
|
||||||
<img class="ui avatar image" src="{{.User.RelAvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.User.Name}}">{{.Author.Name}}</a>
|
|
||||||
{{end}}
|
|
||||||
{{else}}
|
|
||||||
<img class="ui avatar image" src="{{AvatarLink .Author.Email}}" alt=""/> {{.Author.Name}}
|
|
||||||
{{end}}
|
|
||||||
</td>
|
|
||||||
<td class="sha">
|
|
||||||
<label rel="nofollow" class="ui sha label {{if .Signature}} isSigned {{if .Verification.Verified }} isVerified {{end}}{{end}}">
|
|
||||||
{{ShortSha .ID.String}}
|
|
||||||
{{if .Signature}}
|
|
||||||
<div class="ui detail icon button">
|
|
||||||
{{if .Verification.Verified}}
|
|
||||||
<i title="{{.Verification.Reason}}" class="lock green icon"></i>
|
|
||||||
{{else}}
|
|
||||||
<i title="{{$.i18n.Tr .Verification.Reason}}" class="unlock icon"></i>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</label>
|
|
||||||
</td>
|
|
||||||
<td class="message">
|
|
||||||
<span class="message-wrapper">
|
|
||||||
<span class="commit-summary has-emoji{{if gt .ParentCount 1}} grey text{{end}}" title="{{.Summary}}">{{.Summary}}</span>
|
|
||||||
{{if IsMultilineCommitMessage .Message}}
|
|
||||||
<button class="basic compact mini ui icon button commit-button"><i class="ellipsis horizontal icon"></i></button>
|
|
||||||
<pre class="commit-body" style="display: none;">{{RenderCommitBody .Message $.RepoLink $.Repository.ComposeMetas}}</pre>
|
|
||||||
{{end}}
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<td class="grey text">{{TimeSince .Author.When $.Lang}}</td>
|
|
||||||
</tr>
|
|
||||||
{{end}}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{template "base/paginate" .}}
|
{{template "base/paginate" .}}
|
||||||
|
|
Loading…
Reference in a new issue