From a79e0fa5f63c9078641d52a3cb5de50977f8a7e8 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Sun, 27 Nov 2011 12:14:20 +0000 Subject: [PATCH] fix csv decimal separator of time entry csv (#8368) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contributed by Francisco José Martínez. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7950 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/helpers/timelog_helper.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/helpers/timelog_helper.rb b/app/helpers/timelog_helper.rb index c5559db25..0467acc21 100644 --- a/app/helpers/timelog_helper.rb +++ b/app/helpers/timelog_helper.rb @@ -142,6 +142,7 @@ module TimelogHelper end def report_to_csv(criterias, periods, hours) + decimal_separator = l(:general_csv_decimal_separator) export = FCSV.generate(:col_sep => l(:general_csv_separator)) do |csv| # Column headers headers = criterias.collect {|criteria| l(@available_criterias[criteria][:label]) } @@ -159,15 +160,16 @@ module TimelogHelper periods.each do |period| sum = sum_hours(select_hours(hours, @columns, period.to_s)) total += sum - row << (sum > 0 ? "%.2f" % sum : '') + row << (sum > 0 ? ("%.2f" % sum).gsub('.',decimal_separator) : '') end - row << "%.2f" %total + row << ("%.2f" % total).gsub('.',decimal_separator) csv << row end export end def report_criteria_to_csv(csv, criterias, periods, hours, level=0) + decimal_separator = l(:general_csv_decimal_separator) hours.collect {|h| h[criterias[level]].to_s}.uniq.each do |value| hours_for_value = select_hours(hours, criterias[level], value) next if hours_for_value.empty? @@ -180,11 +182,10 @@ module TimelogHelper periods.each do |period| sum = sum_hours(select_hours(hours_for_value, @columns, period.to_s)) total += sum - row << (sum > 0 ? "%.2f" % sum : '') + row << (sum > 0 ? ("%.2f" % sum).gsub('.',decimal_separator) : '') end - row << "%.2f" %total + row << ("%.2f" % total).gsub('.',decimal_separator) csv << row - if criterias.length > level + 1 report_criteria_to_csv(csv, criterias, periods, hours_for_value, level + 1) end