From 084ab1dd96675f8368a3ca9693d50aa41d101f85 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Thu, 13 Oct 2011 11:16:24 -0700 Subject: [PATCH] [#6636] Add Users/Labor table to the deliverable finance report --- app/views/deliverables/_finances.html.erb | 43 +++++++++++++++++++ test/integration/deliverable_finances_test.rb | 19 +++++++- 2 files changed, 61 insertions(+), 1 deletion(-) diff --git a/app/views/deliverables/_finances.html.erb b/app/views/deliverables/_finances.html.erb index edaad78..d0a557d 100644 --- a/app/views/deliverables/_finances.html.erb +++ b/app/views/deliverables/_finances.html.erb @@ -112,3 +112,46 @@ <%# /div#activities %> + +
+

Users

+ + + + + + + + + + <% deliverable.users_with_billable_time.sort.each do |user| %> + + <% content_tag_for(:tr, user, :class => 'labor ' + cycle('even','')) do %> + + + + <% end %> + + <% end %> + + + + + + + +
<%= l(:field_labor) %><%= l(:field_cost) %><%= l(:field_hours) %>
+ <%= h(user.name) %> + + <%= number_to_currency(deliverable.spent_for_user(user, true), :precision => 0) %> + + <%= number_with_precision(deliverable.hours_spent_for_user(user, true), :precision => 0) %> +
+ Totals + + <%= number_to_currency(deliverable.labor_budget_spent, :precision => 0) %> + + <%= number_with_precision(deliverable.labor_hours_spent_total, :precision => 0) %> +
+ +
<%# /div.users %> diff --git a/test/integration/deliverable_finances_test.rb b/test/integration/deliverable_finances_test.rb index 89f6e33..9ae7aca 100644 --- a/test/integration/deliverable_finances_test.rb +++ b/test/integration/deliverable_finances_test.rb @@ -7,7 +7,7 @@ class DeliverableFinancesShowTest < ActionController::IntegrationTest configure_overhead_plugin @project = Project.generate!(:identifier => 'main').reload @contract = Contract.generate!(:project => @project, :billable_rate => 10) - @manager = User.generate! + @manager = User.generate!.reload @deliverable1 = RetainerDeliverable.spawn(:contract => @contract, :manager => @manager, :title => "Retainer Title", :start_date => '2010-01-01', :end_date => '2010-03-31') @deliverable1.labor_budgets << LaborBudget.spawn(:budget => 100, :hours => 10, :time_entry_activity => @billable_activity) @deliverable1.overhead_budgets << OverheadBudget.spawn(:budget => 200, :hours => 10) @@ -120,5 +120,22 @@ class DeliverableFinancesShowTest < ActionController::IntegrationTest end end + should "render the labor finances for each user for the deliverable" do + assert_select "table#deliverable-labor-users" do + assert_select "tr" do + assert_select "td.labor", :text => /#{@manager.name}/ + assert_select "td.amount-cost.labor", :text => /\$200/ + assert_select "td.time-cost.labor", :text => /2/ + end + + assert_select "tr.summary-row" do + assert_select "td.labor", :text => /Totals/ + assert_select "td.amount-cost.labor", :text => /\$200/ + assert_select "td.time-cost.labor", :text => /2/ + end + + end + end + end end