Show current user in users list as well

This commit is contained in:
Maxim Filippov 2019-03-01 20:23:03 +03:00
parent 5b08b470f6
commit f1a4c3163b
3 changed files with 27 additions and 23 deletions

View file

@ -779,10 +779,9 @@ defmodule Pleroma.User do
Enum.uniq_by(fts_results ++ trigram_results, & &1.id) Enum.uniq_by(fts_results ++ trigram_results, & &1.id)
end end
def all_except_one(user, page, page_size) do def all(page, page_size) do
from( from(
u in User, u in User,
where: u.id != ^user.id,
limit: ^page_size, limit: ^page_size,
offset: ^((page - 1) * page_size), offset: ^((page - 1) * page_size),
order_by: u.id order_by: u.id

View file

@ -65,7 +65,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
def list_users(%{assigns: %{user: admin}} = conn, %{"page" => page_string}) do def list_users(%{assigns: %{user: admin}} = conn, %{"page" => page_string}) do
with {page, _} <- Integer.parse(page_string), with {page, _} <- Integer.parse(page_string),
users <- User.all_except_one(admin, page, @users_page_size), users <- User.all(page, @users_page_size),
count <- User.count_all_except_one(admin), count <- User.count_all_except_one(admin),
do: do:
conn conn

View file

@ -345,6 +345,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
"count" => 1, "count" => 1,
"page_size" => 50, "page_size" => 50,
"users" => [ "users" => [
%{
"deactivated" => admin.info.deactivated,
"id" => admin.id,
"nickname" => admin.nickname
},
%{ %{
"deactivated" => user.info.deactivated, "deactivated" => user.info.deactivated,
"id" => user.id, "id" => user.id,
@ -399,16 +404,16 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|> get("/api/pleroma/admin/users/search?query=bo") |> get("/api/pleroma/admin/users/search?query=bo")
assert json_response(conn, 200) == %{ assert json_response(conn, 200) == %{
"count" => 1, "count" => 1,
"page_size" => 50, "page_size" => 50,
"users" => [ "users" => [
%{ %{
"deactivated" => user.info.deactivated, "deactivated" => user.info.deactivated,
"id" => user.id, "id" => user.id,
"nickname" => user.nickname "nickname" => user.nickname
} }
] ]
} }
end end
test "only local users" do test "only local users" do
@ -423,16 +428,16 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do
|> get("/api/pleroma/admin/users/search?query=bo&local=true") |> get("/api/pleroma/admin/users/search?query=bo&local=true")
assert json_response(conn, 200) == %{ assert json_response(conn, 200) == %{
"count" => 1, "count" => 1,
"page_size" => 50, "page_size" => 50,
"users" => [ "users" => [
%{ %{
"deactivated" => user.info.deactivated, "deactivated" => user.info.deactivated,
"id" => user.id, "id" => user.id,
"nickname" => user.nickname "nickname" => user.nickname
} }
] ]
} }
end end
end end
end end