Do not propose users that can't view an issue as watchers (#7412).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@5876 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
5543ec5f5a
commit
7e1f04bdfb
|
@ -53,6 +53,17 @@ class WatcherTest < ActiveSupport::TestCase
|
||||||
assert issue.watched_by?(User.find(1))
|
assert issue.watched_by?(User.find(1))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_addable_watcher_users
|
||||||
|
addable_watcher_users = @issue.addable_watcher_users
|
||||||
|
assert_kind_of Array, addable_watcher_users
|
||||||
|
assert_kind_of User, addable_watcher_users.first
|
||||||
|
end
|
||||||
|
|
||||||
|
def test_addable_watcher_users_should_not_include_user_that_cannot_view_the_object
|
||||||
|
issue = Issue.new(:project => Project.find(1), :is_private => true)
|
||||||
|
assert_nil issue.addable_watcher_users.detect {|user| !issue.visible?(user)}
|
||||||
|
end
|
||||||
|
|
||||||
def test_recipients
|
def test_recipients
|
||||||
@issue.watchers.delete_all
|
@issue.watchers.delete_all
|
||||||
@issue.reload
|
@issue.reload
|
||||||
|
|
|
@ -31,7 +31,11 @@ module Redmine
|
||||||
|
|
||||||
# Returns an array of users that are proposed as watchers
|
# Returns an array of users that are proposed as watchers
|
||||||
def addable_watcher_users
|
def addable_watcher_users
|
||||||
self.project.users.sort - self.watcher_users
|
users = self.project.users.sort - self.watcher_users
|
||||||
|
if respond_to?(:visible?)
|
||||||
|
users.reject! {|user| !visible?(user)}
|
||||||
|
end
|
||||||
|
users
|
||||||
end
|
end
|
||||||
|
|
||||||
# Adds user as a watcher
|
# Adds user as a watcher
|
||||||
|
|
Loading…
Reference in New Issue