mirror of
https://github.com/redmine/redmine.git
synced 2025-11-08 14:26:04 +01:00
Role#copy_from should copy managed roles.
git-svn-id: http://svn.redmine.org/redmine/trunk@15913 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -109,6 +109,7 @@ class Role < ActiveRecord::Base
|
|||||||
role = arg.is_a?(Role) ? arg : Role.find_by_id(arg.to_s)
|
role = arg.is_a?(Role) ? arg : Role.find_by_id(arg.to_s)
|
||||||
self.attributes = role.attributes.dup.except("id", "name", "position", "builtin", "permissions")
|
self.attributes = role.attributes.dup.except("id", "name", "position", "builtin", "permissions")
|
||||||
self.permissions = role.permissions.dup
|
self.permissions = role.permissions.dup
|
||||||
|
self.managed_role_ids = role.managed_role_ids.dup
|
||||||
self
|
self
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ class RolesControllerTest < Redmine::ControllerTest
|
|||||||
assert_response 302
|
assert_response 302
|
||||||
end
|
end
|
||||||
assert_equal false, role.all_roles_managed
|
assert_equal false, role.all_roles_managed
|
||||||
assert_equal [2, 3], role.managed_role_ids
|
assert_equal [2, 3], role.managed_role_ids.sort
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_edit
|
def test_edit
|
||||||
|
|||||||
@@ -45,6 +45,13 @@ class RoleTest < ActiveSupport::TestCase
|
|||||||
assert copy.save
|
assert copy.save
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_copy_from_should_copy_managed_roles
|
||||||
|
orig = Role.generate!(:all_roles_managed => false, :managed_role_ids => [2, 3])
|
||||||
|
role = Role.new
|
||||||
|
role.copy_from orig
|
||||||
|
assert_equal [2, 3], role.managed_role_ids.sort
|
||||||
|
end
|
||||||
|
|
||||||
def test_copy_workflows
|
def test_copy_workflows
|
||||||
source = Role.find(1)
|
source = Role.find(1)
|
||||||
rule_count = source.workflow_rules.count
|
rule_count = source.workflow_rules.count
|
||||||
|
|||||||
Reference in New Issue
Block a user