24070bac45
Currently comments on commits and merge requests do not require merge request- or commit-specific information, but can use the same template. Rather than change the method which calls the template, I opted to keep the templates separate and create a new template to highlight their identicality, while preserving the option to distinguish them from each other in the future. Also removed some of the inconsistencies between text and html email versions. Still needed is a text-only version of git diffs and testing.
62 lines
2 KiB
Ruby
62 lines
2 KiB
Ruby
module Emails
|
|
module Notes
|
|
def note_commit_email(recipient_id, note_id)
|
|
setup_note_mail(note_id, recipient_id)
|
|
|
|
@commit = @note.noteable
|
|
@discussion = @note.to_discussion if @note.diff_note?
|
|
@target_url = namespace_project_commit_url(*note_target_url_options)
|
|
|
|
mail_answer_thread(@commit,
|
|
from: sender(@note.author_id),
|
|
to: recipient(recipient_id),
|
|
subject: subject("#{@commit.title} (#{@commit.short_id})"))
|
|
end
|
|
|
|
def note_issue_email(recipient_id, note_id)
|
|
setup_note_mail(note_id, recipient_id)
|
|
|
|
@issue = @note.noteable
|
|
@target_url = namespace_project_issue_url(*note_target_url_options)
|
|
mail_answer_thread(@issue, note_thread_options(recipient_id))
|
|
end
|
|
|
|
def note_merge_request_email(recipient_id, note_id)
|
|
setup_note_mail(note_id, recipient_id)
|
|
|
|
@merge_request = @note.noteable
|
|
@discussion = @note.to_discussion if @note.diff_note?
|
|
@target_url = namespace_project_merge_request_url(*note_target_url_options)
|
|
mail_answer_thread(@merge_request, note_thread_options(recipient_id))
|
|
end
|
|
|
|
def note_snippet_email(recipient_id, note_id)
|
|
setup_note_mail(note_id, recipient_id)
|
|
|
|
@snippet = @note.noteable
|
|
@target_url = namespace_project_snippet_url(*note_target_url_options)
|
|
mail_answer_thread(@snippet, note_thread_options(recipient_id))
|
|
end
|
|
|
|
private
|
|
|
|
def note_target_url_options
|
|
[@project.namespace, @project, @note.noteable, anchor: "note_#{@note.id}"]
|
|
end
|
|
|
|
def note_thread_options(recipient_id)
|
|
{
|
|
from: sender(@note.author_id),
|
|
to: recipient(recipient_id),
|
|
subject: subject("#{@note.noteable.title} (#{@note.noteable.to_reference})")
|
|
}
|
|
end
|
|
|
|
def setup_note_mail(note_id, recipient_id)
|
|
@note = Note.find(note_id)
|
|
@project = @note.project
|
|
|
|
@sent_notification = SentNotification.record_note(@note, recipient_id, reply_key)
|
|
end
|
|
end
|
|
end
|