Fix bugs in issue dashboard stats (#3073)
This commit is contained in:
parent
fabf3f2fc2
commit
4c9341f689
7 changed files with 224 additions and 55 deletions
|
@ -56,7 +56,7 @@ func ListIssues(ctx *context.APIContext) {
|
|||
}
|
||||
|
||||
issues, err := models.Issues(&models.IssuesOptions{
|
||||
RepoID: ctx.Repo.Repository.ID,
|
||||
RepoIDs: []int64{ctx.Repo.Repository.ID},
|
||||
Page: ctx.QueryInt("page"),
|
||||
PageSize: setting.UI.IssuePagingNum,
|
||||
IsClosed: isClosed,
|
||||
|
|
|
@ -190,8 +190,8 @@ func Issues(ctx *context.Context) {
|
|||
issues = []*models.Issue{}
|
||||
} else {
|
||||
issues, err = models.Issues(&models.IssuesOptions{
|
||||
RepoIDs: []int64{repo.ID},
|
||||
AssigneeID: assigneeID,
|
||||
RepoID: repo.ID,
|
||||
PosterID: posterID,
|
||||
MentionedID: mentionedID,
|
||||
MilestoneID: milestoneID,
|
||||
|
|
|
@ -9,13 +9,14 @@ import (
|
|||
"fmt"
|
||||
"sort"
|
||||
|
||||
"github.com/Unknwon/paginater"
|
||||
|
||||
"code.gitea.io/gitea/models"
|
||||
"code.gitea.io/gitea/modules/base"
|
||||
"code.gitea.io/gitea/modules/context"
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
"code.gitea.io/gitea/modules/util"
|
||||
|
||||
"github.com/Unknwon/com"
|
||||
"github.com/Unknwon/paginater"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -231,21 +232,30 @@ func Issues(ctx *context.Context) {
|
|||
return
|
||||
}
|
||||
}
|
||||
|
||||
if len(userRepoIDs) <= 0 {
|
||||
userRepoIDs = []int64{-1}
|
||||
}
|
||||
|
||||
opts := &models.IssuesOptions{
|
||||
RepoID: repoID,
|
||||
IsClosed: util.OptionalBoolOf(isShowClosed),
|
||||
IsPull: util.OptionalBoolOf(isPullList),
|
||||
SortType: sortType,
|
||||
}
|
||||
|
||||
if repoID > 0 {
|
||||
opts.RepoIDs = []int64{repoID}
|
||||
}
|
||||
|
||||
switch filterMode {
|
||||
case models.FilterModeAll:
|
||||
opts.RepoIDs = userRepoIDs
|
||||
if repoID > 0 {
|
||||
if !com.IsSliceContainsInt64(userRepoIDs, repoID) {
|
||||
// force an empty result
|
||||
opts.RepoIDs = []int64{-1}
|
||||
}
|
||||
} else {
|
||||
opts.RepoIDs = userRepoIDs
|
||||
}
|
||||
case models.FilterModeAssign:
|
||||
opts.AssigneeID = ctxUser.ID
|
||||
case models.FilterModeCreate:
|
||||
|
@ -308,7 +318,18 @@ func Issues(ctx *context.Context) {
|
|||
issue.Repo = showReposMap[issue.RepoID]
|
||||
}
|
||||
|
||||
issueStats := models.GetUserIssueStats(repoID, ctxUser.ID, userRepoIDs, filterMode, isPullList)
|
||||
issueStats, err := models.GetUserIssueStats(models.UserIssueStatsOptions{
|
||||
UserID: ctxUser.ID,
|
||||
RepoID: repoID,
|
||||
UserRepoIDs: userRepoIDs,
|
||||
FilterMode: filterMode,
|
||||
IsPull: isPullList,
|
||||
IsClosed: isShowClosed,
|
||||
})
|
||||
if err != nil {
|
||||
ctx.Handle(500, "GetUserIssueStats", err)
|
||||
return
|
||||
}
|
||||
|
||||
var total int
|
||||
if !isShowClosed {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue