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}}
+
+ {{end}}
+ {{end}}
+
{{if .NumComments}}
{{end}}