fix csv decimal separator of time entry csv (#8368)
Contributed by Francisco José Martínez. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@7950 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
88231f460f
commit
a79e0fa5f6
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue