diff --git a/app/helpers/contracts_helper.rb b/app/helpers/contracts_helper.rb index 2c45bc2..fe931a6 100644 --- a/app/helpers/contracts_helper.rb +++ b/app/helpers/contracts_helper.rb @@ -84,6 +84,14 @@ module ContractsHelper number_with_precision(value, :precision => Deliverable::ViewPrecision, :delimiter => '') end + def format_deliverable_value_fields_as_dollar_or_percent(value) + if value.to_s.match('%') + h(value) + else # currency or straight amount + number_to_currency(value.to_s.gsub('$',''), :precision => Deliverable::ViewPrecision, :delimiter => '', :unit => '$') + end + end + def format_value_field_for_contracts(value) number_with_precision(value, :precision => Contract::ViewPrecision, :delimiter => ',') end diff --git a/app/views/deliverables/_finance_form.html.erb b/app/views/deliverables/_finance_form.html.erb index 5077651..17c5ca1 100644 --- a/app/views/deliverables/_finance_form.html.erb +++ b/app/views/deliverables/_finance_form.html.erb @@ -77,13 +77,13 @@ <%= fixed_budget.label(:budget, l(:field_budget), :style => 'display: none;')%> <%# Hidden label :| %> <%= l(:text_dollar_sign) %>
- <%= fixed_budget.text_field(:budget, :class => 'financial') %> + <%= fixed_budget.text_field(:budget, :value => format_deliverable_value_fields(fixed_budget.object.budget), :class => 'financial') %><%= fixed_budget.label(:markup, l(:field_markup), :style => 'display: none;')%> <%# Hidden label :| %> <%= l(:field_discount_hint) %>
- <%= fixed_budget.text_field(:markup, :class => 'financial') %> + <%= fixed_budget.text_field(:markup, :value => format_deliverable_value_fields_as_dollar_or_percent(fixed_budget.object.markup), :class => 'financial') %><%= fixed_budget.label(:paid, l(:field_paid), :style => 'display: none;') %><%# Hidden label :| %> diff --git a/test/integration/deliverables_edit_test.rb b/test/integration/deliverables_edit_test.rb index c7fd8fc..8511a38 100644 --- a/test/integration/deliverables_edit_test.rb +++ b/test/integration/deliverables_edit_test.rb @@ -182,7 +182,7 @@ class DeliverablesEditTest < ActionController::IntegrationTest else assert_equal 100, fixed_budget.budget - assert_equal '0', fixed_budget.markup + assert_equal '$0.00', fixed_budget.markup end end