summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2009-12-13 13:06:57 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2009-12-13 13:06:57 +0000
commit6610bb6b6cbb1ef72787542063359de04fbab6be (patch)
treedeaea217c039928150c7aaeb683a58be8afb50ec
parentf33231181f9591ee67577e229a8bf6de24516ba0 (diff)
downloadredmine-6610bb6b6cbb1ef72787542063359de04fbab6be.tar.gz
redmine-6610bb6b6cbb1ef72787542063359de04fbab6be.zip
Moves watchers filtering logic to ActsAsWatchable.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3168 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/issue.rb7
-rw-r--r--vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb6
2 files changed, 5 insertions, 8 deletions
diff --git a/app/models/issue.rb b/app/models/issue.rb
index a550779cd..b9e046102 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -314,13 +314,6 @@ class Issue < ActiveRecord::Base
notified.collect(&:mail)
end
- # Returns the mail adresses of watchers that should be notified
- def watcher_recipients
- notified = watcher_users
- notified.reject! {|user| !user.active? || !visible?(user)}
- notified.collect(&:mail)
- end
-
# Returns the total number of hours spent on this issue.
#
# Example:
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 977ab4fc7..c13da4fd4 100644
--- a/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb
+++ b/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb
@@ -53,7 +53,11 @@ module Redmine
# Returns an array of watchers' email addresses
def watcher_recipients
- self.watchers.collect { |w| w.user.mail if w.user.active? }.compact
+ notified = watchers.collect(&:user).select(&:active?)
+ if respond_to?(:visible?)
+ notified.reject! {|user| !visible?(user)}
+ end
+ notified.collect(&:mail).compact
end
module ClassMethods