Don't send note comment notifications to deleted users
authorTom Hughes <tom@compton.nu>
Fri, 30 Oct 2015 19:11:25 +0000 (19:11 +0000)
committerTom Hughes <tom@compton.nu>
Fri, 30 Oct 2015 19:20:36 +0000 (19:20 +0000)
app/controllers/notes_controller.rb
test/controllers/notes_controller_test.rb
test/fixtures/note_comments.yml

index 59dd025e8280f7a60b0668fb57e8fa222457815c..e73b2ba035b4e66339bc45754f2d9c2d0c5d698a 100644 (file)
@@ -350,7 +350,7 @@ class NotesController < ApplicationController
     comment = note.comments.create(attributes)
 
     note.comments.map(&:author).uniq.each do |user|
-      if notify && user && user != @user
+      if notify && user && user != @user && user.visible?
         Notifier.note_comment_notification(comment, user).deliver_now
       end
     end
index 5cdcbb31df6dca84a0e6a1607074c6d61e9cb0f5..bad1e5f1b4e2f1a20f0efb09214e40e70dabfff2 100644 (file)
@@ -225,7 +225,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "Feature", js["type"]
     assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
     assert_equal "open", js["properties"]["status"]
-    assert_equal 3, js["properties"]["comments"].count
+    assert_equal 5, js["properties"]["comments"].count
     assert_equal "commented", js["properties"]["comments"].last["action"]
     assert_equal "This is an additional comment", js["properties"]["comments"].last["text"]
     assert_nil js["properties"]["comments"].last["user"]
@@ -237,7 +237,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "Feature", js["type"]
     assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
     assert_equal "open", js["properties"]["status"]
-    assert_equal 3, js["properties"]["comments"].count
+    assert_equal 5, js["properties"]["comments"].count
     assert_equal "commented", js["properties"]["comments"].last["action"]
     assert_equal "This is an additional comment", js["properties"]["comments"].last["text"]
     assert_nil js["properties"]["comments"].last["user"]
@@ -371,7 +371,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "Feature", js["type"]
     assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
     assert_equal "closed", js["properties"]["status"]
-    assert_equal 3, js["properties"]["comments"].count
+    assert_equal 5, js["properties"]["comments"].count
     assert_equal "closed", js["properties"]["comments"].last["action"]
     assert_equal "This is a close comment", js["properties"]["comments"].last["text"]
     assert_equal "test2", js["properties"]["comments"].last["user"]
@@ -383,7 +383,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "Feature", js["type"]
     assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
     assert_equal "closed", js["properties"]["status"]
-    assert_equal 3, js["properties"]["comments"].count
+    assert_equal 5, js["properties"]["comments"].count
     assert_equal "closed", js["properties"]["comments"].last["action"]
     assert_equal "This is a close comment", js["properties"]["comments"].last["text"]
     assert_equal "test2", js["properties"]["comments"].last["user"]
@@ -562,7 +562,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "Feature", js["type"]
     assert_equal notes(:open_note_with_comment).id, js["properties"]["id"]
     assert_equal "hidden", js["properties"]["status"]
-    assert_equal 3, js["properties"]["comments"].count
+    assert_equal 5, js["properties"]["comments"].count
     assert_equal "hidden", js["properties"]["comments"].last["action"]
     assert_equal "This is a hide comment", js["properties"]["comments"].last["text"]
     assert_equal "moderator", js["properties"]["comments"].last["user"]
@@ -841,7 +841,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "application/rss+xml", @response.content_type
     assert_select "rss", :count => 1 do
       assert_select "channel", :count => 1 do
-        assert_select "item", :count => 8
+        assert_select "item", :count => 10
       end
     end
 
@@ -850,7 +850,7 @@ class NotesControllerTest < ActionController::TestCase
     assert_equal "application/rss+xml", @response.content_type
     assert_select "rss", :count => 1 do
       assert_select "channel", :count => 1 do
-        assert_select "item", :count => 3
+        assert_select "item", :count => 5
       end
     end
   end
index c3c568c25ed6f8202756e95981626a1aeb33fe74..c4b998cad2b84203fc9e9f05d42f5f961ac350aa 100644 (file)
@@ -122,3 +122,21 @@ t14:
   created_at: 2007-02-01 00:00:00
   author_id: 4
   body: 'A comment description'
+
+t15:
+  id: 15
+  note_id: 2
+  visible: true
+  event: opened
+  created_at: 2007-01-01 00:00:00
+  author_id: 10
+  body: 'This is a note with from a suspended user'
+
+t16:
+  id: 16
+  note_id: 2
+  visible: true
+  event: opened
+  created_at: 2007-01-01 00:00:00
+  author_id: 11
+  body: 'This is a note with from a deleted user'