aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-05-13 08:16:54 +0000
committerlambda <pleromagit@rogerbraun.net>2018-05-13 08:16:54 +0000
commit2d83efa5deeef249494f06c6a0f20cfe5791a8e3 (patch)
tree67fd0dd926cb180be8dc0f0d1d3e9c6860232c5e
parent853f183fd3b8e782ef0f05e30a0b6b080d2a4ed0 (diff)
parent89603eda9ea51c5bd3c681fce958a4a6b446debe (diff)
downloadpleroma-2d83efa5deeef249494f06c6a0f20cfe5791a8e3.tar.gz
Merge branch 'no-self-notification' into 'develop'
Do not create notification for yourself Closes #121 See merge request pleroma/pleroma!148
-rw-r--r--lib/pleroma/notification.ex3
-rw-r--r--test/notification_test.exs7
-rw-r--r--test/web/twitter_api/twitter_api_controller_test.exs4
3 files changed, 12 insertions, 2 deletions
diff --git a/lib/pleroma/notification.ex b/lib/pleroma/notification.ex
index e26e49c8c..e0dcd9823 100644
--- a/lib/pleroma/notification.ex
+++ b/lib/pleroma/notification.ex
@@ -91,7 +91,8 @@ defmodule Pleroma.Notification do
# TODO move to sql, too.
def create_notification(%Activity{} = activity, %User{} = user) do
- unless User.blocks?(user, %{ap_id: activity.data["actor"]}) do
+ unless User.blocks?(user, %{ap_id: activity.data["actor"]}) or
+ user.ap_id == activity.data["actor"] do
notification = %Notification{user_id: user.id, activity: activity}
{:ok, notification} = Repo.insert(notification)
Pleroma.Web.Streamer.stream("user", notification)
diff --git a/test/notification_test.exs b/test/notification_test.exs
index 568ad642c..2ca1ac13d 100644
--- a/test/notification_test.exs
+++ b/test/notification_test.exs
@@ -33,6 +33,13 @@ defmodule Pleroma.NotificationTest do
assert nil == Notification.create_notification(activity, user)
end
+
+ test "it doesn't create a notification for user if he is the activity author" do
+ activity = insert(:note_activity)
+ author = User.get_by_ap_id(activity.data["actor"])
+
+ assert nil == Notification.create_notification(activity, author)
+ end
end
describe "get notification" do
diff --git a/test/web/twitter_api/twitter_api_controller_test.exs b/test/web/twitter_api/twitter_api_controller_test.exs
index d7113979a..896fe246d 100644
--- a/test/web/twitter_api/twitter_api_controller_test.exs
+++ b/test/web/twitter_api/twitter_api_controller_test.exs
@@ -257,8 +257,10 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
end
test "with credentials", %{conn: conn, user: current_user} do
+ other_user = insert(:user)
+
{:ok, activity} =
- ActivityBuilder.insert(%{"to" => [current_user.ap_id]}, %{user: current_user})
+ ActivityBuilder.insert(%{"to" => [current_user.ap_id]}, %{user: other_user})
conn =
conn