Merge branch 'tusooa/3131-handle-report-from-deactivated-user' into 'develop'

Fix handling report from a deactivated user

Closes #3131

See merge request pleroma/pleroma!3915
This commit is contained in:
Haelwenn 2023-07-02 21:27:15 +00:00
commit a31a4c522f
3 changed files with 23 additions and 1 deletions

View file

@ -0,0 +1 @@
Fix handling report from a deactivated user

View file

@ -583,7 +583,7 @@ def update_report_state(activity_ids, state) when is_list(activity_ids) do
end end
def update_report_state(activity_id, state) do def update_report_state(activity_id, state) do
with %Activity{} = activity <- Activity.get_by_id(activity_id) do with %Activity{} = activity <- Activity.get_by_id(activity_id, filter: []) do
Utils.update_report_state(activity, state) Utils.update_report_state(activity, state)
else else
nil -> {:error, :not_found} nil -> {:error, :not_found}

View file

@ -123,6 +123,7 @@ test "returns 404 when report id is invalid", %{conn: conn} do
}) })
%{ %{
reporter: reporter,
id: report_id, id: report_id,
second_report_id: second_report_id second_report_id: second_report_id
} }
@ -266,6 +267,26 @@ test "updates state of multiple reports", %{
assert ModerationLog.get_log_entry_message(second_log_entry) == assert ModerationLog.get_log_entry_message(second_log_entry) ==
"@#{admin.nickname} updated report ##{second_report_id} (on user @#{second_activity.user_actor.nickname}) with 'closed' state" "@#{admin.nickname} updated report ##{second_report_id} (on user @#{second_activity.user_actor.nickname}) with 'closed' state"
end end
test "works if reporter is deactivated", %{
conn: conn,
id: id,
reporter: reporter
} do
Pleroma.User.set_activation(reporter, false)
conn
|> put_req_header("content-type", "application/json")
|> patch("/api/pleroma/admin/reports", %{
"reports" => [
%{"state" => "resolved", "id" => id}
]
})
|> json_response_and_validate_schema(:no_content)
activity = Activity.get_by_id_with_user_actor(id)
assert activity.data["state"] == "resolved"
end
end end
describe "GET /api/pleroma/admin/reports" do describe "GET /api/pleroma/admin/reports" do