Files
redmine_overhead/lib/overhead_issue_patch.rb
Eric Davis ea1c466134 [#2844] Added an API to get the total number of billable and overhead hours.
* Added Issue#billable_time_spent
* Added Issue#overhead_time_spent
* Added specs
2009-08-04 15:37:39 -07:00

39 lines
823 B
Ruby

require_dependency 'issue'
module OverheadIssuePatch
def self.included(base)
base.send(:include, InstanceMethods)
base.class_eval do
unloadable
end
end
module InstanceMethods
def billable_time_spent
time_entry_hours_based_on_billable_flag(true)
end
def overhead_time_spent
time_entry_hours_based_on_billable_flag(false)
end
private
# Totals time_entries that are billable (true) or overhead (false)
# and returns the rounded value
def time_entry_hours_based_on_billable_flag(billable_flag=true)
time = time_entries.inject(0.0) {|sum, time_entry|
sum += time_entry.hours if time_entry.billable? == billable_flag
sum
}
if time > 0
return time.round(1)
else
return 0
end
end
end
end