Skip to content

Commit a889381

Browse files
authored
Remove AddParamIfExist(AddParam) (#29841)
Follow #29834 Remove AddParamIfExist, use "AddParamString" instead, it should clearly know what is being added into the parameters.
1 parent 66902d8 commit a889381

File tree

17 files changed

+55
-58
lines changed

17 files changed

+55
-58
lines changed

routers/web/admin/repos.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package admin
55

66
import (
7+
"fmt"
78
"net/http"
89
"net/url"
910
"strings"
@@ -84,7 +85,7 @@ func UnadoptedRepos(ctx *context.Context) {
8485
if !doSearch {
8586
pager := context.NewPagination(0, opts.PageSize, opts.Page, 5)
8687
pager.SetDefaultParams(ctx)
87-
pager.AddParamIfExist("search", ctx.Data["search"])
88+
pager.AddParamString("search", fmt.Sprint(doSearch))
8889
ctx.Data["Page"] = pager
8990
ctx.HTML(http.StatusOK, tplUnadoptedRepos)
9091
return
@@ -98,7 +99,7 @@ func UnadoptedRepos(ctx *context.Context) {
9899
ctx.Data["Dirs"] = repoNames
99100
pager := context.NewPagination(count, opts.PageSize, opts.Page, 5)
100101
pager.SetDefaultParams(ctx)
101-
pager.AddParamIfExist("search", ctx.Data["search"])
102+
pager.AddParamString("search", fmt.Sprint(doSearch))
102103
ctx.Data["Page"] = pager
103104
ctx.HTML(http.StatusOK, tplUnadoptedRepos)
104105
}

routers/web/explore/code.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ func Code(ctx *context.Context) {
137137

138138
pager := context.NewPagination(total, setting.UI.RepoSearchPagingNum, page, 5)
139139
pager.SetDefaultParams(ctx)
140-
pager.AddParamIfExist("l", ctx.Data["Language"])
140+
pager.AddParamString("l", language)
141141
ctx.Data["Page"] = pager
142142

143143
ctx.HTML(http.StatusOK, tplExploreCode)

routers/web/explore/repo.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ func RenderRepoSearch(ctx *context.Context, opts *RepoSearchOptions) {
169169

170170
pager := context.NewPagination(int(count), opts.PageSize, page, 5)
171171
pager.SetDefaultParams(ctx)
172-
pager.AddParamIfExist("topic", ctx.Data["TopicOnly"])
173-
pager.AddParamIfExist("language", ctx.Data["Language"])
172+
pager.AddParamString("topic", fmt.Sprint(topicOnly))
173+
pager.AddParamString("language", language)
174174
pager.AddParamString(relevantReposOnlyParam, fmt.Sprint(opts.OnlyShowRelevant))
175175
ctx.Data["Page"] = pager
176176

routers/web/org/home.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func Home(ctx *context.Context) {
154154

155155
pager := context.NewPagination(int(count), setting.UI.User.RepoPagingNum, page, 5)
156156
pager.SetDefaultParams(ctx)
157-
pager.AddParamIfExist("language", ctx.Data["Language"])
157+
pager.AddParamString("language", language)
158158
ctx.Data["Page"] = pager
159159

160160
ctx.Data["ShowMemberAndTeamTab"] = ctx.Org.IsMember || len(members) > 0

routers/web/org/projects.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ func Projects(ctx *context.Context) {
120120
}
121121

122122
pager := context.NewPagination(int(total), setting.UI.IssuePagingNum, page, numPages)
123-
pager.AddParamIfExist("state", ctx.Data["State"])
123+
pager.AddParamString("state", fmt.Sprint(ctx.Data["State"]))
124124
ctx.Data["Page"] = pager
125125

126126
ctx.Data["CanWriteProjects"] = canWriteProjects(ctx)

routers/web/repo/commit.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@ func Graph(ctx *context.Context) {
163163
ctx.Data["CommitCount"] = commitsCount
164164

165165
paginator := context.NewPagination(int(graphCommitsCount), setting.UI.GraphMaxCommitNum, page, 5)
166-
paginator.AddParamIfExist("mode", ctx.Data["Mode"])
167-
paginator.AddParamIfExist("hide-pr-refs", ctx.Data["HidePRRefs"])
166+
paginator.AddParamString("mode", mode)
167+
paginator.AddParamString("hide-pr-refs", fmt.Sprint(hidePRRefs))
168168
for _, branch := range branches {
169169
paginator.AddParamString("branch", branch)
170170
}

routers/web/repo/issue.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -472,16 +472,16 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption opt
472472
}
473473
ctx.Data["ShowArchivedLabels"] = archived
474474

475-
pager.AddParamIfExist("q", ctx.Data["Keyword"])
476-
pager.AddParamIfExist("type", ctx.Data["ViewType"])
477-
pager.AddParamIfExist("sort", ctx.Data["SortType"])
478-
pager.AddParamIfExist("state", ctx.Data["State"])
479-
pager.AddParamIfExist("labels", ctx.Data["SelectLabels"])
480-
pager.AddParamIfExist("milestone", ctx.Data["MilestoneID"])
481-
pager.AddParamIfExist("project", ctx.Data["ProjectID"])
482-
pager.AddParamIfExist("assignee", ctx.Data["AssigneeID"])
483-
pager.AddParamIfExist("poster", ctx.Data["PosterID"])
484-
pager.AddParamIfExist("archived", ctx.Data["ShowArchivedLabels"])
475+
pager.AddParamString("q", keyword)
476+
pager.AddParamString("type", viewType)
477+
pager.AddParamString("sort", sortType)
478+
pager.AddParamString("state", fmt.Sprint(ctx.Data["State"]))
479+
pager.AddParamString("labels", fmt.Sprint(selectLabels))
480+
pager.AddParamString("milestone", fmt.Sprint(milestoneID))
481+
pager.AddParamString("project", fmt.Sprint(projectID))
482+
pager.AddParamString("assignee", fmt.Sprint(assigneeID))
483+
pager.AddParamString("poster", fmt.Sprint(posterID))
484+
pager.AddParamString("archived", fmt.Sprint(archived))
485485

486486
ctx.Data["Page"] = pager
487487
}

routers/web/repo/milestone.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ func Milestones(ctx *context.Context) {
106106
ctx.Data["IsShowClosed"] = isShowClosed
107107

108108
pager := context.NewPagination(int(total), setting.UI.IssuePagingNum, page, 5)
109-
pager.AddParamIfExist("state", ctx.Data["State"])
110-
pager.AddParamIfExist("q", ctx.Data["Keyword"])
109+
pager.AddParamString("state", fmt.Sprint(ctx.Data["State"]))
110+
pager.AddParamString("q", keyword)
111111
ctx.Data["Page"] = pager
112112

113113
ctx.HTML(http.StatusOK, tplMilestone)

routers/web/repo/packages.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ func Packages(ctx *context.Context) {
7070
ctx.Data["RepositoryAccessMap"] = map[int64]bool{ctx.Repo.Repository.ID: true} // There is only the current repository
7171

7272
pager := context.NewPagination(int(total), setting.UI.PackagesPagingNum, page, 5)
73-
pager.AddParamIfExist("q", ctx.Data["Query"])
74-
pager.AddParamIfExist("type", ctx.Data["PackageType"])
73+
pager.AddParamString("q", query)
74+
pager.AddParamString("type", packageType)
7575
ctx.Data["Page"] = pager
7676

7777
ctx.HTML(http.StatusOK, tplPackagesList)

routers/web/repo/projects.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ func Projects(ctx *context.Context) {
118118
}
119119

120120
pager := context.NewPagination(total, setting.UI.IssuePagingNum, page, numPages)
121-
pager.AddParamIfExist("state", ctx.Data["State"])
121+
pager.AddParamString("state", fmt.Sprint(ctx.Data["State"]))
122122
ctx.Data["Page"] = pager
123123

124124
ctx.Data["CanWriteProjects"] = ctx.Repo.Permission.CanWrite(unit.TypeProjects)

routers/web/repo/search.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func Search(ctx *context.Context) {
6868

6969
pager := context.NewPagination(total, setting.UI.RepoSearchPagingNum, page, 5)
7070
pager.SetDefaultParams(ctx)
71-
pager.AddParamIfExist("l", ctx.Data["Language"])
71+
pager.AddParamString("l", language)
7272
ctx.Data["Page"] = pager
7373

7474
ctx.HTML(http.StatusOK, tplSearch)

routers/web/user/code.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func CodeSearch(ctx *context.Context) {
122122

123123
pager := context.NewPagination(total, setting.UI.RepoSearchPagingNum, page, 5)
124124
pager.SetDefaultParams(ctx)
125-
pager.AddParamIfExist("l", ctx.Data["Language"])
125+
pager.AddParamString("l", language)
126126
ctx.Data["Page"] = pager
127127

128128
ctx.HTML(http.StatusOK, tplUserCode)

routers/web/user/home.go

+10-12
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ func Dashboard(ctx *context.Context) {
133133
ctx.Data["Feeds"] = feeds
134134

135135
pager := context.NewPagination(int(count), setting.UI.FeedPagingNum, page, 5)
136-
pager.AddParamIfExist("date", ctx.Data["Date"])
136+
pager.AddParamString("date", date)
137137
ctx.Data["Page"] = pager
138138

139139
ctx.HTML(http.StatusOK, tplDashboard)
@@ -329,10 +329,10 @@ func Milestones(ctx *context.Context) {
329329
ctx.Data["IsShowClosed"] = isShowClosed
330330

331331
pager := context.NewPagination(pagerCount, setting.UI.IssuePagingNum, page, 5)
332-
pager.AddParamIfExist("q", ctx.Data["Keyword"])
333-
pager.AddParamIfExist("repos", ctx.Data["RepoIDs"])
334-
pager.AddParamIfExist("sort", ctx.Data["SortType"])
335-
pager.AddParamIfExist("state", ctx.Data["State"])
332+
pager.AddParamString("q", keyword)
333+
pager.AddParamString("repos", reposQuery)
334+
pager.AddParamString("sort", sortType)
335+
pager.AddParamString("state", fmt.Sprint(ctx.Data["State"]))
336336
ctx.Data["Page"] = pager
337337

338338
ctx.HTML(http.StatusOK, tplMilestones)
@@ -632,13 +632,11 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {
632632
}
633633

634634
pager := context.NewPagination(shownIssues, setting.UI.IssuePagingNum, page, 5)
635-
pager.AddParamIfExist("q", ctx.Data["Keyword"])
636-
pager.AddParamIfExist("type", ctx.Data["ViewType"])
637-
pager.AddParamIfExist("sort", ctx.Data["SortType"])
638-
pager.AddParamIfExist("state", ctx.Data["State"])
639-
pager.AddParamIfExist("labels", ctx.Data["SelectLabels"])
640-
pager.AddParamIfExist("milestone", ctx.Data["MilestoneID"])
641-
pager.AddParamIfExist("assignee", ctx.Data["AssigneeID"])
635+
pager.AddParamString("q", keyword)
636+
pager.AddParamString("type", viewType)
637+
pager.AddParamString("sort", sortType)
638+
pager.AddParamString("state", fmt.Sprint(ctx.Data["State"]))
639+
pager.AddParamString("labels", selectedLabels)
642640
ctx.Data["Page"] = pager
643641

644642
ctx.HTML(http.StatusOK, tplIssues)

routers/web/user/notification.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -344,8 +344,8 @@ func NotificationSubscriptions(ctx *context.Context) {
344344
ctx.Redirect(fmt.Sprintf("/notifications/subscriptions?page=%d", pager.Paginater.Current()))
345345
return
346346
}
347-
pager.AddParamIfExist("sort", ctx.Data["SortType"])
348-
pager.AddParamIfExist("state", ctx.Data["State"])
347+
pager.AddParamString("sort", sortType)
348+
pager.AddParamString("state", state)
349349
ctx.Data["Page"] = pager
350350

351351
ctx.HTML(http.StatusOK, tplNotificationSubscriptions)

routers/web/user/package.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ func ListPackages(ctx *context.Context) {
125125
}
126126

127127
pager := context.NewPagination(int(total), setting.UI.PackagesPagingNum, page, 5)
128-
pager.AddParamIfExist("q", ctx.Data["Query"])
129-
pager.AddParamIfExist("type", ctx.Data["PackageType"])
128+
pager.AddParamString("q", query)
129+
pager.AddParamString("type", packageType)
130130
ctx.Data["Page"] = pager
131131

132132
ctx.HTML(http.StatusOK, tplPackagesList)

routers/web/user/profile.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -324,12 +324,14 @@ func prepareUserProfileTabData(ctx *context.Context, showPrivate bool, profileDb
324324

325325
pager := context.NewPagination(total, pagingNum, page, 5)
326326
pager.SetDefaultParams(ctx)
327-
pager.AddParamIfExist("tab", ctx.Data["TabName"])
327+
pager.AddParamString("tab", tab)
328328
if tab != "followers" && tab != "following" && tab != "activity" && tab != "projects" {
329-
pager.AddParamIfExist("language", ctx.Data["Language"])
329+
pager.AddParamString("language", language)
330330
}
331331
if tab == "activity" {
332-
pager.AddParamIfExist("date", ctx.Data["Date"])
332+
if ctx.Data["Date"] != nil {
333+
pager.AddParamString("date", fmt.Sprint(ctx.Data["Date"]))
334+
}
333335
}
334336
ctx.Data["Page"] = pager
335337
}

services/context/pagination.go

+9-13
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,6 @@ func NewPagination(total, pagingNum, current, numPages int) *Pagination {
2626
return p
2727
}
2828

29-
// AddParamIfExist adds a value to the query parameters if the value is not nil
30-
func (p *Pagination) AddParamIfExist(key string, val any) {
31-
if val == nil {
32-
return
33-
}
34-
paramData := fmt.Sprint(val)
35-
urlParam := fmt.Sprintf("%s=%v", url.QueryEscape(key), url.QueryEscape(paramData))
36-
p.urlParams = append(p.urlParams, urlParam)
37-
}
38-
3929
// AddParamString adds a string parameter directly
4030
func (p *Pagination) AddParamString(key, value string) {
4131
urlParam := fmt.Sprintf("%s=%v", url.QueryEscape(key), url.QueryEscape(value))
@@ -49,8 +39,14 @@ func (p *Pagination) GetParams() template.URL {
4939

5040
// SetDefaultParams sets common pagination params that are often used
5141
func (p *Pagination) SetDefaultParams(ctx *Context) {
52-
p.AddParamIfExist("sort", ctx.Data["SortType"])
53-
p.AddParamIfExist("q", ctx.Data["Keyword"])
42+
if v, ok := ctx.Data["SortType"].(string); ok {
43+
p.AddParamString("sort", v)
44+
}
45+
if v, ok := ctx.Data["Keyword"].(string); ok {
46+
p.AddParamString("q", v)
47+
}
48+
if v, ok := ctx.Data["IsFuzzy"].(bool); ok {
49+
p.AddParamString("fuzzy", fmt.Sprint(v))
50+
}
5451
// do not add any more uncommon params here!
55-
p.AddParamIfExist("fuzzy", ctx.Data["IsFuzzy"])
5652
}

0 commit comments

Comments
 (0)