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 @@ <a class="ui label has-emoji" href="{{$.Link}}?q={{$.Keyword}}&type={{$.ViewType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}&assignee={{$.AssigneeID}}" style="color: {{.ForegroundColor}}; background-color: {{.Color}}" title="{{.Description}}">{{.Name}}</a> {{end}} + {{if .IsPull}} + {{if ne (index $.RequiredApprovals .PullRequest.ID) 0}} + <span class="comment ui right"><i class="octicon octicon-eye"></i> {{(index $.Approvals .PullRequest.ID)}} / {{(index $.RequiredApprovals .PullRequest.ID)}}</span> + {{end}} + {{end}} + {{if .NumComments}} <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span> {{end}}