def entries_to_csv(entries)
ic = Iconv.new(l(:general_csv_encoding), 'UTF-8')
decimal_separator = l(:general_csv_decimal_separator)
+ custom_fields = TimeEntryCustomField.find(:all)
export = StringIO.new
CSV::Writer.generate(export, l(:general_csv_separator)) do |csv|
# csv header fields
l(:field_hours),
l(:field_comments)
]
+ # Export custom fields
+ headers += custom_fields.collect(&:name)
+
csv << headers.collect {|c| begin; ic.iconv(c.to_s); rescue; c.to_s; end }
# csv lines
entries.each do |entry|
entry.hours.to_s.gsub('.', decimal_separator),
entry.comments
]
+ fields += custom_fields.collect {|f| show_value(entry.custom_value_for(f)) }
+
csv << fields.collect {|c| begin; ic.iconv(c.to_s); rescue; c.to_s; end }
end
end