summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsh McKenzie <amckenzie@gitlab.com>2018-05-04 17:24:44 +1000
committerAsh McKenzie <amckenzie@gitlab.com>2018-05-04 17:24:44 +1000
commit6185f6b9f8b9415e2c3ed9ab07716f1365589c2f (patch)
tree03828f9940ce154a780ad9b23be843a823513697
parent31fa96960f7d224a1da4ca1cf1520a657558567d (diff)
downloadgitlab-ce-ash.mckenzie/close-service-async-notifications-fix.tar.gz
Wrap async call in run_after_commit_or_nowash.mckenzie/close-service-async-notifications-fix
-rw-r--r--app/services/issues/close_service.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/app/services/issues/close_service.rb b/app/services/issues/close_service.rb
index 4a99367c575..000b7c41424 100644
--- a/app/services/issues/close_service.rb
+++ b/app/services/issues/close_service.rb
@@ -26,7 +26,7 @@ module Issues
issue.update(closed_by: current_user)
event_service.close_issue(issue, current_user)
create_note(issue, commit) if system_note
- notification_service.async.close_issue(issue, current_user) if notifications
+ notify_participants(issue) if notifications
todo_service.close_issue(issue, current_user)
execute_hooks(issue, 'close')
invalidate_cache_counts(issue, users: issue.assignees)
@@ -41,5 +41,11 @@ module Issues
def create_note(issue, current_commit)
SystemNoteService.change_status(issue, issue.project, current_user, issue.state, current_commit)
end
+
+ def notify_participants(issue)
+ issue.run_after_commit_or_now do
+ notification_service.async.close_issue(issue, current_user)
+ end
+ end
end
end