summaryrefslogtreecommitdiff
path: root/app/helpers/version_reports_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/version_reports_helper.rb')
-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