summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIlja <ilja@ilja.space>2022-06-19 16:26:56 +0200
committerIlja <ilja@ilja.space>2022-06-21 12:10:27 +0200
commite21ef5aef389f7cef9ba53525d2d38bb29f5e257 (patch)
treee4d57c43dc7bc1e2c2344dc08328a707ba3f6849 /lib
parent34adea8d28cec91f03047989cbbaaf0b402c3a55 (diff)
downloadpleroma-e21ef5aef389f7cef9ba53525d2d38bb29f5e257.tar.gz
pleroma-e21ef5aef389f7cef9ba53525d2d38bb29f5e257.zip
report notifications for privileged users
Instead of `Pleroma.User.all_superusers()` we now use `Pleroma.User.all_superusers(:report_handle)` I also changed it for sending emails, but there were no tests.
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/notification.ex3
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub.ex6
2 files changed, 5 insertions, 4 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex
index 41385884b..9a3ffc0c2 100644
--- a/lib/pleroma/notification.ex
+++ b/lib/pleroma/notification.ex
@@ -542,7 +542,8 @@ defmodule Pleroma.Notification do
end
def get_potential_receiver_ap_ids(%{data: %{"type" => "Flag", "actor" => actor}}) do
- (User.all_superusers() |> Enum.map(fn user -> user.ap_id end)) -- [actor]
+ (User.all_users_with_privilege(:report_handle) |> Enum.map(fn user -> user.ap_id end)) --
+ [actor]
end
def get_potential_receiver_ap_ids(activity) do
diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex
index 064f93b22..68cd818b9 100644
--- a/lib/pleroma/web/activity_pub/activity_pub.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub.ex
@@ -392,11 +392,11 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
_ <- notify_and_stream(activity),
:ok <-
maybe_federate(stripped_activity) do
- User.all_superusers()
+ User.all_users_with_privilege(:report_handle)
|> Enum.filter(fn user -> user.ap_id != actor end)
|> Enum.filter(fn user -> not is_nil(user.email) end)
- |> Enum.each(fn superuser ->
- superuser
+ |> Enum.each(fn privileged_user ->
+ privileged_user
|> Pleroma.Emails.AdminEmail.report(actor, account, statuses, content)
|> Pleroma.Emails.Mailer.deliver_async()
end)