Adds named scopes to replace custom finders.

* Adds watched_by class method in ActsAsWatchable
* Adds Issue#recently_updated, Issue#with_limit and Issue#on_active_project

  #2482

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3557 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Eric Davis
2010-03-10 05:10:43 +00:00
parent cfa1f0c231
commit 22c1e2b8cf
4 changed files with 34 additions and 16 deletions
+5 -8
View File
@@ -15,6 +15,10 @@ module Redmine
has_many :watchers, :as => :watchable, :dependent => :delete_all
has_many :watcher_users, :through => :watchers, :source => :user
named_scope :watched_by, lambda { |user_id|
{ :include => :watchers,
:conditions => ["#{Watcher.table_name}.user_id = ?", user_id] }
}
attr_protected :watcher_ids, :watcher_user_ids
end
end
@@ -60,14 +64,7 @@ module Redmine
notified.collect(&:mail).compact
end
module ClassMethods
# Returns the objects that are watched by user
def watched_by(user)
find(:all,
:include => :watchers,
:conditions => ["#{Watcher.table_name}.user_id = ?", user.id])
end
end
module ClassMethods; end
end
end
end