1
0
mirror of https://github.com/meineerde/redmine.git synced 2026-01-31 19:47:14 +00:00

Roles of a project member should not be made empty (#37166).

Patch by Mizuki ISHIKAWA.


git-svn-id: https://svn.redmine.org/redmine/trunk@22182 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2023-04-13 23:34:23 +00:00
parent a48700d58b
commit 798cd2d566
2 changed files with 11 additions and 1 deletions

View File

@ -52,7 +52,7 @@ class MemberRole < ActiveRecord::Base
private
def remove_member_if_empty
if @member_removal != false && member.roles.empty?
if @member_removal != false && member.roles.reload.empty?
member.destroy
end
end

View File

@ -225,4 +225,14 @@ class MemberTest < ActiveSupport::TestCase
)
end
end
def test_destroy_member_when_member_role_is_empty
member = Member.find(1)
assert_difference 'Member.count', -1 do
member.role_ids = [] # Destroy roles associated with member
end
assert member.destroyed?
assert_raise(ActiveRecord::RecordNotFound) { Member.find(1) }
end
end