[#2863] Override the deliverable rows from the budget plugin to show
labor budget spent. * Added FixedDeliverable#labor_budget_spent * Added HourlyDeliverable#labor_budget_spent * Added an _deliverable_summary_row.html.erb with the new method
This commit is contained in:
1 parent
10858bbd63
commit
5afafaa187
6 files changed
+138
-2
No files matched your search
@@ -0,0 +1,32 @@
|
||||
require_dependency 'deliverable'
|
||||
require_dependency 'fixed_deliverable'
|
||||
|
||||
module OverheadFixedDeliverablePatch
|
||||
def self.included(base)
|
||||
base.send(:include, InstanceMethods)
|
||||
|
||||
base.class_eval do
|
||||
unloadable
|
||||
end
|
||||
end
|
||||
|
||||
module InstanceMethods
|
||||
# Amount of "billable" money spent on issues. Similar to +spent+
|
||||
# but only billable time.
|
||||
def labor_budget_spent
|
||||
return 0.0 if self.fixed_cost.nil?
|
||||
return self.fixed_cost unless self.issues.size > 0
|
||||
|
||||
# Get all timelogs assigned
|
||||
time_logs = self.issues.collect(&:time_entries).flatten
|
||||
|
||||
return fixed_cost + time_logs.collect {|time_log|
|
||||
if time_log.billable?
|
||||
time_log.cost
|
||||
else
|
||||
0.0
|
||||
end
|
||||
}.sum
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in new issue
Block a user