summaryrefslogtreecommitdiff
path: root/app/mailers
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-17 21:09:07 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-17 21:09:07 +0000
commit848de49029934d840c047657fc00f79b51b979a0 (patch)
treecfd36aea071a8774ff7925cccb51772f6ec5aca3 /app/mailers
parent55bc011bc0f9e6102732d2694735a546738d6c5f (diff)
downloadgitlab-ce-848de49029934d840c047657fc00f79b51b979a0.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/mailers')
-rw-r--r--app/mailers/emails/service_desk.rb12
-rw-r--r--app/mailers/previews/notify_preview.rb40
2 files changed, 52 insertions, 0 deletions
diff --git a/app/mailers/emails/service_desk.rb b/app/mailers/emails/service_desk.rb
index f2327239699..e75882073f2 100644
--- a/app/mailers/emails/service_desk.rb
+++ b/app/mailers/emails/service_desk.rb
@@ -86,6 +86,18 @@ module Emails
email_with_layout(to: recipient, subject: subject)
end
+ def service_desk_verification_result_email(service_desk_setting, recipient)
+ @service_desk_setting = service_desk_setting
+ @verification = @service_desk_setting.custom_email_verification
+
+ subject = format(s_("Notify|Verification result for custom email %{email} for %{project_name}"),
+ email: @service_desk_setting.custom_email,
+ project_name: @service_desk_setting.project.name
+ )
+
+ email_with_layout(to: recipient, subject: subject)
+ end
+
private
def setup_service_desk_mail(issue_id)
diff --git a/app/mailers/previews/notify_preview.rb b/app/mailers/previews/notify_preview.rb
index f6c4b05ab39..510f35ee0d2 100644
--- a/app/mailers/previews/notify_preview.rb
+++ b/app/mailers/previews/notify_preview.rb
@@ -229,6 +229,36 @@ class NotifyPreview < ActionMailer::Preview
end
end
+ def service_desk_verification_result_email_for_verified_state
+ cleanup do
+ setup_service_desk_custom_email_objects
+
+ custom_email_verification.update!(state: 1)
+
+ Notify.service_desk_verification_result_email(service_desk_setting, 'owner@example.com').message
+ end
+ end
+
+ def service_desk_verification_result_email_for_incorrect_token_error
+ service_desk_verification_result_email_for_error_state(error: :incorrect_token)
+ end
+
+ def service_desk_verification_result_email_for_incorrect_from_error
+ service_desk_verification_result_email_for_error_state(error: :incorrect_from)
+ end
+
+ def service_desk_verification_result_email_for_mail_not_received_within_timeframe_error
+ service_desk_verification_result_email_for_error_state(error: :mail_not_received_within_timeframe)
+ end
+
+ def service_desk_verification_result_email_for_invalid_credentials_error
+ service_desk_verification_result_email_for_error_state(error: :invalid_credentials)
+ end
+
+ def service_desk_verification_result_email_for_smtp_host_issue_error
+ service_desk_verification_result_email_for_error_state(error: :smtp_host_issue)
+ end
+
def merge_when_pipeline_succeeds_email
Notify.merge_when_pipeline_succeeds_email(user.id, merge_request.id, user.id).message
end
@@ -263,6 +293,16 @@ class NotifyPreview < ActionMailer::Preview
@project ||= Project.first
end
+ def service_desk_verification_result_email_for_error_state(error:)
+ cleanup do
+ setup_service_desk_custom_email_objects
+
+ custom_email_verification.update!(state: 2, error: error)
+
+ Notify.service_desk_verification_result_email(service_desk_setting, 'owner@example.com').message
+ end
+ end
+
def setup_service_desk_custom_email_objects
# Call accessors to ensure objects have been created
custom_email_credential