Skip to content

Commit c0684c3

Browse files
committed
Issue and pull request filters on organization dashboard #14052
1 parent f3c4baa commit c0684c3

File tree

2 files changed

+43
-36
lines changed

2 files changed

+43
-36
lines changed

routers/user/home.go

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -363,21 +363,17 @@ func Issues(ctx *context.Context) {
363363
filterMode = models.FilterModeAll
364364
)
365365

366-
if ctxUser.IsOrganization() {
366+
viewType = ctx.Query("type")
367+
switch viewType {
368+
case "assigned":
369+
filterMode = models.FilterModeAssign
370+
case "created_by":
371+
filterMode = models.FilterModeCreate
372+
case "mentioned":
373+
filterMode = models.FilterModeMention
374+
case "your_repositories": // filterMode already set to All
375+
default:
367376
viewType = "your_repositories"
368-
} else {
369-
viewType = ctx.Query("type")
370-
switch viewType {
371-
case "assigned":
372-
filterMode = models.FilterModeAssign
373-
case "created_by":
374-
filterMode = models.FilterModeCreate
375-
case "mentioned":
376-
filterMode = models.FilterModeMention
377-
case "your_repositories": // filterMode already set to All
378-
default:
379-
viewType = "your_repositories"
380-
}
381377
}
382378

383379
page := ctx.QueryInt("page")
@@ -447,11 +443,15 @@ func Issues(ctx *context.Context) {
447443
case models.FilterModeAll:
448444
opts.RepoIDs = userRepoIDs
449445
case models.FilterModeAssign:
450-
opts.AssigneeID = ctxUser.ID
446+
opts.AssigneeID = ctx.User.ID
451447
case models.FilterModeCreate:
452-
opts.PosterID = ctxUser.ID
448+
opts.PosterID = ctx.User.ID
453449
case models.FilterModeMention:
454-
opts.MentionedID = ctxUser.ID
450+
opts.MentionedID = ctx.User.ID
451+
}
452+
453+
if ctxUser.IsOrganization() {
454+
opts.RepoIDs = userRepoIDs
455455
}
456456

457457
var forceEmpty bool
@@ -569,7 +569,7 @@ func Issues(ctx *context.Context) {
569569
}
570570

571571
userIssueStatsOpts := models.UserIssueStatsOptions{
572-
UserID: ctxUser.ID,
572+
UserID: ctx.User.ID,
573573
UserRepoIDs: userRepoIDs,
574574
FilterMode: filterMode,
575575
IsPull: isPullList,
@@ -578,6 +578,9 @@ func Issues(ctx *context.Context) {
578578
if len(repoIDs) > 0 {
579579
userIssueStatsOpts.UserRepoIDs = repoIDs
580580
}
581+
if ctxUser.IsOrganization() {
582+
userIssueStatsOpts.RepoIDs = userRepoIDs
583+
}
581584
userIssueStats, err := models.GetUserIssueStats(userIssueStatsOpts)
582585
if err != nil {
583586
ctx.ServerError("GetUserIssueStats User", err)
@@ -587,7 +590,7 @@ func Issues(ctx *context.Context) {
587590
var shownIssueStats *models.IssueStats
588591
if !forceEmpty {
589592
statsOpts := models.UserIssueStatsOptions{
590-
UserID: ctxUser.ID,
593+
UserID: ctx.User.ID,
591594
UserRepoIDs: userRepoIDs,
592595
FilterMode: filterMode,
593596
IsPull: isPullList,
@@ -596,6 +599,8 @@ func Issues(ctx *context.Context) {
596599
}
597600
if len(repoIDs) > 0 {
598601
statsOpts.RepoIDs = repoIDs
602+
} else if ctxUser.IsOrganization() {
603+
statsOpts.RepoIDs = userRepoIDs
599604
}
600605
shownIssueStats, err = models.GetUserIssueStats(statsOpts)
601606
if err != nil {
@@ -608,14 +613,18 @@ func Issues(ctx *context.Context) {
608613

609614
var allIssueStats *models.IssueStats
610615
if !forceEmpty {
611-
allIssueStats, err = models.GetUserIssueStats(models.UserIssueStatsOptions{
612-
UserID: ctxUser.ID,
616+
allIssueStatsOpts := models.UserIssueStatsOptions{
617+
UserID: ctx.User.ID,
613618
UserRepoIDs: userRepoIDs,
614619
FilterMode: filterMode,
615620
IsPull: isPullList,
616621
IsClosed: isShowClosed,
617622
IssueIDs: issueIDsFromSearch,
618-
})
623+
}
624+
if ctxUser.IsOrganization() {
625+
allIssueStatsOpts.RepoIDs = userRepoIDs
626+
}
627+
allIssueStats, err = models.GetUserIssueStats(allIssueStatsOpts)
619628
if err != nil {
620629
ctx.ServerError("GetUserIssueStats All", err)
621630
return

templates/user/dashboard/issues.tmpl

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,18 @@
99
{{.i18n.Tr "home.issues.in_your_repos"}}
1010
<strong class="ui right">{{CountFmt .IssueStats.YourRepositoriesCount}}</strong>
1111
</a>
12-
{{if not .ContextUser.IsOrganization}}
13-
<a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
14-
{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}
15-
<strong class="ui right">{{CountFmt .IssueStats.AssignCount}}</strong>
16-
</a>
17-
<a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
18-
{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}
19-
<strong class="ui right">{{CountFmt .IssueStats.CreateCount}}</strong>
20-
</a>
21-
<a class="{{if eq .ViewType "mentioned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=mentioned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
22-
{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}
23-
<strong class="ui right">{{CountFmt .IssueStats.MentionCount}}</strong>
24-
</a>
25-
{{end}}
12+
<a class="{{if eq .ViewType "assigned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=assigned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
13+
{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}
14+
<strong class="ui right">{{CountFmt .IssueStats.AssignCount}}</strong>
15+
</a>
16+
<a class="{{if eq .ViewType "created_by"}}ui basic blue button{{end}} item" href="{{.Link}}?type=created_by&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
17+
{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}
18+
<strong class="ui right">{{CountFmt .IssueStats.CreateCount}}</strong>
19+
</a>
20+
<a class="{{if eq .ViewType "mentioned"}}ui basic blue button{{end}} item" href="{{.Link}}?type=mentioned&repos=[{{range $.RepoIDs}}{{.}}%2C{{end}}]&sort={{$.SortType}}&state={{.State}}">
21+
{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}
22+
<strong class="ui right">{{CountFmt .IssueStats.MentionCount}}</strong>
23+
</a>
2624
<div class="ui divider"></div>
2725
<a class="{{if not $.RepoIDs}}ui basic blue button{{end}} repo name item" href="{{$.Link}}?type={{$.ViewType}}&sort={{$.SortType}}&state={{$.State}}&q={{$.Keyword}}">
2826
<span class="text truncate">All</span>

0 commit comments

Comments
 (0)