Fetch account from report, not from status (it might be deleted)

This commit is contained in:
Maxim Filippov 2019-11-28 00:09:00 +09:00
commit fcabcab443
3 changed files with 29 additions and 3 deletions

View file

@ -798,11 +798,18 @@ defmodule Pleroma.Web.ActivityPub.Utils do
reports = get_reports_by_status_id(activity["id"])
max_date = Enum.max_by(reports, &NaiveDateTime.from_iso8601!(&1.data["published"]))
actors = Enum.map(reports, & &1.user_actor)
[%{data: %{"object" => [account_id | _]}} | _] = reports
account =
AccountView.render("show.json", %{
user: User.get_by_ap_id(account_id)
})
status = get_status_data(activity)
%{
date: max_date.data["published"],
account: activity["actor"],
account: account,
status: status,
actors: Enum.uniq(actors),
reports: reports

View file

@ -647,11 +647,11 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIController do
end
def list_grouped_reports(conn, _params) do
reports = Utils.get_reported_activities()
statuses = Utils.get_reported_activities()
conn
|> put_view(ReportView)
|> render("index_grouped.json", Utils.get_reports_grouped_by_status(reports))
|> render("index_grouped.json", Utils.get_reports_grouped_by_status(statuses))
end
def report_show(conn, %{"id" => id}) do