Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValery Sizov <valery@gitlab.com>2017-05-05 13:41:35 +0300
committerValery Sizov <valery@gitlab.com>2017-05-05 15:30:19 +0300
commit34be1835af2913c86bc468131e6bcbd530daf48d (patch)
tree67122da950643c4f91791bfb007636c16db774c3 /app/services/members
parentc4094b7ec4699811f928699ad67c90e1686da6e2 (diff)
[Multiple issue assignee] Fix a number of specs
Diffstat (limited to 'app/services/members')
-rw-r--r--app/services/members/authorized_destroy_service.rb15
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