diff --git a/app/models/query.rb b/app/models/query.rb index 28e1a6d..ad6a65e 100644 --- a/app/models/query.rb +++ b/app/models/query.rb @@ -510,7 +510,7 @@ class Query < ActiveRecord::Base # Returns the issue count def issue_count - Issue.count(:include => [:status, :project], :conditions => statement) + Issue.visible.count(:include => [:status, :project], :conditions => statement) rescue ::ActiveRecord::StatementInvalid => e raise StatementInvalid.new(e.message) end diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb index 328acc4..9cba0cd 100644 --- a/test/unit/query_test.rb +++ b/test/unit/query_test.rb @@ -471,7 +471,21 @@ class QueryTest < ActiveSupport::TestCase q.issues(:conditions => "foo = 1") end end - + + def test_issue_count + q = Query.new(:name => '_') + issue_count = q.issue_count + assert_equal q.issues.size, issue_count + end + + def test_issue_count_with_archived_issues + p = Project.generate!( :status => Project::STATUS_ARCHIVED ) + i = Issue.generate!( :project => p, :tracker => p.trackers.first ) + assert !i.visible? + + test_issue_count + end + def test_issue_count_by_association_group q = Query.new(:name => '_', :group_by => 'assigned_to') count_by_group = q.issue_count_by_group