Explorar el Código

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
tags/5.1.0
Go MAEDA hace 1 año
padre
commit
a48700d58b
Se han modificado 2 ficheros con 14 adiciones y 0 borrados
  1. 2
    0
      app/models/group.rb
  2. 12
    0
      test/unit/group_test.rb

+ 2
- 0
app/models/group.rb Ver fichero

@@ -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)

+ 12
- 0
test/unit/group_test.rb Ver fichero

@@ -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

Cargando…
Cancelar
Guardar