Fixed: watchers selection lost when issue creation fails (#5406). #watched_by? was fixed in order to work with #watcher_user_ids= used in controllers on unsaved objects.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3705 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
e5180884c1
commit
a00d1eabd7
@ -47,6 +47,12 @@ class WatcherTest < ActiveSupport::TestCase
|
|||||||
assert Issue.watched_by(@user).include?(@issue)
|
assert Issue.watched_by(@user).include?(@issue)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_watcher_user_ids
|
||||||
|
issue = Issue.new
|
||||||
|
issue.watcher_user_ids = ['1', '3']
|
||||||
|
assert issue.watched_by?(User.find(1))
|
||||||
|
end
|
||||||
|
|
||||||
def test_recipients
|
def test_recipients
|
||||||
@issue.watchers.delete_all
|
@issue.watchers.delete_all
|
||||||
@issue.reload
|
@issue.reload
|
||||||
|
@ -50,9 +50,9 @@ module Redmine
|
|||||||
watching ? add_watcher(user) : remove_watcher(user)
|
watching ? add_watcher(user) : remove_watcher(user)
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns true if object is watched by user
|
# Returns true if object is watched by +user+
|
||||||
def watched_by?(user)
|
def watched_by?(user)
|
||||||
!!(user && self.watchers.detect {|w| w.user_id == user.id })
|
!!(user && self.watcher_user_ids.detect {|uid| uid == user.id })
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns an array of watchers' email addresses
|
# Returns an array of watchers' email addresses
|
||||||
|
Loading…
x
Reference in New Issue
Block a user