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
path: root/app
diff options
context:
space:
mode:
authorRobert Speicher <robert@gitlab.com>2015-11-17 21:28:09 +0300
committerRobert Speicher <rspeicher@gmail.com>2015-11-17 21:28:58 +0300
commitc9f032470116e0cda23e605a66eceaad928b3e02 (patch)
tree1e2e3eafcaf44003d55d52f0bc0d58bae3d87c50 /app
parent8a1cafeb9decf2738311ea45a15d8fef0489b7da (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.rb12
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)