diff --git a/app/helpers/contracts_helper.rb b/app/helpers/contracts_helper.rb index 24908b6..b50249e 100644 --- a/app/helpers/contracts_helper.rb +++ b/app/helpers/contracts_helper.rb @@ -55,11 +55,12 @@ module ContractsHelper spent_content = send(formatter, spent_value) total_content = send(formatter, total_value) - reverse_overage = spent_field.to_s.match(/profit/i) + # Show overages except for profit fields + overage_css_class = overage_class(spent_value, total_value) unless spent_field.to_s.match(/profit/i) show_field(object, spent_field, options.merge(:raw => true, :wrap_in_td => false)) do - content_tag(:td, h(spent_content), :class => "spent #{overage_class(spent_value, total_value, :reverse => reverse_overage)}") + + content_tag(:td, h(spent_content), :class => "spent #{overage_css_class}") + content_tag(:td, h(total_content), :class => 'budget') end end @@ -125,17 +126,11 @@ module ContractsHelper end # Overage occurs when spent is negative or spent is greater than budget - # - # :reverse - spent is reverse, it is overage when it's less than budget def overage?(spent, budget, options={}) return false unless spent && budget return true if spent < 0 - if options[:reverse] - spent.to_f < budget.to_f - else - spent.to_f > budget.to_f - end + spent.to_f > budget.to_f end def overage_class(spent, budget, options={}) diff --git a/app/views/deliverables/_details_row.html.erb b/app/views/deliverables/_details_row.html.erb index efd240c..10bcc4c 100644 --- a/app/views/deliverables/_details_row.html.erb +++ b/app/views/deliverables/_details_row.html.erb @@ -107,7 +107,7 @@ <%= l(:field_profit) %> - + <%= h(format_value_field_for_contracts(deliverable.profit_left(validated_period))) %> <%= h(format_value_field_for_contracts(deliverable.profit_budget(validated_period))) %> diff --git a/test/integration/contracts_show_test.rb b/test/integration/contracts_show_test.rb index b690c16..85995e1 100644 --- a/test/integration/contracts_show_test.rb +++ b/test/integration/contracts_show_test.rb @@ -481,17 +481,15 @@ class ContractsShowTest < ActionController::IntegrationTest visit_contract_page(@contract) # Overages on: - assert_select '.overage', :count => 14 + assert_select '.overage', :count => 12 assert_select '.contract-labor .overage', :count => 2 assert_select '.contract-overhead .overage', :count => 2 - assert_select '.contract-profit .overage' assert_select '.contract-estimated-hour.total .overage' assert_select '#deliverables .spent-amount.labor.overage' assert_select '#deliverables .spent-amount.overhead.overage' assert_select '#deliverables .labor_budget_spent.overage' assert_select '#deliverables .overhead_budget_spent.overage' - assert_select '#deliverables .profit_spent.overage' assert_select '#deliverables .labor_hours_spent .overage' assert_select '#deliverables .overhead_hours_spent .overage' assert_select '#deliverables .total_hours_spent .overage'