diff --git a/modules/context/pagination.go b/modules/context/pagination.go index 107cbf61863..140b6767868 100644 --- a/modules/context/pagination.go +++ b/modules/context/pagination.go @@ -55,3 +55,12 @@ func (p *Pagination) SetDefaultParams(ctx *Context) { p.AddParam(ctx, "tab", "TabName") p.AddParam(ctx, "t", "queryType") } + +// SetUserFilterParams sets common pagination params for user filtering, e.g. the admin userlist +func (p *Pagination) SetUserFilterParams(ctx *Context) { + p.AddParamString("status_filter[is_active]", ctx.FormString("status_filter[is_active]")) + p.AddParamString("status_filter[is_admin]", ctx.FormString("status_filter[is_admin]")) + p.AddParamString("status_filter[is_restricted]", ctx.FormString("status_filter[is_restricted]")) + p.AddParamString("status_filter[is_2fa_enabled]", ctx.FormString("status_filter[is_2fa_enabled]")) + p.AddParamString("status_filter[is_prohibit_login]", ctx.FormString("status_filter[is_prohibit_login]")) +} diff --git a/routers/web/explore/user.go b/routers/web/explore/user.go index b264bf1b4a5..c3aa89e8e6a 100644 --- a/routers/web/explore/user.go +++ b/routers/web/explore/user.go @@ -82,6 +82,7 @@ func RenderUserSearch(ctx *context.Context, opts *user_model.SearchUserOptions, pager := context.NewPagination(int(count), opts.PageSize, opts.Page, 5) pager.SetDefaultParams(ctx) + pager.SetUserFilterParams(ctx) ctx.Data["Page"] = pager ctx.HTML(http.StatusOK, tplName)