kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.6 KiB
42 lines
1.6 KiB
15 years ago
|
require_dependency 'issues_controller'
|
||
|
|
||
|
module CostsIssuesControllerPatch
|
||
15 years ago
|
def self.included(base) # :nodoc:
|
||
|
base.send(:include, InstanceMethods)
|
||
|
|
||
|
base.class_eval do
|
||
15 years ago
|
alias_method_chain :show, :entries
|
||
15 years ago
|
end
|
||
|
end
|
||
|
|
||
|
module InstanceMethods
|
||
|
# Authorize the user for the requested action
|
||
|
def show_with_entries
|
||
15 years ago
|
@cost_entries = @issue.cost_entries.visible(User.current, @issue.project)
|
||
|
# CostEntry.visible_by(User.current) do
|
||
|
# @cost_entries += CostEntry.all(:include => [:user, :project], :conditions => {:issue_id => @issue.id})
|
||
|
# end
|
||
15 years ago
|
cost_entries_with_rate = @cost_entries.select{|c| c.costs_visible_by?(User.current)}
|
||
|
@material_costs = cost_entries_with_rate.blank? ? nil : cost_entries_with_rate.collect(&:real_costs).sum
|
||
|
|
||
15 years ago
|
@time_entries = @issue.time_entries.visible(User.current, @issue.project)
|
||
15 years ago
|
# TimeEntry.visible_by(User.current) do
|
||
|
# @time_entries += TimeEntry.all(:include => [:user, :project], :conditions => {:issue_id => @issue.id})
|
||
|
# end
|
||
15 years ago
|
time_entries_with_rate = @time_entries.select{|c| c.costs_visible_by?(User.current)}
|
||
|
@labor_costs = time_entries_with_rate.blank? ? nil : time_entries_with_rate.collect(&:real_costs).sum
|
||
|
|
||
|
unless @material_costs.nil? && @labor_costs.nil?:
|
||
|
@overall_costs = 0
|
||
|
@overall_costs += @material_costs unless @material_costs.nil?
|
||
|
@overall_costs += @labor_costs unless @labor_costs.nil?
|
||
|
else
|
||
|
@overall_costs = nil
|
||
|
end
|
||
|
|
||
|
show_without_entries
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
15 years ago
|
IssuesController.send(:include, CostsIssuesControllerPatch)
|