Mercurial > hg > soundsoftware-site
comparison app/models/journal.rb @ 1517:dffacf8a6908 redmine-2.5
Update to Redmine SVN revision 13367 on 2.5-stable branch
author | Chris Cannam |
---|---|
date | Tue, 09 Sep 2014 09:29:00 +0100 |
parents | e248c7af89ec |
children |
comparison
equal
deleted
inserted
replaced
1516:b450a9d58aed | 1517:dffacf8a6908 |
---|---|
146 | 146 |
147 # Sets @custom_field instance variable on journals details using a single query | 147 # Sets @custom_field instance variable on journals details using a single query |
148 def self.preload_journals_details_custom_fields(journals) | 148 def self.preload_journals_details_custom_fields(journals) |
149 field_ids = journals.map(&:details).flatten.select {|d| d.property == 'cf'}.map(&:prop_key).uniq | 149 field_ids = journals.map(&:details).flatten.select {|d| d.property == 'cf'}.map(&:prop_key).uniq |
150 if field_ids.any? | 150 if field_ids.any? |
151 fields_by_id = CustomField.find_all_by_id(field_ids).inject({}) {|h, f| h[f.id] = f; h} | 151 fields_by_id = CustomField.where(:id => field_ids).inject({}) {|h, f| h[f.id] = f; h} |
152 journals.each do |journal| | 152 journals.each do |journal| |
153 journal.details.each do |detail| | 153 journal.details.each do |detail| |
154 if detail.property == 'cf' | 154 if detail.property == 'cf' |
155 detail.instance_variable_set "@custom_field", fields_by_id[detail.prop_key.to_i] | 155 detail.instance_variable_set "@custom_field", fields_by_id[detail.prop_key.to_i] |
156 end | 156 end |