diff options
author | Robert Speicher <robert@gitlab.com> | 2015-11-17 21:28:09 +0300 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-11-17 21:28:58 +0300 |
commit | c9f032470116e0cda23e605a66eceaad928b3e02 (patch) | |
tree | 1e2e3eafcaf44003d55d52f0bc0d58bae3d87c50 /app | |
parent | 8a1cafeb9decf2738311ea45a15d8fef0489b7da (diff) |
Merge branch 'adamliesko/gitlab-ce-notification-upon-unassignment' into 'master'
Add notification to the former assignee upon unassignment
Replaces !1769
Fixes #3395
See merge request !1818
Diffstat (limited to 'app')
-rw-r--r-- | app/services/notification_service.rb | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/app/services/notification_service.rb b/app/services/notification_service.rb index a6b22348650..6ed6ebca587 100644 --- a/app/services/notification_service.rb +++ b/app/services/notification_service.rb @@ -361,11 +361,13 @@ class NotificationService end def reassign_resource_email(target, project, current_user, method) - assignee_id_was = previous_record(target, "assignee_id") - recipients = build_recipients(target, project, current_user) + previous_assignee_id = previous_record(target, "assignee_id") + previous_assignee = User.find_by(id: previous_assignee_id) if previous_assignee_id + + recipients = build_recipients(target, project, current_user, [previous_assignee]) recipients.each do |recipient| - mailer.send(method, recipient.id, target.id, assignee_id_was, current_user.id) + mailer.send(method, recipient.id, target.id, previous_assignee_id, current_user.id) end end @@ -377,9 +379,11 @@ class NotificationService end end - def build_recipients(target, project, current_user) + def build_recipients(target, project, current_user, extra_recipients = nil) recipients = target.participants(current_user) + recipients = recipients.concat(extra_recipients).compact.uniq if extra_recipients + recipients = add_project_watchers(recipients, project) recipients = reject_mention_users(recipients, project) recipients = reject_muted_users(recipients, project) |