diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 9a691471d54d6..3c044905f65a0 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -216,6 +216,8 @@ func issues(ctx *context.Context, milestoneID int64, isPullOption util.OptionalB } var commitStatus = make(map[int64]*models.CommitStatus, len(issues)) + var requiredApprovals = make(map[int64]int64, len(issues)) + var approvals = make(map[int64]int64, len(issues)) // Get posters. for i := range issues { @@ -232,13 +234,25 @@ func issues(ctx *context.Context, milestoneID int64, isPullOption util.OptionalB ctx.ServerError("LoadPullRequest", err) return } + pull := issues[i].PullRequest - commitStatus[issues[i].PullRequest.ID], _ = issues[i].PullRequest.GetLastCommitStatus() + if err := pull.LoadProtectedBranch(); err != nil { + return + } + + if pull.ProtectedBranch != nil && pull.ProtectedBranch.RequiredApprovals != 0 { + requiredApprovals[pull.ID] = pull.ProtectedBranch.RequiredApprovals + approvals[pull.ID] = pull.ProtectedBranch.GetGrantedApprovalsCount(pull) + } + + commitStatus[pull.ID], _ = pull.GetLastCommitStatus() } } ctx.Data["Issues"] = issues ctx.Data["CommitStatus"] = commitStatus + ctx.Data["RequiredApprovals"] = requiredApprovals + ctx.Data["Approvals"] = approvals // Get assignees. ctx.Data["Assignees"], err = repo.GetAssignees() diff --git a/templates/repo/issue/list.tmpl b/templates/repo/issue/list.tmpl index d68e6dac26b38..bb8824d5e6547 100644 --- a/templates/repo/issue/list.tmpl +++ b/templates/repo/issue/list.tmpl @@ -222,6 +222,12 @@ {{.Name}} {{end}} + {{if .IsPull}} + {{if ne (index $.RequiredApprovals .PullRequest.ID) 0}} + {{(index $.Approvals .PullRequest.ID)}} / {{(index $.RequiredApprovals .PullRequest.ID)}} + {{end}} + {{end}} + {{if .NumComments}} {{.NumComments}} {{end}}