From e5dc94fe82cba5a8f099f8512e95144fa3a6aca1 Mon Sep 17 00:00:00 2001
From: Jean-Philippe Lang <jp_lang@yahoo.fr>
Date: Wed, 2 Dec 2009 19:17:42 +0000
Subject: [PATCH] Make use of #watched_by? in issue form.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3114 e93f8b46-1217-0410-a6f0-8f06a7374b81
---
 app/views/issues/_form.rhtml                              | 2 +-
 vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/app/views/issues/_form.rhtml b/app/views/issues/_form.rhtml
index 5337b51be..032d08205 100644
--- a/app/views/issues/_form.rhtml
+++ b/app/views/issues/_form.rhtml
@@ -23,7 +23,7 @@
 <% if @issue.new_record? && User.current.allowed_to?(:add_issue_watchers, @project) -%>
 <p><label><%= l(:label_issue_watchers) %></label>
 <% @issue.project.users.sort.each do |user| -%>
-<label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]', user.id, @issue.watcher_user_ids.include?(user.id) %> <%=h user %></label>
+<label class="floating"><%= check_box_tag 'issue[watcher_user_ids][]', user.id, @issue.watched_by?(user) %> <%=h user %></label>
 <% end -%>
 </p>
 <% end %>
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 3d0de0dca..977ab4fc7 100644
--- a/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb
+++ b/vendor/plugins/acts_as_watchable/lib/acts_as_watchable.rb
@@ -46,10 +46,9 @@ module Redmine
           watching ? add_watcher(user) : remove_watcher(user)
         end
         
-        # Returns if object is watched by user
+        # Returns true if object is watched by user
         def watched_by?(user)
-          !self.watchers.find(:first,
-                              :conditions => ["#{Watcher.table_name}.user_id = ?", user.id]).nil?
+          !!(user && self.watchers.detect {|w| w.user_id == user.id })
         end
         
         # Returns an array of watchers' email addresses
-- 
GitLab