diff options
author | Valery Sizov <valery@gitlab.com> | 2017-05-05 13:41:35 +0300 |
---|---|---|
committer | Valery Sizov <valery@gitlab.com> | 2017-05-05 15:30:19 +0300 |
commit | 34be1835af2913c86bc468131e6bcbd530daf48d (patch) | |
tree | 67122da950643c4f91791bfb007636c16db774c3 /app/services/members | |
parent | c4094b7ec4699811f928699ad67c90e1686da6e2 (diff) |
[Multiple issue assignee] Fix a number of specs
Diffstat (limited to 'app/services/members')
-rw-r--r-- | app/services/members/authorized_destroy_service.rb | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/app/services/members/authorized_destroy_service.rb b/app/services/members/authorized_destroy_service.rb index 1711be7211c..a85b9465c84 100644 --- a/app/services/members/authorized_destroy_service.rb +++ b/app/services/members/authorized_destroy_service.rb @@ -26,15 +26,22 @@ module Members def unassign_issues_and_merge_requests(member) if member.is_a?(GroupMember) - IssuesFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). - execute. - update_all(assignee_id: nil) + issue_ids = IssuesFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). + execute.pluck(:id) + + IssueAssignee.destroy_all(issue_id: issue_ids, user_id: member.user_id) + MergeRequestsFinder.new(user, group_id: member.source_id, assignee_id: member.user_id). execute. update_all(assignee_id: nil) else project = member.source - project.issues.opened.assigned_to(member.user).update_all(assignee_id: nil) + + IssueAssignee.destroy_all( + user_id: member.user_id, + issue_id: project.issues.opened.assigned_to(member.user).select(:id) + ) + project.merge_requests.opened.assigned_to(member.user).update_all(assignee_id: nil) member.user.update_cache_counts end |