|
@@ -190,20 +190,6 @@ func Issues(ctx *middleware.Context) {
|
|
|
|
|
|
repoID := ctx.QueryInt64("repo")
|
|
|
isShowClosed := ctx.Query("state") == "closed"
|
|
|
- issueStats := models.GetUserIssueStats(repoID, ctxUser.Id, filterMode)
|
|
|
-
|
|
|
- page := ctx.QueryInt("page")
|
|
|
- if page <= 1 {
|
|
|
- page = 1
|
|
|
- }
|
|
|
-
|
|
|
- var total int
|
|
|
- if !isShowClosed {
|
|
|
- total = int(issueStats.OpenCount)
|
|
|
- } else {
|
|
|
- total = int(issueStats.ClosedCount)
|
|
|
- }
|
|
|
- ctx.Data["Page"] = paginater.New(total, setting.IssuePagingNum, page, 5)
|
|
|
|
|
|
// Get repositories.
|
|
|
repos, err := models.GetRepositories(ctxUser.Id, true)
|
|
@@ -212,6 +198,7 @@ func Issues(ctx *middleware.Context) {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ allCount := 0
|
|
|
repoIDs := make([]int64, 0, len(repos))
|
|
|
showRepos := make([]*models.Repository, 0, len(repos))
|
|
|
for _, repo := range repos {
|
|
@@ -221,12 +208,9 @@ func Issues(ctx *middleware.Context) {
|
|
|
|
|
|
repoIDs = append(repoIDs, repo.ID)
|
|
|
repo.NumOpenIssues = repo.NumIssues - repo.NumClosedIssues
|
|
|
- issueStats.AllCount += int64(repo.NumOpenIssues)
|
|
|
+ allCount += repo.NumOpenIssues
|
|
|
|
|
|
- if repo.ID == repoID {
|
|
|
- repo.NumOpenIssues = int(issueStats.OpenCount)
|
|
|
- repo.NumClosedIssues = int(issueStats.ClosedCount)
|
|
|
- } else if filterMode != models.FM_ALL && repo.NumIssues > 0 {
|
|
|
+ if filterMode != models.FM_ALL {
|
|
|
// Calculate repository issue count with filter mode.
|
|
|
numOpen, numClosed := repo.IssueStats(ctxUser.Id, filterMode)
|
|
|
repo.NumOpenIssues, repo.NumClosedIssues = int(numOpen), int(numClosed)
|
|
@@ -244,9 +228,25 @@ func Issues(ctx *middleware.Context) {
|
|
|
repoIDs = []int64{repoID}
|
|
|
}
|
|
|
|
|
|
+ issueStats := models.GetUserIssueStats(repoID, ctxUser.Id, repoIDs, filterMode)
|
|
|
+ issueStats.AllCount = int64(allCount)
|
|
|
+
|
|
|
+ page := ctx.QueryInt("page")
|
|
|
+ if page <= 1 {
|
|
|
+ page = 1
|
|
|
+ }
|
|
|
+
|
|
|
+ var total int
|
|
|
+ if !isShowClosed {
|
|
|
+ total = int(issueStats.OpenCount)
|
|
|
+ } else {
|
|
|
+ total = int(issueStats.ClosedCount)
|
|
|
+ }
|
|
|
+ ctx.Data["Page"] = paginater.New(total, setting.IssuePagingNum, page, 5)
|
|
|
+
|
|
|
// Get issues.
|
|
|
issues, err := models.Issues(ctxUser.Id, assigneeID, repoID, posterID, 0,
|
|
|
- page, isShowClosed, false, "", "")
|
|
|
+ repoIDs, page, isShowClosed, false, "", "")
|
|
|
if err != nil {
|
|
|
ctx.Handle(500, "Issues: %v", err)
|
|
|
return
|