ui: Show update branch item in merge box when it's necessary (#11761)

* ui: Show update branch item in merge box when it's necessary

As title, should show it without care about whether
this pr can be merged.

fix #10959

Signed-off-by: a1012112796 <1012112796@qq.com>

* fix ui

* Fix ui, thanks to @silverwind.

Co-authored-by: silverwind <me@silverwind.io>

* fix lint

* Update templates/repo/issue/view_content/pull.tmpl

Co-authored-by: silverwind <me@silverwind.io>

* Apply review suggestion

Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
赵智超 2020-06-14 02:49:59 +08:00 committed by GitHub
parent 0159851cc3
commit 48842ed108
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 53 additions and 22 deletions

View file

@ -75,6 +75,7 @@
{{- else}}red{{end}}">{{svg "octicon-git-merge" 32}}</a> {{- else}}red{{end}}">{{svg "octicon-git-merge" 32}}</a>
<div class="content"> <div class="content">
{{template "repo/pulls/status" .}} {{template "repo/pulls/status" .}}
{{$canAutoMerge := false}}
<div class="ui attached merge-section segment {{if not $.LatestCommitStatus}}no-header{{end}}"> <div class="ui attached merge-section segment {{if not $.LatestCommitStatus}}no-header{{end}}">
{{if .Issue.PullRequest.HasMerged}} {{if .Issue.PullRequest.HasMerged}}
<div class="item text purple"> <div class="item text purple">
@ -188,6 +189,30 @@
{{$.i18n.Tr (printf "repo.signing.wont_sign.%s" .WontSignReason) }} {{$.i18n.Tr (printf "repo.signing.wont_sign.%s" .WontSignReason) }}
</div> </div>
{{end}} {{end}}
{{end}}
{{$canAutoMerge = true}}
{{if (gt .Issue.PullRequest.CommitsBehind 0)}}
<div class="ui divider"></div>
<div class="item item-section text grey">
<div class="item-section-left">
<i class="icon icon-octicon">{{svg "octicon-alert" 16}}</i>
{{$.i18n.Tr "repo.pulls.outdated_with_base_branch"}}
</div>
<div class="item-section-right">
{{if .UpdateAllowed}}
<form action="{{.Link}}/update" method="post" class="ui update-branch-form">
{{.CsrfTokenHtml}}
<button class="ui compact button" data-do="update">
<span class="ui text">{{$.i18n.Tr "repo.pulls.update_branch"}}</span>
</button>
</form>
{{end}}
</div>
</div>
{{end}}
{{if and (or $.IsRepoAdmin (not $notAllOverridableChecksOk)) (or (not .RequireSigned) .WillSign)}}
{{if .AllowMerge}} {{if .AllowMerge}}
{{$prUnit := .Repository.MustGetUnit $.UnitTypePullRequests}} {{$prUnit := .Repository.MustGetUnit $.UnitTypePullRequests}}
{{$approvers := .Issue.PullRequest.GetApprovers}} {{$approvers := .Issue.PullRequest.GetApprovers}}
@ -300,6 +325,7 @@
</div> </div>
</div> </div>
{{else}} {{else}}
<div class="ui divider"></div>
<div class="item text red"> <div class="item text red">
{{svg "octicon-x" 16}} {{svg "octicon-x" 16}}
{{$.i18n.Tr "repo.pulls.no_merge_desc"}} {{$.i18n.Tr "repo.pulls.no_merge_desc"}}
@ -310,32 +336,13 @@
</div> </div>
{{end}} {{end}}
{{else}} {{else}}
<div class="ui divider"></div>
<div class="item text grey"> <div class="item text grey">
{{svg "octicon-info" 16}} {{svg "octicon-info" 16}}
{{$.i18n.Tr "repo.pulls.no_merge_access"}} {{$.i18n.Tr "repo.pulls.no_merge_access"}}
</div> </div>
{{end}} {{end}}
{{end}} {{end}}
{{if gt .Issue.PullRequest.CommitsBehind 0}}
<div class="ui very compact branch-update grid">
<div class="row">
<div class="item text gray eleven wide left floated column">
<i class="icon icon-octicon">{{svg "octicon-alert" 16}}</i>
{{$.i18n.Tr "repo.pulls.outdated_with_base_branch"}}
</div>
{{if .UpdateAllowed}}
<div class="item text five wide right floated column">
<form action="{{.Link}}/update" method="post">
{{.CsrfTokenHtml}}
<button class="ui button" data-do="update">
<span class="item text">{{$.i18n.Tr "repo.pulls.update_branch"}}</span>
</button>
</form>
</div>
{{end}}
</div>
</div>
{{end}}
{{else}} {{else}}
{{/* Merge conflict without specific file. Suggest manual merge, only if all reviews and status checks OK. */}} {{/* Merge conflict without specific file. Suggest manual merge, only if all reviews and status checks OK. */}}
{{if .IsBlockedByApprovals}} {{if .IsBlockedByApprovals}}
@ -374,6 +381,21 @@
</div> </div>
{{end}} {{end}}
{{end}} {{end}}
{{if and (gt .Issue.PullRequest.CommitsBehind 0) (not .Issue.IsClosed) (not .Issue.PullRequest.IsChecking) (not .IsPullFilesConflicted) (not .IsPullRequestBroken) (not $canAutoMerge)}}
<div class="item text grey">
<i class="icon icon-octicon">{{svg "octicon-alert" 16}}</i>
{{$.i18n.Tr "repo.pulls.outdated_with_base_branch"}}
{{if .UpdateAllowed}}
<form action="{{.Link}}/update" method="post" class="ui floating right">
{{.CsrfTokenHtml}}
<button class="ui compact button" data-do="update">
<span class="ui text">{{$.i18n.Tr "repo.pulls.update_branch"}}</span>
</button>
</form>
{{end}}
</div>
{{end}}
</div> </div>
</div> </div>
</div> </div>

View file

@ -995,8 +995,17 @@
> .merge-section { > .merge-section {
background-color: #f7f7f7; background-color: #f7f7f7;
.item + .item { .item {
padding-top: .5rem; padding: .25rem 0;
}
.item-section {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0;
margin-top: -.25rem;
margin-bottom: -.25rem;
} }
.divider { .divider {