mirror of
https://github.com/meineerde/redmine.git
synced 2026-01-31 11:37:14 +00:00
Cannot add a user to a group if the group is a member without roles in a certain project (#38443).
Patch by Go MAEDA. git-svn-id: https://svn.redmine.org/redmine/trunk@22180 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
2d7d01e633
commit
a48700d58b
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user