diff options
author | Lauris BH <lauris@nix.lv> | 2019-01-23 06:10:38 +0200 |
---|---|---|
committer | techknowlogick <matti@mdranta.net> | 2019-01-22 23:10:38 -0500 |
commit | 075649572d4472b588a8484ce3d7c37df7621f85 (patch) | |
tree | 5658dfda46b32c0686895615bceffbdac01ef4a3 /routers/repo | |
parent | 6a949af8ca3aaa30f917c8ed792ae88bbaafdd75 (diff) | |
download | gitea-075649572d4472b588a8484ce3d7c37df7621f85.tar.gz gitea-075649572d4472b588a8484ce3d7c37df7621f85.zip |
Add the ability to use multiple labels as filters(#5786)
Diffstat (limited to 'routers/repo')
-rw-r--r-- | routers/repo/issue.go | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/routers/repo/issue.go b/routers/repo/issue.go index 8e0b22eb62..588e727ca4 100644 --- a/routers/repo/issue.go +++ b/routers/repo/issue.go @@ -112,8 +112,15 @@ func issues(ctx *context.Context, milestoneID int64, isPullOption util.OptionalB } repo := ctx.Repo.Repository + var labelIDs []int64 selectLabels := ctx.Query("labels") - + if len(selectLabels) > 0 && selectLabels != "0" { + labelIDs, err = base.StringsToInt64s(strings.Split(selectLabels, ",")) + if err != nil { + ctx.ServerError("StringsToInt64s", err) + return + } + } isShowClosed := ctx.Query("state") == "closed" keyword := strings.Trim(ctx.Query("q"), " ") @@ -176,7 +183,7 @@ func issues(ctx *context.Context, milestoneID int64, isPullOption util.OptionalB PageSize: setting.UI.IssuePagingNum, IsClosed: util.OptionalBoolOf(isShowClosed), IsPull: isPullOption, - Labels: selectLabels, + LabelIDs: labelIDs, SortType: sortType, IssueIDs: issueIDs, }) @@ -210,7 +217,11 @@ func issues(ctx *context.Context, milestoneID int64, isPullOption util.OptionalB ctx.ServerError("GetLabelsByRepoID", err) return } + for _, l := range labels { + l.LoadSelectedLabelsAfterClick(labelIDs) + } ctx.Data["Labels"] = labels + ctx.Data["NumLabels"] = len(labels) if ctx.QueryInt64("assignee") == 0 { assigneeID = 0 // Reset ID to prevent unexpected selection of assignee. |