diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 21:25:58 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-06-16 21:25:58 +0300 |
commit | a5f4bba440d7f9ea47046a0a561d49adf0a1e6d4 (patch) | |
tree | fb69158581673816a8cd895f9d352dcb3c678b1e /app/mailers | |
parent | d16b2e8639e99961de6ddc93909f3bb5c1445ba1 (diff) |
Add latest changes from gitlab-org/gitlab@14-0-stable-eev14.0.0-rc42
Diffstat (limited to 'app/mailers')
-rw-r--r-- | app/mailers/emails/in_product_marketing.rb | 5 | ||||
-rw-r--r-- | app/mailers/emails/members.rb | 35 | ||||
-rw-r--r-- | app/mailers/emails/service_desk.rb | 8 | ||||
-rw-r--r-- | app/mailers/previews/notify_preview.rb | 2 |
4 files changed, 33 insertions, 17 deletions
diff --git a/app/mailers/emails/in_product_marketing.rb b/app/mailers/emails/in_product_marketing.rb index 97243660512..e745cd51a55 100644 --- a/app/mailers/emails/in_product_marketing.rb +++ b/app/mailers/emails/in_product_marketing.rb @@ -14,8 +14,9 @@ module Emails def in_product_marketing_email(recipient_id, group_id, track, series) group = Group.find(group_id) - email = User.find(recipient_id).notification_email_for(group) - @message = Gitlab::Email::Message::InProductMarketing.for(track).new(group: group, series: series) + user = User.find(recipient_id) + email = user.notification_email_for(group) + @message = Gitlab::Email::Message::InProductMarketing.for(track).new(group: group, user: user, series: series) mail_to(to: email, subject: @message.subject_line) end diff --git a/app/mailers/emails/members.rb b/app/mailers/emails/members.rb index 674a9bfc4eb..d1870065845 100644 --- a/app/mailers/emails/members.rb +++ b/app/mailers/emails/members.rb @@ -53,18 +53,10 @@ module Emails return unless member_exists? - subject_line = - if member.created_by - subject(s_("MemberInviteEmail|%{member_name} invited you to join GitLab") % { member_name: member.created_by.name }) - else - subject(s_("MemberInviteEmail|Invitation to join the %{project_or_group} %{project_or_group_name}") % { project_or_group: member_source.human_name, project_or_group_name: member_source.model_name.singular }) - end - - member_email_with_layout( - to: member.invite_email, - subject: subject_line, - layout: 'unknown_user_mailer' - ) + mail(to: member.invite_email, subject: invite_email_subject, **invite_email_headers) do |format| + format.html { render layout: 'unknown_user_mailer' } + format.text { render layout: 'unknown_user_mailer' } + end end def member_invited_reminder_email(member_source_type, member_id, token, reminder_index) @@ -149,6 +141,25 @@ module Emails private + def invite_email_subject + if member.created_by + subject(s_("MemberInviteEmail|%{member_name} invited you to join GitLab") % { member_name: member.created_by.name }) + else + subject(s_("MemberInviteEmail|Invitation to join the %{project_or_group} %{project_or_group_name}") % { project_or_group: member_source.human_name, project_or_group_name: member_source.model_name.singular }) + end + end + + def invite_email_headers + if Gitlab.dev_env_or_com? + { + 'X-Mailgun-Tag' => 'invite_email', + 'X-Mailgun-Variables' => { 'invite_token' => @token }.to_json + } + else + {} + end + end + def member_exists? Gitlab::AppLogger.info("Tried to send an email invitation for a deleted group. Member id: #{@member_id}") if member.blank? member.present? diff --git a/app/mailers/emails/service_desk.rb b/app/mailers/emails/service_desk.rb index 66eb2c646a9..e8034ef9b57 100644 --- a/app/mailers/emails/service_desk.rb +++ b/app/mailers/emails/service_desk.rb @@ -20,7 +20,9 @@ module Emails options = service_desk_options(email_sender, 'thank_you', @issue.external_author) .merge(subject: "Re: #{subject_base}") - mail_new_thread(@issue, options) + mail_new_thread(@issue, options).tap do + Gitlab::Metrics::BackgroundTransaction.current&.add_event(:service_desk_thank_you_email) + end end def service_desk_new_note_email(issue_id, note_id, recipient) @@ -31,7 +33,9 @@ module Emails options = service_desk_options(email_sender, 'new_note', recipient) .merge(subject: subject_base) - mail_answer_thread(@issue, options) + mail_answer_thread(@issue, options).tap do + Gitlab::Metrics::BackgroundTransaction.current&.add_event(:service_desk_new_note_email) + end end private diff --git a/app/mailers/previews/notify_preview.rb b/app/mailers/previews/notify_preview.rb index df0d1774d6b..ceeb178e9c2 100644 --- a/app/mailers/previews/notify_preview.rb +++ b/app/mailers/previews/notify_preview.rb @@ -146,7 +146,7 @@ class NotifyPreview < ActionMailer::Preview end def member_invited_email - Notify.member_invited_email('project', user.id, '1234').message + Notify.member_invited_email('project', member.id, '1234').message end def pages_domain_enabled_email |