Role-based issue custom field visibility (#5037).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12012 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2013-07-13 09:20:11 +00:00
parent a74d55edd9
commit 628d05629b
41 changed files with 953 additions and 121 deletions
+22
View File
@@ -1201,6 +1201,28 @@ class QueryTest < ActiveSupport::TestCase
assert ! query.available_filters["assigned_to_role"][:values].include?(['Anonymous','5'])
end
def test_available_filters_should_include_custom_field_according_to_user_visibility
visible_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => true)
hidden_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => false, :role_ids => [1])
with_current_user User.find(3) do
query = IssueQuery.new
assert_include "cf_#{visible_field.id}", query.available_filters.keys
assert_not_include "cf_#{hidden_field.id}", query.available_filters.keys
end
end
def test_available_columns_should_include_custom_field_according_to_user_visibility
visible_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => true)
hidden_field = IssueCustomField.generate!(:is_for_all => true, :is_filter => true, :visible => false, :role_ids => [1])
with_current_user User.find(3) do
query = IssueQuery.new
assert_include :"cf_#{visible_field.id}", query.available_columns.map(&:name)
assert_not_include :"cf_#{hidden_field.id}", query.available_columns.map(&:name)
end
end
context "#statement" do
context "with 'member_of_group' filter" do
setup do