]> source.dussan.org Git - gitea.git/commitdiff
Ensure that search term and page are not lost on adoption page-turn (#14133)
authorzeripath <art27@cantab.net>
Thu, 24 Dec 2020 15:26:19 +0000 (15:26 +0000)
committerGitHub <noreply@github.com>
Thu, 24 Dec 2020 15:26:19 +0000 (23:26 +0800)
Fix #14111

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
routers/admin/repos.go
templates/admin/repo/unadopted.tmpl

index 54b6c8e7c6fb09770097313a48c9ade70b24dfb2..46d0b60f24988b1dab5e700d6167ca800d07f49f 100644 (file)
@@ -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))
 }
index 206ae91f05153f580a98a48876df32af9d43d380..bd47dd02625c6ec5cd44d1d4f04b8cbd88a65c96 100644 (file)
@@ -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"}}