summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-08-19 04:31:18 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-08-19 04:31:18 +0000
commit102e845391137ce36dd8df8be30b20e3be3d9d23 (patch)
treefe73c6ccdc256110b41a8fcec4fd05a96ad07eb5
parent7bdf0ab72933fbf92d90796e122e3942dc7ce943 (diff)
downloadredmine-102e845391137ce36dd8df8be30b20e3be3d9d23.tar.gz
redmine-102e845391137ce36dd8df8be30b20e3be3d9d23.zip
Merged r3916 from trunk.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.0-stable@3966 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/models/query.rb2
-rw-r--r--test/unit/query_test.rb9
2 files changed, 10 insertions, 1 deletions
diff --git a/app/models/query.rb b/app/models/query.rb
index f697a721d..fd7aa3477 100644
--- a/app/models/query.rb
+++ b/app/models/query.rb
@@ -187,7 +187,7 @@ class Query < ActiveRecord::Base
if project
user_values += project.users.sort.collect{|s| [s.name, s.id.to_s] }
else
- project_ids = User.current.projects.collect(&:id)
+ project_ids = Project.all(:conditions => Project.visible_by(User.current)).collect(&:id)
if project_ids.any?
# members of the user's projects
user_values += User.active.find(:all, :conditions => ["#{User.table_name}.id IN (SELECT DISTINCT user_id FROM members WHERE project_id IN (?))", project_ids]).sort.collect{|s| [s.name, s.id.to_s] }
diff --git a/test/unit/query_test.rb b/test/unit/query_test.rb
index 26cba2a5e..4b11830e8 100644
--- a/test/unit/query_test.rb
+++ b/test/unit/query_test.rb
@@ -351,4 +351,13 @@ class QueryTest < ActiveSupport::TestCase
assert !q.editable_by?(manager)
assert !q.editable_by?(developer)
end
+
+ context "#available_filters" do
+ should "include users of visible projects in cross-project view" do
+ query = Query.new(:name => "_")
+ users = query.available_filters["assigned_to_id"]
+ assert_not_nil users
+ assert users[:values].map{|u|u[1]}.include?("3")
+ end
+ end
end