summaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
authorJimmy Praet <jimmy.praet@telenet.be>2021-01-03 18:29:12 +0100
committerGitHub <noreply@github.com>2021-01-03 18:29:12 +0100
commit9cc5a89b8c8654e3e40686323572e69300807629 (patch)
treea946a850a693d5038a1f5d9ffd33e53f8e7877e0 /routers
parent44ff1d6a1e20694b678ba53b0f1e03e9c7c5b8a6 (diff)
downloadgitea-9cc5a89b8c8654e3e40686323572e69300807629.tar.gz
gitea-9cc5a89b8c8654e3e40686323572e69300807629.zip
Issue and pull request filters on organization dashboard #14052 (#14072)
Diffstat (limited to 'routers')
-rw-r--r--routers/user/home.go53
1 files changed, 31 insertions, 22 deletions
diff --git a/routers/user/home.go b/routers/user/home.go
index 351af1c0d9..952f5cdb3a 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -364,21 +364,17 @@ func Issues(ctx *context.Context) {
filterMode = models.FilterModeAll
)
- if ctxUser.IsOrganization() {
+ viewType = ctx.Query("type")
+ switch viewType {
+ case "assigned":
+ filterMode = models.FilterModeAssign
+ case "created_by":
+ filterMode = models.FilterModeCreate
+ case "mentioned":
+ filterMode = models.FilterModeMention
+ case "your_repositories": // filterMode already set to All
+ default:
viewType = "your_repositories"
- } else {
- viewType = ctx.Query("type")
- switch viewType {
- case "assigned":
- filterMode = models.FilterModeAssign
- case "created_by":
- filterMode = models.FilterModeCreate
- case "mentioned":
- filterMode = models.FilterModeMention
- case "your_repositories": // filterMode already set to All
- default:
- viewType = "your_repositories"
- }
}
page := ctx.QueryInt("page")
@@ -453,11 +449,15 @@ func Issues(ctx *context.Context) {
case models.FilterModeAll:
opts.RepoIDs = userRepoIDs
case models.FilterModeAssign:
- opts.AssigneeID = ctxUser.ID
+ opts.AssigneeID = ctx.User.ID
case models.FilterModeCreate:
- opts.PosterID = ctxUser.ID
+ opts.PosterID = ctx.User.ID
case models.FilterModeMention:
- opts.MentionedID = ctxUser.ID
+ opts.MentionedID = ctx.User.ID
+ }
+
+ if ctxUser.IsOrganization() {
+ opts.RepoIDs = userRepoIDs
}
var forceEmpty bool
@@ -575,7 +575,7 @@ func Issues(ctx *context.Context) {
}
userIssueStatsOpts := models.UserIssueStatsOptions{
- UserID: ctxUser.ID,
+ UserID: ctx.User.ID,
UserRepoIDs: userRepoIDs,
FilterMode: filterMode,
IsPull: isPullList,
@@ -585,6 +585,9 @@ func Issues(ctx *context.Context) {
if len(repoIDs) > 0 {
userIssueStatsOpts.UserRepoIDs = repoIDs
}
+ if ctxUser.IsOrganization() {
+ userIssueStatsOpts.RepoIDs = userRepoIDs
+ }
userIssueStats, err := models.GetUserIssueStats(userIssueStatsOpts)
if err != nil {
ctx.ServerError("GetUserIssueStats User", err)
@@ -594,7 +597,7 @@ func Issues(ctx *context.Context) {
var shownIssueStats *models.IssueStats
if !forceEmpty {
statsOpts := models.UserIssueStatsOptions{
- UserID: ctxUser.ID,
+ UserID: ctx.User.ID,
UserRepoIDs: userRepoIDs,
FilterMode: filterMode,
IsPull: isPullList,
@@ -604,6 +607,8 @@ func Issues(ctx *context.Context) {
}
if len(repoIDs) > 0 {
statsOpts.RepoIDs = repoIDs
+ } else if ctxUser.IsOrganization() {
+ statsOpts.RepoIDs = userRepoIDs
}
shownIssueStats, err = models.GetUserIssueStats(statsOpts)
if err != nil {
@@ -616,15 +621,19 @@ func Issues(ctx *context.Context) {
var allIssueStats *models.IssueStats
if !forceEmpty {
- allIssueStats, err = models.GetUserIssueStats(models.UserIssueStatsOptions{
- UserID: ctxUser.ID,
+ allIssueStatsOpts := models.UserIssueStatsOptions{
+ UserID: ctx.User.ID,
UserRepoIDs: userRepoIDs,
FilterMode: filterMode,
IsPull: isPullList,
IsClosed: isShowClosed,
IssueIDs: issueIDsFromSearch,
LabelIDs: opts.LabelIDs,
- })
+ }
+ if ctxUser.IsOrganization() {
+ allIssueStatsOpts.RepoIDs = userRepoIDs
+ }
+ allIssueStats, err = models.GetUserIssueStats(allIssueStatsOpts)
if err != nil {
ctx.ServerError("GetUserIssueStats All", err)
return