Skip to content
Snippets Groups Projects
Commit c5b13cc9 authored by Robert Speicher's avatar Robert Speicher
Browse files

Remove more duplication in the Notify mailer

parent 652d955c
No related branches found
No related tags found
1 merge request!1260Notify mailer refactor
Loading
Loading
@@ -22,43 +22,38 @@ class Notify < ActionMailer::Base
end
 
def note_wall_email(recipient_id, note_id)
recipient = User.find(recipient_id)
@note = Note.find(note_id)
@project = @note.project
mail(to: recipient.email, subject: subject)
mail(to: recipient(recipient_id), subject: subject)
end
 
def note_commit_email(recipient_id, note_id)
recipient = User.find(recipient_id)
@note = Note.find(note_id)
@commit = @note.target
@commit = CommitDecorator.decorate(@commit)
@project = @note.project
mail(to: recipient.email, subject: subject("note for commit #{@commit.short_id}", @commit.title))
mail(to: recipient(recipient_id), subject: subject("note for commit #{@commit.short_id}", @commit.title))
end
 
def note_merge_request_email(recipient_id, note_id)
recipient = User.find(recipient_id)
@note = Note.find(note_id)
@merge_request = @note.noteable
@project = @note.project
mail(to: recipient.email, subject: subject("note for merge request !#{@merge_request.id}"))
mail(to: recipient(recipient_id), subject: subject("note for merge request !#{@merge_request.id}"))
end
 
def note_issue_email(recipient_id, note_id)
recipient = User.find(recipient_id)
@note = Note.find(note_id)
@issue = @note.noteable
@project = @note.project
mail(to: recipient.email, subject: subject("note for issue ##{@issue.id}"))
mail(to: recipient(recipient_id), subject: subject("note for issue ##{@issue.id}"))
end
 
def note_wiki_email(recipient_id, note_id)
recipient = User.find(recipient_id)
@note = Note.find(note_id)
@wiki = @note.noteable
@project = @note.project
mail(to: recipient.email, subject: subject("note for wiki"))
mail(to: recipient(recipient_id), subject: subject("note for wiki"))
end
 
def new_merge_request_email(merge_request_id)
Loading
Loading
@@ -68,23 +63,32 @@ class Notify < ActionMailer::Base
end
 
def reassigned_merge_request_email(recipient_id, merge_request_id, previous_assignee_id)
recipient = User.find(recipient_id)
@merge_request = MergeRequest.find(merge_request_id)
@previous_assignee ||= User.find(previous_assignee_id)
@project = @merge_request.project
mail(to: recipient.email, subject: subject("changed merge request !#{@merge_request.id}", @merge_request.title))
mail(to: recipient(recipient_id), subject: subject("changed merge request !#{@merge_request.id}", @merge_request.title))
end
 
def reassigned_issue_email(recipient_id, issue_id, previous_assignee_id)
recipient = User.find(recipient_id)
@issue = Issue.find(issue_id)
@previous_assignee ||= User.find(previous_assignee_id)
@project = @issue.project
mail(to: recipient.email, subject: subject("changed issue ##{@issue.id}", @issue.title))
mail(to: recipient(recipient_id), subject: subject("changed issue ##{@issue.id}", @issue.title))
end
 
private
 
# Look up a User by their ID and return their email address
#
# recipient_id - User ID
#
# Returns a String containing the User's email address.
def recipient(recipient_id)
if recipient = User.find(recipient_id)
recipient.email
end
end
# Formats arguments into a String suitable for use as an email subject
#
# extra - Extra Strings to be inserted into the subject
Loading
Loading
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