Defect #38443 ยป 38443.patch
app/models/group.rb | ||
---|---|---|
80 | 80 |
def user_added(user) |
81 | 81 |
members.preload(:member_roles).each do |member| |
82 | 82 |
next if member.project_id.nil? |
83 |
# skip if the group is a member without roles in the project |
|
84 |
next if member.member_roles.empty? |
|
83 | 85 | |
84 | 86 |
user_member = |
85 | 87 |
Member.find_or_initialize_by(:project_id => member.project_id, :user_id => user.id) |
test/unit/group_test.rb | ||
---|---|---|
177 | 177 | |
178 | 178 |
assert_equal %w(A B), Group.sorted.to_a.map(&:name) |
179 | 179 |
end |
180 | ||
181 |
def test_user_added_should_not_fail_when_group_role_is_empty |
|
182 |
group = Group.find(11) |
|
183 |
project = Project.first |
|
184 |
user = User.find(9) |
|
185 | ||
186 |
m = Member.create!(:principal => group, :project => project, :role_ids => [1]) |
|
187 |
MemberRole.where(:member_id => m.id).delete_all |
|
188 | ||
189 |
assert_nothing_raised {group.users << user} |
|
190 |
assert group.users.include?(user) |
|
191 |
end |
|
180 | 192 |
end |