summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2015-06-09 00:45:53 -0700
committerelijah <elijah@riseup.net>2015-06-09 00:45:53 -0700
commit7133631f32cb7d179cac65fb4a94a7dec44c9246 (patch)
treec15f3a962d6e378a7ca8f989e161a4ec50c80a16
parent6e6402c6063f74db04646bba168d4994536e0e39 (diff)
fix total calculation
-rw-r--r--app/helpers/version_reports_helper.rb19
1 files 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