Patch by Go MAEDA. git-svn-id: https://svn.redmine.org/redmine/trunk@22180 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/5.1.0
@@ -80,6 +80,8 @@ class Group < Principal | |||
def user_added(user) | |||
members.preload(:member_roles).each do |member| | |||
next if member.project_id.nil? | |||
# skip if the group is a member without roles in the project | |||
next if member.member_roles.empty? | |||
user_member = | |||
Member.find_or_initialize_by(:project_id => member.project_id, :user_id => user.id) |
@@ -177,4 +177,16 @@ class GroupTest < ActiveSupport::TestCase | |||
assert_equal %w(A B), Group.sorted.to_a.map(&:name) | |||
end | |||
def test_user_added_should_not_fail_when_group_role_is_empty | |||
group = Group.find(11) | |||
project = Project.first | |||
user = User.find(9) | |||
m = Member.create!(:principal => group, :project => project, :role_ids => [1]) | |||
MemberRole.where(:member_id => m.id).delete_all | |||
assert_nothing_raised {group.users << user} | |||
assert group.users.include?(user) | |||
end | |||
end |