From c8a4bc73af3f07c46b06da8dc77b9c46c97867b7 Mon Sep 17 00:00:00 2001 From: Brad Beattie Date: Thu, 14 May 2009 13:04:30 -0700 Subject: [PATCH] Fixing total issues when a project has no descendants --- app/controllers/graphs_controller.rb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/app/controllers/graphs_controller.rb b/app/controllers/graphs_controller.rb index b537a54..94cedb3 100644 --- a/app/controllers/graphs_controller.rb +++ b/app/controllers/graphs_controller.rb @@ -105,7 +105,7 @@ class GraphsController < ApplicationController sql << " WHERE (%s)" % Project.allowed_to_condition(User.current, :view_issues) unless @project.nil? sql << " AND (project_id = #{@project.id}" - sql << " OR project_id IN (%s)" % @project.descendants.active.visible.collect { |p| p.id }.join(',') unless @project.descendants.active.visible.nil? + sql << " OR project_id IN (%s)" % @project.descendants.active.visible.collect { |p| p.id }.join(',') unless @project.descendants.active.visible.empty? sql << " )" end sql << " GROUP BY project_id" @@ -261,8 +261,14 @@ class GraphsController < ApplicationController def find_open_issues find_optional_project - @issues = Issue.visible.find(:all, :include => [:status], :conditions => ["#{IssueStatus.table_name}.is_closed=?", false]) if @project.nil? - @issues = @project.issues.collect { |issue| issue unless issue.closed? }.compact unless @project.nil? + if !@project.nil? + ids = [@project.id] + ids += @project.descendants.active.visible.collect(&:id) + @issues = Issue.visible.find(:all, :include => [:status], :conditions => ["#{Project.table_name}.id IN (?) AND #{IssueStatus.table_name}.is_closed=?", ids.join(','), false]) + params[:asdfadfasdf] = @issues + else + @issues = Issue.visible.find(:all, :include => [:status], :conditions => ["#{IssueStatus.table_name}.is_closed=?", false]) + end rescue ActiveRecord::RecordNotFound render_404 end