From 109d6de0c53dcf2d77d9daea8ab50947507f6ca2 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Wed, 8 Mar 2017 20:35:11 +0000 Subject: [PATCH] Adding a principal to 2 projects with member inheritance leads to an error (#25289). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch by Felix Schäfer. git-svn-id: http://svn.redmine.org/redmine/trunk@16381 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/member.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/member.rb b/app/models/member.rb index 06b90bf55..b19f78c6b 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -184,9 +184,11 @@ class Member < ActiveRecord::Base project_ids = Array.wrap(attributes[:project_ids] || attributes[:project_id]) role_ids = attributes[:role_ids] project_ids.each do |project_id| - members << Member.new(:principal => principal, :role_ids => role_ids, :project_id => project_id) + member = Member.find_or_new(project_id, principal) + member.role_ids |= role_ids + member.save + members << member end - principal.members << members end members end