diff options
author | Ash McKenzie <amckenzie@gitlab.com> | 2018-05-04 17:24:44 +1000 |
---|---|---|
committer | Ash McKenzie <amckenzie@gitlab.com> | 2018-05-04 17:24:44 +1000 |
commit | 6185f6b9f8b9415e2c3ed9ab07716f1365589c2f (patch) | |
tree | 03828f9940ce154a780ad9b23be843a823513697 | |
parent | 31fa96960f7d224a1da4ca1cf1520a657558567d (diff) | |
download | gitlab-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.rb | 8 |
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 |