From 08c89fd2b89614baaf4bfce067cfec9db96f2d2c Mon Sep 17 00:00:00 2001 From: Maxim Filippov Date: Fri, 6 Dec 2019 17:17:24 +0900 Subject: [PATCH] Fix incorrect report count --- lib/pleroma/pagination.ex | 5 ++++- lib/pleroma/web/admin_api/views/report_view.ex | 5 +++-- test/web/admin_api/admin_api_controller_test.exs | 5 ++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/pleroma/pagination.ex b/lib/pleroma/pagination.ex index 9d279fba7..183ef770e 100644 --- a/lib/pleroma/pagination.ex +++ b/lib/pleroma/pagination.ex @@ -35,7 +35,10 @@ def fetch_paginated(query, params, :keyset) do end def fetch_paginated(query, %{"total" => true} = params, :offset) do - total = Repo.aggregate(query, :count, :id) + total = + query + |> Ecto.Query.exclude(:left_join) + |> Repo.aggregate(:count, :id) %{ total: total, diff --git a/lib/pleroma/web/admin_api/views/report_view.ex b/lib/pleroma/web/admin_api/views/report_view.ex index 80ca62691..f5c6ba401 100644 --- a/lib/pleroma/web/admin_api/views/report_view.ex +++ b/lib/pleroma/web/admin_api/views/report_view.ex @@ -69,12 +69,13 @@ def render("index_notes.json", %{notes: notes}) when is_list(notes) do def render("index_notes.json", _), do: [] - def render("show_note.json", %{content: content, user_id: user_id}) do + def render("show_note.json", %{content: content, user_id: user_id, inserted_at: inserted_at}) do user = User.get_by_id(user_id) %{ content: content, - user: merge_account_views(user) + user: merge_account_views(user), + created_at: inserted_at } end diff --git a/test/web/admin_api/admin_api_controller_test.exs b/test/web/admin_api/admin_api_controller_test.exs index 453c290e4..2a3e49af8 100644 --- a/test/web/admin_api/admin_api_controller_test.exs +++ b/test/web/admin_api/admin_api_controller_test.exs @@ -2940,11 +2940,13 @@ test "it resend emails for two users", %{admin: admin} do end test "it creates report note", %{admin_id: admin_id, report_id: report_id} do + [note, _] = Repo.all(Pleroma.ReportNote) + assert %{ activity_id: ^report_id, content: "this is disgusting!", user_id: ^admin_id - } = Repo.one(Pleroma.ReportNote) + } = note end test "it returns reports with notes", %{admin: admin} do @@ -2959,6 +2961,7 @@ test "it returns reports with notes", %{admin: admin} do assert note["user"]["nickname"] == admin.nickname assert note["content"] == "this is disgusting!" + assert note["created_at"] assert response["total"] == 1 end end