{{if gt (len .PullReviewers) 0}}

{{$.i18n.Tr "repo.issues.review.reviewers"}}

{{range .PullReviewers}} {{ $createdStr:= TimeSinceUnix .UpdatedUnix $.Lang }}
{{if .Stale}} {{end}} {{.Reviewer.Name}} {{if eq .Type 1}} {{$.i18n.Tr "repo.issues.review.approve" $createdStr | Safe}} {{else if eq .Type 2}} {{$.i18n.Tr "repo.issues.review.comment" $createdStr | Safe}} {{else if eq .Type 3}} {{$.i18n.Tr "repo.issues.review.reject" $createdStr | Safe}} {{else}} {{$.i18n.Tr "repo.issues.review.comment" $createdStr | Safe}} {{end}}
{{end}}
{{end}}
{{template "repo/pulls/status" .}}
{{if .Issue.PullRequest.HasMerged}}
{{if .Issue.PullRequest.MergedCommitID}} {{$link := printf "%s/commit/%s" $.Repository.HTMLURL .Issue.PullRequest.MergedCommitID}} {{$.i18n.Tr "repo.pulls.merged_as" $link (ShortSha .Issue.PullRequest.MergedCommitID) | Safe}} {{else}} {{$.i18n.Tr "repo.pulls.has_merged"}} {{end}}
{{if .IsPullBranchDeletable}}
{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}
{{end}} {{else if .Issue.IsClosed}}
{{if .IsPullRequestBroken}} {{$.i18n.Tr "repo.pulls.cant_reopen_deleted_branch"}} {{else}} {{$.i18n.Tr "repo.pulls.reopen_to_merge"}} {{end}}
{{if and .IsPullBranchDeletable ( not .IsPullRequestBroken )}}
{{$.i18n.Tr "repo.branch.delete" .HeadTarget}}
{{end}} {{else if .IsPullFilesConflicted}}
{{$.i18n.Tr "repo.pulls.files_conflicted"}} {{range .ConflictedFiles}}
{{.}}
{{end}}
{{else if .IsPullRequestBroken}}
{{$.i18n.Tr "repo.pulls.data_broken"}}
{{else if .IsPullWorkInProgress}}
{{$.i18n.Tr "repo.pulls.cannot_merge_work_in_progress" .WorkInProgressPrefix | Str2html}}
{{else if .Issue.PullRequest.IsChecking}}
{{$.i18n.Tr "repo.pulls.is_checking"}}
{{else if .Issue.PullRequest.CanAutoMerge}} {{if .IsBlockedByApprovals}}
{{$.i18n.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .Issue.PullRequest.ProtectedBranch.RequiredApprovals}}
{{else if .IsBlockedByRejection}}
{{$.i18n.Tr "repo.pulls.blocked_by_rejection"}}
{{else if and .EnableStatusCheck (not .IsRequiredStatusCheckSuccess)}}
{{$.i18n.Tr "repo.pulls.required_status_check_failed"}}
{{end}} {{$notAllOk := or .IsBlockedByApprovals .IsBlockedByRejection (and .EnableStatusCheck (not .IsRequiredStatusCheckSuccess))}} {{if or $.IsRepoAdmin (not $notAllOk)}} {{if $notAllOk}}
{{$.i18n.Tr "repo.pulls.required_status_check_administrator"}}
{{else}}
{{$.i18n.Tr "repo.pulls.can_auto_merge_desc"}}
{{end}} {{if .AllowMerge}} {{$prUnit := .Repository.MustGetUnit $.UnitTypePullRequests}} {{$approvers := .Issue.PullRequest.GetApprovers}} {{if or $prUnit.PullRequestsConfig.AllowMerge $prUnit.PullRequestsConfig.AllowRebase $prUnit.PullRequestsConfig.AllowRebaseMerge $prUnit.PullRequestsConfig.AllowSquash}}
{{if $prUnit.PullRequestsConfig.AllowMerge}} {{end}} {{if $prUnit.PullRequestsConfig.AllowRebase}} {{end}} {{if $prUnit.PullRequestsConfig.AllowRebaseMerge}} {{end}} {{if $prUnit.PullRequestsConfig.AllowSquash}} {{$commitMessages := .Issue.PullRequest.GetCommitMessages}} {{end}}
{{else}}
{{$.i18n.Tr "repo.pulls.no_merge_desc"}}
{{$.i18n.Tr "repo.pulls.no_merge_helper"}}
{{end}} {{else}}
{{$.i18n.Tr "repo.pulls.no_merge_access"}}
{{end}} {{end}} {{else}} {{/* Merge conflict without specific file. Suggest manual merge, only if all reviews and status checks OK. */}} {{if .IsBlockedByApprovals}}
{{$.i18n.Tr "repo.pulls.blocked_by_approvals" .GrantedApprovals .Issue.PullRequest.ProtectedBranch.RequiredApprovals}}
{{else if .IsBlockedByRejection}}
{{$.i18n.Tr "repo.pulls.blocked_by_rejection"}}
{{else if and .EnableStatusCheck (not .IsRequiredStatusCheckSuccess)}}
{{$.i18n.Tr "repo.pulls.required_status_check_failed"}}
{{else}}
{{$.i18n.Tr "repo.pulls.cannot_auto_merge_desc"}}
{{$.i18n.Tr "repo.pulls.cannot_auto_merge_helper"}}
{{end}} {{end}}