diff --git a/lib/philomena_web/templates/admin/user/index.html.slime b/lib/philomena_web/templates/admin/user/index.html.slime index 4f24ae92..eb67c043 100644 --- a/lib/philomena_web/templates/admin/user/index.html.slime +++ b/lib/philomena_web/templates/admin/user/index.html.slime @@ -10,7 +10,7 @@ h1 Users => link "2FA users", to: Routes.admin_user_path(@conn, :index, twofactor: 1) - route = fn p -> Routes.admin_user_path(@conn, :index, p) end -- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn, params: [q: @conn.params["q"]] +- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @users, route: route, conn: @conn, params: page_params(@conn.params) .block .block__header diff --git a/lib/philomena_web/views/admin/user_view.ex b/lib/philomena_web/views/admin/user_view.ex index e2bdcbe8..949ea682 100644 --- a/lib/philomena_web/views/admin/user_view.ex +++ b/lib/philomena_web/views/admin/user_view.ex @@ -1,6 +1,21 @@ defmodule PhilomenaWeb.Admin.UserView do use PhilomenaWeb, :view + def page_params(params) do + [] + |> page_param(params, "q", :q) + |> page_param(params, "staff", :staff) + |> page_param(params, "twofactor", :twofactor) + end + + defp page_param(list, params, key, key_atom) do + case params[key] do + nil -> list + "" -> list + val -> [{key_atom, val} | list] + end + end + def checkbox_mapper(form, field, input_opts, role, _label_opts, _opts) do input_id = "user_roles_#{role.id}" label_opts = [for: input_id]