diff --git a/app/models/deliverable.rb b/app/models/deliverable.rb index 0a117da..2e018c2 100644 --- a/app/models/deliverable.rb +++ b/app/models/deliverable.rb @@ -274,6 +274,10 @@ class Deliverable < ActiveRecord::Base project.activities.select {|activity| activity.billable? } end + def non_billable_time_entry_activities + project.activities.reject {|activity| activity.billable? } + end + # Total amount spent ($) for a given activity def spent_for_activity(activity) issues.all.inject(0.0) do |all_issues_total, issue| diff --git a/app/views/deliverables/_finances.html.erb b/app/views/deliverables/_finances.html.erb index b518fa7..a6cc5ec 100644 --- a/app/views/deliverables/_finances.html.erb +++ b/app/views/deliverables/_finances.html.erb @@ -59,3 +59,53 @@ + +
| <%= l(:field_overhead) %> | +<%= l(:field_cost) %> | +<%= l(:field_hours) %> | + + + + <% deliverable.non_billable_time_entry_activities.each do |activity| %> + + <% content_tag_for(:tr, activity, :class => 'overhead ' + cycle('even','')) do %> ++ <%= h(activity.name) %> + | ++ <%= number_to_currency(deliverable.spent_for_activity(activity), :precision => 0) %> + | ++ <%= number_to_currency(deliverable.budget_for_activity(activity), :precision => 0) %> + | ++ <%= number_with_precision(deliverable.hours_spent_for_activity(activity), :precision => 0) %> + | ++ <%= number_with_precision(deliverable.hours_budget_for_activity(activity), :precision => 0) %> + | + <% end %> + + <% end %> +
|---|---|---|---|---|
| + Totals + | ++ <%= number_to_currency(deliverable.overhead_spent, :precision => 0) %> + | ++ <%= number_to_currency(deliverable.overhead_budget_total, :precision => 0) %> + | ++ <%= number_with_precision(deliverable.overhead_hours_spent_total, :precision => 0) %> + | ++ <%= number_with_precision(deliverable.overhead_budget_hours, :precision => 0) %> + | +