summaryrefslogtreecommitdiff
path: root/app/mailers/emails/reviews.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/mailers/emails/reviews.rb')
-rw-r--r--app/mailers/emails/reviews.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/app/mailers/emails/reviews.rb b/app/mailers/emails/reviews.rb
new file mode 100644
index 00000000000..ddb9e161a80
--- /dev/null
+++ b/app/mailers/emails/reviews.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+module Emails
+ module Reviews
+ def new_review_email(recipient_id, review_id)
+ setup_review_email(review_id, recipient_id)
+
+ mail_answer_thread(@merge_request, review_thread_options(recipient_id))
+ end
+
+ private
+
+ def review_thread_options(recipient_id)
+ {
+ from: sender(@author.id),
+ to: User.find(recipient_id).notification_email_for(@merge_request.target_project.group),
+ subject: subject("#{@merge_request.title} (#{@merge_request.to_reference})")
+ }
+ end
+
+ def setup_review_email(review_id, recipient_id)
+ review = Review.find_by_id(review_id)
+
+ @notes = review.notes
+ @author = review.author
+ @author_name = review.author_name
+ @project = review.project
+ @merge_request = review.merge_request
+ @target_url = project_merge_request_url(@project, @merge_request)
+ @sent_notification = SentNotification.record(@merge_request, recipient_id, reply_key)
+ end
+ end
+end