|
|
@@ -53,6 +53,7 @@ module TimelogHelper |
|
|
|
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 |
|
|
@@ -66,6 +67,9 @@ module TimelogHelper |
|
|
|
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| |
|
|
@@ -79,6 +83,8 @@ module TimelogHelper |
|
|
|
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 |