diff --git a/lib/philomena_web/templates/admin/fingerprint_ban/index.html.slime b/lib/philomena_web/templates/admin/fingerprint_ban/index.html.slime index 10628069..b173c39a 100644 --- a/lib/philomena_web/templates/admin/fingerprint_ban/index.html.slime +++ b/lib/philomena_web/templates/admin/fingerprint_ban/index.html.slime @@ -1,7 +1,7 @@ h1 Fingerprint Bans - route = fn p -> Routes.admin_fingerprint_ban_path(@conn, :index, p) end -- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @fingerprint_bans, route: route, params: [q: @conn.params["q"]] +- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @fingerprint_bans, route: route, params: page_params(@conn.params) = form_for :fingerprint_ban, Routes.admin_fingerprint_ban_path(@conn, :index), [method: "get", class: "hform"], fn f -> .field diff --git a/lib/philomena_web/templates/admin/subnet_ban/index.html.slime b/lib/philomena_web/templates/admin/subnet_ban/index.html.slime index 4f44d4fc..f6b4dc5d 100644 --- a/lib/philomena_web/templates/admin/subnet_ban/index.html.slime +++ b/lib/philomena_web/templates/admin/subnet_ban/index.html.slime @@ -1,7 +1,7 @@ h1 Subnet Bans - route = fn p -> Routes.admin_subnet_ban_path(@conn, :index, p) end -- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @subnet_bans, route: route, params: [q: @conn.params["q"]] +- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @subnet_bans, route: route, params: page_params(@conn.params) = form_for :subnet_ban, Routes.admin_subnet_ban_path(@conn, :index), [method: "get", class: "hform"], fn f -> .field diff --git a/lib/philomena_web/templates/admin/user_ban/index.html.slime b/lib/philomena_web/templates/admin/user_ban/index.html.slime index 9eeaa6e9..c81d4ab2 100644 --- a/lib/philomena_web/templates/admin/user_ban/index.html.slime +++ b/lib/philomena_web/templates/admin/user_ban/index.html.slime @@ -1,7 +1,7 @@ h1 User Bans - route = fn p -> Routes.admin_user_ban_path(@conn, :index, p) end -- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @user_bans, route: route, params: [q: @conn.params["q"]] +- pagination = render PhilomenaWeb.PaginationView, "_pagination.html", page: @user_bans, route: route, params: page_params(@conn.params) = form_for :user_ban, Routes.admin_user_ban_path(@conn, :index), [method: "get", class: "hform"], fn f -> .field diff --git a/lib/philomena_web/views/admin/ban_view.ex b/lib/philomena_web/views/admin/ban_view.ex new file mode 100644 index 00000000..0df1e730 --- /dev/null +++ b/lib/philomena_web/views/admin/ban_view.ex @@ -0,0 +1,23 @@ +defmodule PhilomenaWeb.Admin.BanView do + alias PhilomenaWeb.ProfileView + + def user_abbrv(conn, user), + do: ProfileView.user_abbrv(conn, user) + + def ban_row_class(%{valid_until: until, enabled: enabled}) do + now = DateTime.utc_now() + + case enabled and DateTime.diff(until, now) > 0 do + true -> "success" + _false -> "danger" + end + end + + def page_params(params) do + case params["q"] do + nil -> [] + "" -> [] + q -> [q: q] + end + end +end diff --git a/lib/philomena_web/views/admin/fingerprint_ban_view.ex b/lib/philomena_web/views/admin/fingerprint_ban_view.ex index e6f3eb87..8abf529c 100644 --- a/lib/philomena_web/views/admin/fingerprint_ban_view.ex +++ b/lib/philomena_web/views/admin/fingerprint_ban_view.ex @@ -1,17 +1,5 @@ defmodule PhilomenaWeb.Admin.FingerprintBanView do use PhilomenaWeb, :view - alias PhilomenaWeb.ProfileView - - defp user_abbrv(conn, user), - do: ProfileView.user_abbrv(conn, user) - - defp ban_row_class(%{valid_until: until, enabled: enabled}) do - now = DateTime.utc_now() - - case enabled and DateTime.diff(until, now) > 0 do - true -> "success" - _false -> "danger" - end - end + import PhilomenaWeb.Admin.BanView end diff --git a/lib/philomena_web/views/admin/subnet_ban_view.ex b/lib/philomena_web/views/admin/subnet_ban_view.ex index 00ae543b..3fe55f51 100644 --- a/lib/philomena_web/views/admin/subnet_ban_view.ex +++ b/lib/philomena_web/views/admin/subnet_ban_view.ex @@ -1,17 +1,5 @@ defmodule PhilomenaWeb.Admin.SubnetBanView do use PhilomenaWeb, :view - alias PhilomenaWeb.ProfileView - - defp user_abbrv(conn, user), - do: ProfileView.user_abbrv(conn, user) - - defp ban_row_class(%{valid_until: until, enabled: enabled}) do - now = DateTime.utc_now() - - case enabled and DateTime.diff(until, now) > 0 do - true -> "success" - _false -> "danger" - end - end + import PhilomenaWeb.Admin.BanView end diff --git a/lib/philomena_web/views/admin/user_ban_view.ex b/lib/philomena_web/views/admin/user_ban_view.ex index b8f34fb9..a4f02024 100644 --- a/lib/philomena_web/views/admin/user_ban_view.ex +++ b/lib/philomena_web/views/admin/user_ban_view.ex @@ -1,17 +1,5 @@ defmodule PhilomenaWeb.Admin.UserBanView do use PhilomenaWeb, :view - alias PhilomenaWeb.ProfileView - - defp user_abbrv(conn, user), - do: ProfileView.user_abbrv(conn, user) - - defp ban_row_class(%{valid_until: until, enabled: enabled}) do - now = DateTime.utc_now() - - case enabled and DateTime.diff(until, now) > 0 do - true -> "success" - _false -> "danger" - end - end + import PhilomenaWeb.Admin.BanView end