summaryrefslogtreecommitdiff
path: root/app/mailers/emails/reviews.rb
blob: ddb9e161a80b8a65f93c92fd1d0f1d83eb08ce34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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