]> source.dussan.org Git - redmine.git/commitdiff
Cannot create a custom query visibility is "to these roles only" (#20427).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 2 Aug 2015 07:02:44 +0000 (07:02 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 2 Aug 2015 07:02:44 +0000 (07:02 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@14472 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/queries_controller.rb
test/functional/queries_controller_test.rb

index e09790b9450dcbe06979a911dc5a864ebaf406b6..72c09de645ba79d3aebe9ba9b37c8a9f63fa8448 100644 (file)
@@ -108,6 +108,7 @@ private
     @query.name = params[:query] && params[:query][:name]
     if User.current.allowed_to?(:manage_public_queries, @query.project) || User.current.admin?
       @query.visibility = (params[:query] && params[:query][:visibility]) || IssueQuery::VISIBILITY_PRIVATE
+      @query.role_ids = params[:query] && params[:query][:role_ids]
     else
       @query.visibility = IssueQuery::VISIBILITY_PRIVATE
     end
index dd93de4bff5c16fab9045ae0f1cf2a09c178c911..68dac7aa3995f22a525826241741fd50cd343651 100644 (file)
@@ -92,6 +92,22 @@ class QueriesControllerTest < ActionController::TestCase
     assert q.valid?
   end
 
+  def test_create_project_roles_query
+    @request.session[:user_id] = 2
+    post :create,
+         :project_id => 'ecookbook',
+         :default_columns => '1',
+         :fields => ["status_id", "assigned_to_id"],
+         :operators => {"assigned_to_id" => "=", "status_id" => "o"},
+         :values => { "assigned_to_id" => ["1"], "status_id" => ["1"]},
+         :query => {"name" => "test_create_project_roles_query", "visibility" => "1", "role_ids" => ["1", "2", ""]}
+
+    q = Query.find_by_name('test_create_project_roles_query')
+    assert_redirected_to :controller => 'issues', :action => 'index', :project_id => 'ecookbook', :query_id => q
+    assert_equal Query::VISIBILITY_ROLES, q.visibility
+    assert_equal [1, 2], q.roles.ids.sort
+  end
+
   def test_create_global_private_query_with_custom_columns
     @request.session[:user_id] = 3
     post :create,