Defect #8368 » timelog_helper.patch
| redmine/app/helpers/timelog_helper.rb 2011-05-17 09:12:48.182807069 +0200 | ||
|---|---|---|
| 139 | 139 |
end |
| 140 | 140 |
|
| 141 | 141 |
def report_to_csv(criterias, periods, hours) |
| 142 |
decimal_separator = l(:general_csv_decimal_separator) |
|
| 143 | ||
| 142 | 144 |
export = FCSV.generate(:col_sep => l(:general_csv_separator)) do |csv| |
| 143 | 145 |
# Column headers |
| 144 | 146 |
headers = criterias.collect {|criteria| l(@available_criterias[criteria][:label]) }
|
| ... | ... | |
| 153 | 155 |
periods.each do |period| |
| 154 | 156 |
sum = sum_hours(select_hours(hours, @columns, period.to_s)) |
| 155 | 157 |
total += sum |
| 156 |
row << (sum > 0 ? "%.2f" % sum : '')
|
|
| 158 |
row << (sum > 0 ? ("%.2f" % sum).gsub('.',decimal_separator) : '')
|
|
| 157 | 159 |
end |
| 158 |
row << "%.2f" %total
|
|
| 160 |
row << ("%.2f" %total).gsub('.',decimal_separator)
|
|
| 159 | 161 |
csv << row |
| 160 | 162 |
end |
| 161 | 163 |
export |
| 162 | 164 |
end |
| 163 | 165 |
|
| 164 | 166 |
def report_criteria_to_csv(csv, criterias, periods, hours, level=0) |
| 167 |
decimal_separator = l(:general_csv_decimal_separator) |
|
| 168 |
|
|
| 165 | 169 |
hours.collect {|h| h[criterias[level]].to_s}.uniq.each do |value|
|
| 166 | 170 |
hours_for_value = select_hours(hours, criterias[level], value) |
| 167 | 171 |
next if hours_for_value.empty? |
| ... | ... | |
| 172 | 176 |
periods.each do |period| |
| 173 | 177 |
sum = sum_hours(select_hours(hours_for_value, @columns, period.to_s)) |
| 174 | 178 |
total += sum |
| 175 |
row << (sum > 0 ? "%.2f" % sum : '')
|
|
| 179 |
row << (sum > 0 ? ("%.2f" % sum).gsub('.',decimal_separator) : '')
|
|
| 176 | 180 |
end |
| 177 |
row << "%.2f" %total
|
|
| 181 |
row << ("%.2f" %total).gsub('.',decimal_separator)
|
|
| 178 | 182 |
csv << row |
| 179 | 183 |
|
| 180 | 184 |
if criterias.length > level + 1 |