From 7133631f32cb7d179cac65fb4a94a7dec44c9246 Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 9 Jun 2015 00:45:53 -0700 Subject: fix total calculation --- app/helpers/version_reports_helper.rb | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/app/helpers/version_reports_helper.rb b/app/helpers/version_reports_helper.rb index a23fe54..bb6eda6 100644 --- a/app/helpers/version_reports_helper.rb +++ b/app/helpers/version_reports_helper.rb @@ -10,7 +10,9 @@ module VersionReportsHelper end def issue_time(issue) - l_hours(issue.total_spent_hours) if @show_time + if @show_time && issue.total_spent_hours > 0 + l_hours(issue.total_spent_hours) + end end def issue_money(issue, *options) @@ -18,7 +20,7 @@ module VersionReportsHelper amount = custom_price(issue) || hours_to_money(@version, issue.total_spent_hours) amount = amount.round if options.include?(:format) - "$#{amount}" + number_to_currency amount, :precision => 0 else amount end @@ -26,7 +28,7 @@ module VersionReportsHelper end def hours_to_money(version, hours) - @rate ||= (custom_field_value(version, :rate)||DEFAULT_REPORT_RATE).gsub(/[^0-9\.]/, '').to_f + @rate ||= to_float( custom_field_value(version, :rate) || DEFAULT_REPORT_RATE ) (hours||0) * @rate end @@ -63,7 +65,9 @@ module VersionReportsHelper end def custom_price(issue) - custom_field_value(issue, :price) + if value = custom_field_value(issue, :price) + to_float(value) + end end def report_header(version) @@ -86,8 +90,13 @@ module VersionReportsHelper def total_money(version, issues) if @show_money total = issues.sum {|issue| issue_money(issue)} - "$#{total}" + number_to_currency total, :precision => 0 end end + # drops currency in a string. + def to_float(string) + string.gsub(/[^0-9\.]/, '').to_f + end + end -- cgit v1.2.3