summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfeld <feld@feld.me>2020-08-10 17:16:38 +0000
committerfeld <feld@feld.me>2020-08-10 17:16:38 +0000
commit78484fe0ef48079d3ca811c475b109a3306b3e5c (patch)
treeee2dd88cd16e9cb3cc71bd12db4daf3826f58b43
parent93fbf399543fead24f8066d0cba33a0a51b89dd3 (diff)
parent249f21dcbbbc20f401a9ea9bfc6179c858abce6f (diff)
Merge branch 'admin-active-filter' into 'develop'
Admin API: Filter out unapproved users when the `active` filter is on Closes #2037 See merge request pleroma/pleroma!2872
-rw-r--r--lib/pleroma/user/query.ex1
-rw-r--r--test/web/admin_api/controllers/admin_api_controller_test.exs21
2 files changed, 22 insertions, 0 deletions
diff --git a/lib/pleroma/user/query.ex b/lib/pleroma/user/query.ex
index 45553cb6c..d618432ff 100644
--- a/lib/pleroma/user/query.ex
+++ b/lib/pleroma/user/query.ex
@@ -130,6 +130,7 @@ defmodule Pleroma.User.Query do
defp compose_query({:active, _}, query) do
User.restrict_deactivated(query)
|> where([u], not is_nil(u.nickname))
+ |> where([u], u.approval_pending == false)
end
defp compose_query({:legacy_active, _}, query) do
diff --git a/test/web/admin_api/controllers/admin_api_controller_test.exs b/test/web/admin_api/controllers/admin_api_controller_test.exs
index b5d5bd8c7..7f0f02605 100644
--- a/test/web/admin_api/controllers/admin_api_controller_test.exs
+++ b/test/web/admin_api/controllers/admin_api_controller_test.exs
@@ -1164,6 +1164,27 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
}
end
+ test "`active` filters out users pending approval", %{token: token} do
+ insert(:user, approval_pending: true)
+ %{id: user_id} = insert(:user, approval_pending: false)
+ %{id: admin_id} = token.user
+
+ conn =
+ build_conn()
+ |> assign(:user, token.user)
+ |> assign(:token, token)
+ |> get("/api/pleroma/admin/users?filters=active")
+
+ assert %{
+ "count" => 2,
+ "page_size" => 50,
+ "users" => [
+ %{"id" => ^admin_id},
+ %{"id" => ^user_id}
+ ]
+ } = json_response(conn, 200)
+ end
+
test "it works with multiple filters" do
admin = insert(:user, nickname: "john", is_admin: true)
token = insert(:oauth_admin_token, user: admin)