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
test/unit
vendor/plugins/acts_as_watchable/lib
|
@ -47,6 +47,12 @@ class WatcherTest < ActiveSupport::TestCase
|
|||
assert Issue.watched_by(@user).include?(@issue)
|
||||
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
|
||||
@issue.watchers.delete_all
|
||||
@issue.reload
|
||||
|
|
|
@ -50,9 +50,9 @@ module Redmine
|
|||
watching ? add_watcher(user) : remove_watcher(user)
|
||||
end
|
||||
|
||||
# Returns true if object is watched by user
|
||||
# Returns true if object is 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
|
||||
|
||||
# Returns an array of watchers' email addresses
|
||||
|
|
Loading…
Reference in New Issue