Ability to load relations on /issues API (#7366).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@6313 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2011-07-24 15:34:41 +00:00
parent 49900051ea
commit 521eaa79cb
4 changed files with 40 additions and 3 deletions
+11 -1
View File
@@ -508,7 +508,17 @@ class Issue < ActiveRecord::Base
end
def relations
(relations_from + relations_to).sort
@relations ||= (relations_from + relations_to).sort
end
# Preloads relations for a collection of issues
def self.load_relations(issues)
if issues.any?
relations = IssueRelation.all(:conditions => ["issue_from_id IN (:ids) OR issue_to_id IN (:ids)", {:ids => issues.map(&:id)}])
issues.each do |issue|
issue.instance_variable_set "@relations", relations.select {|r| r.issue_from_id == issue.id || r.issue_to_id == issue.id}
end
end
end
# Finds an issue relation given its id.