summaryrefslogtreecommitdiffstats
path: root/routers/user/home.go
diff options
context:
space:
mode:
authorRoger Luo <rogerluo410@gmail.com>2021-04-08 19:53:59 +0800
committerGitHub <noreply@github.com>2021-04-08 13:53:59 +0200
commitfa06e98553b78da66cb75e13cffe56b3ef013447 (patch)
treea448a47ea1f0f7643d705a9da6bbe106d7e9eff7 /routers/user/home.go
parent0d1a5e0ffcf689e6e6b2aaa4a4251db74f6b487b (diff)
downloadgitea-fa06e98553b78da66cb75e13cffe56b3ef013447.tar.gz
gitea-fa06e98553b78da66cb75e13cffe56b3ef013447.zip
Add dashboard milestone search and repo milestone search by name (#14866)
Feature for issue #13845: - Add milestones search by name on dashboard milestones page. - Add milestones search by name on repo issue/milestones page.
Diffstat (limited to 'routers/user/home.go')
-rw-r--r--routers/user/home.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/routers/user/home.go b/routers/user/home.go
index 178ad57a79..3436a44bae 100644
--- a/routers/user/home.go
+++ b/routers/user/home.go
@@ -202,6 +202,7 @@ func Milestones(ctx *context.Context) {
isShowClosed = ctx.Query("state") == "closed"
sortType = ctx.Query("sort")
page = ctx.QueryInt("page")
+ keyword = strings.Trim(ctx.Query("q"), " ")
)
if page <= 1 {
@@ -234,15 +235,15 @@ func Milestones(ctx *context.Context) {
}
}
- counts, err := models.CountMilestonesByRepoCond(userRepoCond, isShowClosed)
+ counts, err := models.CountMilestonesByRepoCondAndKw(userRepoCond, keyword, isShowClosed)
if err != nil {
ctx.ServerError("CountMilestonesByRepoIDs", err)
return
}
- milestones, err := models.SearchMilestones(repoCond, page, isShowClosed, sortType)
+ milestones, err := models.SearchMilestones(repoCond, page, isShowClosed, sortType, keyword)
if err != nil {
- ctx.ServerError("GetMilestonesByRepoIDs", err)
+ ctx.ServerError("SearchMilestones", err)
return
}
@@ -277,7 +278,7 @@ func Milestones(ctx *context.Context) {
i++
}
- milestoneStats, err := models.GetMilestonesStatsByRepoCond(repoCond)
+ milestoneStats, err := models.GetMilestonesStatsByRepoCondAndKw(repoCond, keyword)
if err != nil {
ctx.ServerError("GetMilestoneStats", err)
return
@@ -287,7 +288,7 @@ func Milestones(ctx *context.Context) {
if len(repoIDs) == 0 {
totalMilestoneStats = milestoneStats
} else {
- totalMilestoneStats, err = models.GetMilestonesStatsByRepoCond(userRepoCond)
+ totalMilestoneStats, err = models.GetMilestonesStatsByRepoCondAndKw(userRepoCond, keyword)
if err != nil {
ctx.ServerError("GetMilestoneStats", err)
return
@@ -310,12 +311,14 @@ func Milestones(ctx *context.Context) {
ctx.Data["Counts"] = counts
ctx.Data["MilestoneStats"] = milestoneStats
ctx.Data["SortType"] = sortType
+ ctx.Data["Keyword"] = keyword
if milestoneStats.Total() != totalMilestoneStats.Total() {
ctx.Data["RepoIDs"] = repoIDs
}
ctx.Data["IsShowClosed"] = isShowClosed
pager := context.NewPagination(pagerCount, setting.UI.IssuePagingNum, page, 5)
+ pager.AddParam(ctx, "q", "Keyword")
pager.AddParam(ctx, "repos", "RepoIDs")
pager.AddParam(ctx, "sort", "SortType")
pager.AddParam(ctx, "state", "State")