From: Jean-Philippe Lang Date: Fri, 4 Mar 2011 14:43:53 +0000 (+0000) Subject: Fixed: Email notifications are sent to watchers even if 'No events' setting is chosen... X-Git-Tag: 1.2.0~826 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=8fb446e87fa5ea775c17ec19fa397077291d253a;p=redmine.git Fixed: Email notifications are sent to watchers even if 'No events' setting is chosen (#7763). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5004 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/test/unit/watcher_test.rb b/test/unit/watcher_test.rb index 48c303135..86d96b2cb 100644 --- a/test/unit/watcher_test.rb +++ b/test/unit/watcher_test.rb @@ -60,15 +60,15 @@ class WatcherTest < ActiveSupport::TestCase assert @issue.watcher_recipients.empty? assert @issue.add_watcher(@user) - @user.mail_notification = true - @user.save + @user.mail_notification = 'all' + @user.save! @issue.reload assert @issue.watcher_recipients.include?(@user.mail) - @user.mail_notification = false - @user.save + @user.mail_notification = 'none' + @user.save! @issue.reload - assert @issue.watcher_recipients.include?(@user.mail) + assert !@issue.watcher_recipients.include?(@user.mail) end def test_unwatch diff --git a/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb b/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb index e026a6dd4..61196d9a8 100644 --- a/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb +++ b/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb @@ -58,7 +58,8 @@ module Redmine # Returns an array of watchers' email addresses def watcher_recipients notified = watcher_users.active - + notified.reject! {|user| user.mail_notification == 'none'} + if respond_to?(:visible?) notified.reject! {|user| !visible?(user)} end