aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzeripath <art27@cantab.net>2020-12-24 15:26:19 +0000
committerGitHub <noreply@github.com>2020-12-24 23:26:19 +0800
commitfa2e34928d56598268bbf37e175a291a4b40e92c (patch)
tree667acbe7d74fa9b4ebb53d026940a8bd9dc39945
parent4c2a1c01a84d6718441863682d44d4a5635af703 (diff)
downloadgitea-fa2e34928d56598268bbf37e175a291a4b40e92c.tar.gz
gitea-fa2e34928d56598268bbf37e175a291a4b40e92c.zip
Ensure that search term and page are not lost on adoption page-turn (#14133)
Fix #14111 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
-rw-r--r--routers/admin/repos.go11
-rw-r--r--templates/admin/repo/unadopted.tmpl4
2 files changed, 14 insertions, 1 deletions
diff --git a/routers/admin/repos.go b/routers/admin/repos.go
index 54b6c8e7c6..46d0b60f24 100644
--- a/routers/admin/repos.go
+++ b/routers/admin/repos.go
@@ -5,6 +5,8 @@
package admin
import (
+ "net/url"
+ "strconv"
"strings"
"code.gitea.io/gitea/models"
@@ -71,6 +73,8 @@ func UnadoptedRepos(ctx *context.Context) {
opts.Page = 1
}
+ ctx.Data["CurrentPage"] = opts.Page
+
doSearch := ctx.QueryBool("search")
ctx.Data["search"] = doSearch
@@ -79,6 +83,7 @@ func UnadoptedRepos(ctx *context.Context) {
if !doSearch {
pager := context.NewPagination(0, opts.PageSize, opts.Page, 5)
pager.SetDefaultParams(ctx)
+ pager.AddParam(ctx, "search", "search")
ctx.Data["Page"] = pager
ctx.HTML(200, tplUnadoptedRepos)
return
@@ -92,6 +97,7 @@ func UnadoptedRepos(ctx *context.Context) {
ctx.Data["Dirs"] = repoNames
pager := context.NewPagination(int(count), opts.PageSize, opts.Page, 5)
pager.SetDefaultParams(ctx)
+ pager.AddParam(ctx, "search", "search")
ctx.Data["Page"] = pager
ctx.HTML(200, tplUnadoptedRepos)
}
@@ -100,6 +106,9 @@ func UnadoptedRepos(ctx *context.Context) {
func AdoptOrDeleteRepository(ctx *context.Context) {
dir := ctx.Query("id")
action := ctx.Query("action")
+ page := ctx.QueryInt("page")
+ q := ctx.Query("q")
+
dirSplit := strings.SplitN(dir, "/", 2)
if len(dirSplit) != 2 {
ctx.Redirect(setting.AppSubURL + "/admin/repos")
@@ -148,5 +157,5 @@ func AdoptOrDeleteRepository(ctx *context.Context) {
}
ctx.Flash.Success(ctx.Tr("repo.delete_preexisting_success", dir))
}
- ctx.Redirect(setting.AppSubURL + "/admin/repos/unadopted")
+ ctx.Redirect(setting.AppSubURL + "/admin/repos/unadopted?search=true&q=" + url.QueryEscape(q) + "&page=" + strconv.Itoa(page))
}
diff --git a/templates/admin/repo/unadopted.tmpl b/templates/admin/repo/unadopted.tmpl
index 206ae91f05..bd47dd0262 100644
--- a/templates/admin/repo/unadopted.tmpl
+++ b/templates/admin/repo/unadopted.tmpl
@@ -41,6 +41,8 @@
{{$.CsrfTokenHtml}}
<input type="hidden" name="id" value="{{$dir}}">
<input type="hidden" name="action" value="adopt">
+ <input type="hidden" name="q" value="{{$.Keyword}}">
+ <input type="hidden" name="page" value="{{$.CurrentPage}}">
<div class="actions">
<div class="ui red basic inverted cancel button">
{{svg "octicon-trashcan" 16 "mr-2"}}
@@ -66,6 +68,8 @@
{{$.CsrfTokenHtml}}
<input type="hidden" name="id" value="{{$dir}}">
<input type="hidden" name="action" value="delete">
+ <input type="hidden" name="q" value="{{$.Keyword}}">
+ <input type="hidden" name="page" value="{{$.CurrentPage}}">
<div class="actions">
<div class="ui red basic inverted cancel button">
{{svg "octicon-trashcan" 16 "mr-2"}}