From 9f7901e3642bbeb2bf3b5feaefaa10157b111732 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Mon, 14 Jul 2014 16:20:44 +0000 Subject: [PATCH] Fixed that query roles are not copied when copying a project (#17202). git-svn-id: http://svn.redmine.org/redmine/trunk@13329 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/project.rb | 1 + test/object_helpers.rb | 8 ++++++++ test/unit/project_copy_test.rb | 11 +++++++++++ 3 files changed, 20 insertions(+) diff --git a/app/models/project.rb b/app/models/project.rb index 6ced34565..a146a344a 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -952,6 +952,7 @@ class Project < ActiveRecord::Base new_query.sort_criteria = query.sort_criteria if query.sort_criteria new_query.project = self new_query.user_id = query.user_id + new_query.role_ids = query.role_ids if query.visibility == IssueQuery::VISIBILITY_ROLES self.queries << new_query end end diff --git a/test/object_helpers.rb b/test/object_helpers.rb index 1f58baf9e..4e4a9fba3 100644 --- a/test/object_helpers.rb +++ b/test/object_helpers.rb @@ -178,6 +178,14 @@ module ObjectHelpers changeset.save! changeset end + + def Query.generate!(attributes={}) + query = new(attributes) + query.name = "Generated query" if query.name.blank? + query.user ||= User.find(1) + query.save! + query + end end module IssueObjectHelpers diff --git a/test/unit/project_copy_test.rb b/test/unit/project_copy_test.rb index 238417a2d..2f1f6ee59 100644 --- a/test/unit/project_copy_test.rb +++ b/test/unit/project_copy_test.rb @@ -222,6 +222,17 @@ class ProjectCopyTest < ActiveSupport::TestCase assert_equal @source_project.queries.map(&:user_id).sort, @project.queries.map(&:user_id).sort end + def test_copy_should_copy_queries_roles_visibility + source = Project.generate! + target = Project.new(:name => 'Copy Test', :identifier => 'copy-test') + IssueQuery.generate!(:project => source, :visibility => Query::VISIBILITY_ROLES, :roles => Role.where(:id => [1, 3]).to_a) + + assert target.copy(source) + assert_equal 1, target.queries.size + query = target.queries.first + assert_equal [1, 3], query.role_ids.sort + end + test "#copy should copy versions" do @source_project.versions << Version.generate! @source_project.versions << Version.generate! -- 2.39.5