diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-10-21 07:08:36 +0000 |
commit | 48aff82709769b098321c738f3444b9bdaa694c6 (patch) | |
tree | e00c7c43e2d9b603a5a6af576b1685e400410dee /app/mailers | |
parent | 879f5329ee916a948223f8f43d77fba4da6cd028 (diff) | |
download | gitlab-ce-48aff82709769b098321c738f3444b9bdaa694c6.tar.gz |
Add latest changes from gitlab-org/gitlab@13-5-stable-eev13.5.0-rc42
Diffstat (limited to 'app/mailers')
-rw-r--r-- | app/mailers/abuse_report_mailer.rb | 4 | ||||
-rw-r--r-- | app/mailers/emails/issues.rb | 2 | ||||
-rw-r--r-- | app/mailers/emails/members.rb | 32 | ||||
-rw-r--r-- | app/mailers/emails/merge_requests.rb | 25 | ||||
-rw-r--r-- | app/mailers/emails/projects.rb | 10 | ||||
-rw-r--r-- | app/mailers/notify.rb | 2 |
6 files changed, 66 insertions, 9 deletions
diff --git a/app/mailers/abuse_report_mailer.rb b/app/mailers/abuse_report_mailer.rb index 0f2f63b43f5..20aabb6fe58 100644 --- a/app/mailers/abuse_report_mailer.rb +++ b/app/mailers/abuse_report_mailer.rb @@ -11,7 +11,7 @@ class AbuseReportMailer < ApplicationMailer @abuse_report = AbuseReport.find(abuse_report_id) mail( - to: Gitlab::CurrentSettings.admin_notification_email, + to: Gitlab::CurrentSettings.abuse_notification_email, subject: "#{@abuse_report.user.name} (#{@abuse_report.user.username}) was reported for abuse" ) end @@ -19,6 +19,6 @@ class AbuseReportMailer < ApplicationMailer private def deliverable? - Gitlab::CurrentSettings.admin_notification_email.present? + Gitlab::CurrentSettings.abuse_notification_email.present? end end diff --git a/app/mailers/emails/issues.rb b/app/mailers/emails/issues.rb index bcf60bea0e0..10a1da90e9e 100644 --- a/app/mailers/emails/issues.rb +++ b/app/mailers/emails/issues.rb @@ -93,7 +93,7 @@ module Emails def issues_csv_email(user, project, csv_data, export_status) @project = project - @issues_count = export_status.fetch(:rows_expected) + @count = export_status.fetch(:rows_expected) @written_count = export_status.fetch(:rows_written) @truncated = export_status.fetch(:truncated) diff --git a/app/mailers/emails/members.rb b/app/mailers/emails/members.rb index 3a13c5949bd..57e4c7df440 100644 --- a/app/mailers/emails/members.rb +++ b/app/mailers/emails/members.rb @@ -77,6 +77,38 @@ module Emails Gitlab::Tracking.event(Gitlab::Experimentation::EXPERIMENTS[:invite_email][:tracking_category], 'sent', property: 'control_group') end end + + if member.invite_to_unknown_user? && Gitlab::Experimentation.enabled?(:invitation_reminders) + Gitlab::Tracking.event( + Gitlab::Experimentation.experiment(:invitation_reminders).tracking_category, + 'sent', + property: Gitlab::Experimentation.enabled_for_attribute?(:invitation_reminders, member.invite_email) ? 'experimental_group' : 'control_group', + label: Digest::MD5.hexdigest(member.to_global_id.to_s) + ) + end + end + + def member_invited_reminder_email(member_source_type, member_id, token, reminder_index) + @member_source_type = member_source_type + @member_id = member_id + @token = token + @reminder_index = reminder_index + + return unless member_exists? && member.created_by && member.invite_to_unknown_user? + + subjects = { + 0 => s_("InviteReminderEmail|%{inviter}'s invitation to GitLab is pending"), + 1 => s_('InviteReminderEmail|%{inviter} is waiting for you to join GitLab'), + 2 => s_('InviteReminderEmail|%{inviter} is still waiting for you to join GitLab') + } + + subject_line = subjects[reminder_index] % { inviter: member.created_by.name } + + member_email_with_layout( + layout: 'experiment_mailer', + to: member.invite_email, + subject: subject(subject_line) + ) end def member_invite_accepted_email(member_source_type, member_id) diff --git a/app/mailers/emails/merge_requests.rb b/app/mailers/emails/merge_requests.rb index c709c2950d6..28ac752f550 100644 --- a/app/mailers/emails/merge_requests.rb +++ b/app/mailers/emails/merge_requests.rb @@ -34,6 +34,17 @@ module Emails end # rubocop: enable CodeReuse/ActiveRecord + # rubocop: disable CodeReuse/ActiveRecord + def changed_reviewer_of_merge_request_email(recipient_id, merge_request_id, previous_reviewer_ids, updated_by_user_id, reason = nil) + setup_merge_request_mail(merge_request_id, recipient_id) + + @previous_reviewers = [] + @previous_reviewers = User.where(id: previous_reviewer_ids) if previous_reviewer_ids.any? + + mail_answer_thread(@merge_request, merge_request_thread_options(updated_by_user_id, recipient_id, reason)) + end + # rubocop: enable CodeReuse/ActiveRecord + def relabeled_merge_request_email(recipient_id, merge_request_id, label_names, updated_by_user_id, reason = nil) setup_merge_request_mail(merge_request_id, recipient_id) @@ -99,6 +110,20 @@ module Emails mail_answer_thread(@merge_request, merge_request_thread_options(mwps_set_by_user_id, recipient_id, reason)) end + def merge_requests_csv_email(user, project, csv_data, export_status) + @project = project + @count = export_status.fetch(:rows_expected) + @written_count = export_status.fetch(:rows_written) + @truncated = export_status.fetch(:truncated) + + filename = "#{project.full_path.parameterize}_merge_requests_#{Date.current.iso8601}.csv" + attachments[filename] = { content: csv_data, mime_type: 'text/csv' } + mail(to: user.notification_email_for(@project.group), subject: subject("Exported merge requests")) do |format| + format.html { render layout: 'mailer' } + format.text { render layout: 'mailer' } + end + end + private def setup_merge_request_mail(merge_request_id, recipient_id, present: false) diff --git a/app/mailers/emails/projects.rb b/app/mailers/emails/projects.rb index fdf40a77ca4..17ef8b41e79 100644 --- a/app/mailers/emails/projects.rb +++ b/app/mailers/emails/projects.rb @@ -56,16 +56,14 @@ module Emails subject: @message.subject) end - def prometheus_alert_fired_email(project_id, user_id, alert_payload) + def prometheus_alert_fired_email(project_id, user_id, alert_attributes) @project = ::Project.find(project_id) user = ::User.find(user_id) - @alert = ::Gitlab::Alerting::Alert - .new(project: @project, payload: alert_payload) - .present - return unless @alert.valid? + @alert = AlertManagement::Alert.new(alert_attributes.with_indifferent_access).present + return unless @alert.parsed_payload.has_required_attributes? - subject_text = "Alert: #{@alert.full_title}" + subject_text = "Alert: #{@alert.email_title}" mail(to: user.notification_email_for(@project.group), subject: subject(subject_text)) end end diff --git a/app/mailers/notify.rb b/app/mailers/notify.rb index f9aba3fe4f2..ebf6dd68ec7 100644 --- a/app/mailers/notify.rb +++ b/app/mailers/notify.rb @@ -4,6 +4,7 @@ class Notify < ApplicationMailer include ActionDispatch::Routing::PolymorphicRoutes include GitlabRoutingHelper include EmailsHelper + include ReminderEmailsHelper include IssuablesHelper include Emails::Issues @@ -26,6 +27,7 @@ class Notify < ApplicationMailer helper DiffHelper helper BlobHelper helper EmailsHelper + helper ReminderEmailsHelper helper MembersHelper helper AvatarsHelper helper GitlabRoutingHelper |