Skip to content
Snippets Groups Projects
Commit f93c4dc0 authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Use notificationService for MR reassigned

parent 38ffb822
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -6,29 +6,20 @@ class MergeRequestObserver < ActiveRecord::Observer
end
 
def after_close(merge_request, transition)
send_reassigned_email(merge_request) if merge_request.is_being_reassigned?
Note.create_status_change_note(merge_request, current_user, merge_request.state)
end
 
def after_reopen(merge_request, transition)
send_reassigned_email(merge_request) if merge_request.is_being_reassigned?
Note.create_status_change_note(merge_request, current_user, merge_request.state)
end
 
def after_update(merge_request)
send_reassigned_email(merge_request) if merge_request.is_being_reassigned?
notification.reassigned_merge_request(merge_request) if merge_request.is_being_reassigned?
end
 
protected
 
def send_reassigned_email(merge_request)
recipients_ids = merge_request.assignee_id_was, merge_request.assignee_id
recipients_ids.delete current_user.id
recipients_ids.each do |recipient_id|
Notify.delay.reassigned_merge_request_email(recipient_id, merge_request.id, merge_request.assignee_id_was)
end
def notification
NotificationService.new
end
end
Loading
Loading
@@ -33,8 +33,8 @@ class NotificationService
 
# When we reassign an issue we should send next emails:
#
# * issue author if his notification level is not Disabled
# * issue assignee if his notification level is not Disabled
# * issue old assignee if his notification level is not Disabled
# * issue new assignee if his notification level is not Disabled
#
def reassigned_issue(issue, current_user)
recipient_ids = [issue.assignee_id, issue.assignee_id_was].compact.uniq
Loading
Loading
@@ -66,4 +66,18 @@ class NotificationService
Notify.delay.new_merge_request_email(merge_request.id)
end
end
# When we reassign a merge_request we should send next emails:
#
# * merge_request old assignee if his notification level is not Disabled
# * merge_request assignee if his notification level is not Disabled
#
def reassigned_merge_request(merge_request, current_user)
recipients_ids = merge_request.assignee_id_was, merge_request.assignee_id
recipients_ids.delete current_user.id
recipients_ids.each do |recipient_id|
Notify.delay.reassigned_merge_request_email(recipient_id, merge_request.id, merge_request.assignee_id_was)
end
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment