diff options
author | Pierre de La Morinerie <pierre@capitainetrain.com> | 2014-02-17 21:49:42 +0400 |
---|---|---|
committer | Pierre de La Morinerie <pierre@capitainetrain.com> | 2014-02-19 21:25:18 +0400 |
commit | 96dded3ec8401e9832b3888338f37c846bd43583 (patch) | |
tree | ae782ede2d7b2668c7cc659a1ebb03b086916502 /app/mailers/emails/merge_requests.rb | |
parent | 57cb1ca7917f27f2c7500858fb66d53b3ea49783 (diff) |
Send emails from the author
This changes the email "From" field from "gitlab@example.com" to either:
* "John Doe <gitlab@example.com>" if the author of the action is known,
* "GitLab <gitlab@example.com>" otherwise.
Rationale: this allow mails to appear as if they were sent by the
author. It appears in the mailbox more like a real discussion between
the sender and the receiver ("John sent: we should refactor this") and
less like a robot notifying about something.
Diffstat (limited to 'app/mailers/emails/merge_requests.rb')
-rw-r--r-- | app/mailers/emails/merge_requests.rb | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/app/mailers/emails/merge_requests.rb b/app/mailers/emails/merge_requests.rb index 39c02ca07c9..0845e14edc7 100644 --- a/app/mailers/emails/merge_requests.rb +++ b/app/mailers/emails/merge_requests.rb @@ -3,15 +3,17 @@ module Emails def new_merge_request_email(recipient_id, merge_request_id) @merge_request = MergeRequest.find(merge_request_id) @project = @merge_request.project - mail(to: recipient(recipient_id), + mail(from: sender(@merge_request.author_id), + to: recipient(recipient_id), subject: subject("#{@merge_request.title} (!#{@merge_request.iid})")) end - def reassigned_merge_request_email(recipient_id, merge_request_id, previous_assignee_id) + def reassigned_merge_request_email(recipient_id, merge_request_id, previous_assignee_id, updated_by_user_id) @merge_request = MergeRequest.find(merge_request_id) @previous_assignee = User.find_by(id: previous_assignee_id) if previous_assignee_id @project = @merge_request.project - mail(to: recipient(recipient_id), + mail(from: sender(updated_by_user_id), + to: recipient(recipient_id), subject: subject("#{@merge_request.title} (!#{@merge_request.iid})")) end @@ -19,14 +21,16 @@ module Emails @merge_request = MergeRequest.find(merge_request_id) @updated_by = User.find updated_by_user_id @project = @merge_request.project - mail(to: recipient(recipient_id), + mail(from: sender(updated_by_user_id), + to: recipient(recipient_id), subject: subject("#{@merge_request.title} (!#{@merge_request.iid})")) end def merged_merge_request_email(recipient_id, merge_request_id) @merge_request = MergeRequest.find(merge_request_id) @project = @merge_request.project - mail(to: recipient(recipient_id), + mail(from: sender(@merge_request.author_id_of_changes), + to: recipient(recipient_id), subject: subject("#{@merge_request.title} (!#{@merge_request.iid})")) end end |