summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaelwenn <contact+git.pleroma.social@hacktivis.me>2023-07-02 21:27:15 +0000
committerHaelwenn <contact+git.pleroma.social@hacktivis.me>2023-07-02 21:27:15 +0000
commita31a4c522f467d3a369bfe8b71d3d381ec5b6127 (patch)
tree674ec2d47c3c0e0fb191fe19098e3c32bdeda2a3
parent379590d4383810285290dcc0f1ed701f4449e161 (diff)
parent6e4de2383f17810a35a32ccdfea8e9de0183dab4 (diff)
downloadpleroma-a31a4c522f467d3a369bfe8b71d3d381ec5b6127.tar.gz
pleroma-a31a4c522f467d3a369bfe8b71d3d381ec5b6127.zip
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
-rw-r--r--changelog.d/handle-report-from-deactivated-user.fix1
-rw-r--r--lib/pleroma/web/common_api.ex2
-rw-r--r--test/pleroma/web/admin_api/controllers/report_controller_test.exs21
3 files changed, 23 insertions, 1 deletions
diff --git a/changelog.d/handle-report-from-deactivated-user.fix b/changelog.d/handle-report-from-deactivated-user.fix
new file mode 100644
index 000000000..6692d1aa8
--- /dev/null
+++ b/changelog.d/handle-report-from-deactivated-user.fix
@@ -0,0 +1 @@
+Fix handling report from a deactivated user
diff --git a/lib/pleroma/web/common_api.ex b/lib/pleroma/web/common_api.ex
index 65d08de49..77b3fa5d2 100644
--- a/lib/pleroma/web/common_api.ex
+++ b/lib/pleroma/web/common_api.ex
@@ -583,7 +583,7 @@ defmodule Pleroma.Web.CommonAPI do
end
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)
else
nil -> {:error, :not_found}
diff --git a/test/pleroma/web/admin_api/controllers/report_controller_test.exs b/test/pleroma/web/admin_api/controllers/report_controller_test.exs
index c141cf69d..fb2579a3d 100644
--- a/test/pleroma/web/admin_api/controllers/report_controller_test.exs
+++ b/test/pleroma/web/admin_api/controllers/report_controller_test.exs
@@ -123,6 +123,7 @@ defmodule Pleroma.Web.AdminAPI.ReportControllerTest do
})
%{
+ reporter: reporter,
id: report_id,
second_report_id: second_report_id
}
@@ -266,6 +267,26 @@ defmodule Pleroma.Web.AdminAPI.ReportControllerTest do
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"
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
describe "GET /api/pleroma/admin/reports" do