diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-12-13 14:26:54 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2009-12-13 14:26:54 +0000 |
commit | bb477a3a0fe71f0e15b78b6e0fafb017065fba26 (patch) | |
tree | 5fe5daa3d87fa80c93b0e77bc95552079a1389c5 /app/models/document.rb | |
parent | 6610bb6b6cbb1ef72787542063359de04fbab6be (diff) | |
download | redmine-bb477a3a0fe71f0e15b78b6e0fafb017065fba26.tar.gz redmine-bb477a3a0fe71f0e15b78b6e0fafb017065fba26.zip |
Make sure users don't get notified for thing they can not view (#3589).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3169 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/document.rb')
-rw-r--r-- | app/models/document.rb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/app/models/document.rb b/app/models/document.rb index 1318e823d..d2d20d05d 100644 --- a/app/models/document.rb +++ b/app/models/document.rb @@ -29,6 +29,10 @@ class Document < ActiveRecord::Base validates_presence_of :project, :title, :category validates_length_of :title, :maximum => 60 + def visible?(user=User.current) + !user.nil? && user.allowed_to?(:view_documents, project) + end + def after_initialize if new_record? self.category ||= DocumentCategory.default @@ -42,4 +46,11 @@ class Document < ActiveRecord::Base end @updated_on end + + # Returns the mail adresses of users that should be notified + def recipients + notified = project.notified_users + notified.reject! {|user| !visible?(user)} + notified.collect(&:mail) + end end |