diff --git a/app/models/contract.rb b/app/models/contract.rb index c121369..70cb6d4 100644 --- a/app/models/contract.rb +++ b/app/models/contract.rb @@ -125,15 +125,10 @@ class Contract < ActiveRecord::Base end def orphaned_time - cost_of_time_without_issue = project.time_entries.all(:conditions => {:issue_id => nil}).inject(0) do |total, time_entry| + @orphaned_time ||= project.time_entries.all(:include => [:issue => :deliverable], + :conditions => "#{Issue.table_name}.deliverable_id IS NULL OR #{TimeEntry.table_name}.issue_id IS NULL").inject(0) do |total, time_entry| total += time_entry.cost end - - cost_of_time_without_deliverable = project.issues.all(:include => 'time_entries', :conditions => {:deliverable_id => nil}).collect(&:time_entries).flatten.inject(0) do |total, time_entry| - total += time_entry.cost - end - - cost_of_time_without_issue + cost_of_time_without_deliverable end def to_s