mirror of
https://github.com/redmine/redmine.git
synced 2026-03-20 03:12:02 +01:00
Merged r22180 from trunk to 5.0-stable (#38443).
git-svn-id: https://svn.redmine.org/redmine/branches/5.0-stable@22181 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user