mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-26 13:29:12 -05:00
b1d66f50fb
fixes #21892 This PR disallows merging a PR when not all commit status contexts configured in the branch protection are met. Previously, the PR was happy to merge when one commit status was successful and the other contexts weren't reported. Any feedback is welcome, first time Go :-) I'm also not sure if the changes in the template break something else Given the following branch protection: ![branch_protection](https://github.com/go-gitea/gitea/assets/2401875/f871b4e4-138b-435a-b496-f9ad432e3dec) This was shown before the change: ![before](https://github.com/go-gitea/gitea/assets/2401875/60424ff0-ee09-4fa0-856e-64e6e3fb0612) With the change, it is now shown as this: ![after](https://github.com/go-gitea/gitea/assets/2401875/4e464142-efb1-4889-8166-eb3be26c8f3d) --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> (cherry picked from commit a11ccc9fcd61fb25ffb1c37b87a0df4ee9efd84e)
59 lines
2.3 KiB
Go HTML Template
59 lines
2.3 KiB
Go HTML Template
{{/*
|
|
Template Attributes:
|
|
* CommitStatus: summary of all commit status state
|
|
* CommitStatuses: all commit status elements
|
|
* MissingRequiredChecks: commit check contexts that are required by branch protection but not present
|
|
* ShowHideChecks: whether use a button to show/hide the checks
|
|
* is_context_required: Used in pull request commit status check table
|
|
*/}}
|
|
|
|
{{if .CommitStatus}}
|
|
<div class="commit-status-panel">
|
|
<div class="ui top attached header commit-status-header">
|
|
{{if or (eq .CommitStatus.State "pending") (.MissingRequiredChecks)}}
|
|
{{ctx.Locale.Tr "repo.pulls.status_checking"}}
|
|
{{else if eq .CommitStatus.State "success"}}
|
|
{{ctx.Locale.Tr "repo.pulls.status_checks_success"}}
|
|
{{else if eq .CommitStatus.State "warning"}}
|
|
{{ctx.Locale.Tr "repo.pulls.status_checks_warning"}}
|
|
{{else if eq .CommitStatus.State "failure"}}
|
|
{{ctx.Locale.Tr "repo.pulls.status_checks_failure"}}
|
|
{{else if eq .CommitStatus.State "error"}}
|
|
{{ctx.Locale.Tr "repo.pulls.status_checks_error"}}
|
|
{{else}}
|
|
{{ctx.Locale.Tr "repo.pulls.status_checking"}}
|
|
{{end}}
|
|
|
|
{{if .ShowHideChecks}}
|
|
<div class="ui right">
|
|
<button class="commit-status-hide-checks btn interact-fg"
|
|
data-show-all="{{ctx.Locale.Tr "repo.pulls.status_checks_show_all"}}"
|
|
data-hide-all="{{ctx.Locale.Tr "repo.pulls.status_checks_hide_all"}}">
|
|
{{ctx.Locale.Tr "repo.pulls.status_checks_hide_all"}}</button>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="commit-status-list">
|
|
{{range .CommitStatuses}}
|
|
<div class="commit-status-item">
|
|
{{template "repo/commit_status" .}}
|
|
<div class="status-context gt-ellipsis">{{.Context}} <span class="text light-2">{{.Description}}</span></div>
|
|
<div class="ui status-details">
|
|
{{if $.is_context_required}}
|
|
{{if (call $.is_context_required .Context)}}<div class="ui label">{{ctx.Locale.Tr "repo.pulls.status_checks_requested"}}</div>{{end}}
|
|
{{end}}
|
|
<span>{{if .TargetURL}}<a href="{{.TargetURL}}">{{ctx.Locale.Tr "repo.pulls.status_checks_details"}}</a>{{end}}</span>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{range .MissingRequiredChecks}}
|
|
<div class="commit-status-item">
|
|
{{svg "octicon-dot-fill" 18 "commit-status icon text yellow"}}
|
|
<div class="status-context gt-ellipsis">{{.}}</div>
|
|
<div class="ui label">{{ctx.Locale.Tr "repo.pulls.status_checks_requested"}}</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|