Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/email/handler/service_desk_handler.rb')
-rw-r--r--lib/gitlab/email/handler/service_desk_handler.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/gitlab/email/handler/service_desk_handler.rb b/lib/gitlab/email/handler/service_desk_handler.rb
index 949fa554aeb..ebc4e9c2c8c 100644
--- a/lib/gitlab/email/handler/service_desk_handler.rb
+++ b/lib/gitlab/email/handler/service_desk_handler.rb
@@ -10,9 +10,9 @@ module Gitlab
include ReplyProcessing
include Gitlab::Utils::StrongMemoize
- HANDLER_REGEX = /\A#{HANDLER_ACTION_BASE_REGEX}-issue-\z/.freeze
- HANDLER_REGEX_LEGACY = /\A(?<project_path>[^\+]*)\z/.freeze
- PROJECT_KEY_PATTERN = /\A(?<slug>.+)-(?<key>[a-z0-9_]+)\z/.freeze
+ HANDLER_REGEX = /\A#{HANDLER_ACTION_BASE_REGEX}-issue-\z/
+ HANDLER_REGEX_LEGACY = /\A(?<project_path>[^\+]*)\z/
+ PROJECT_KEY_PATTERN = /\A(?<slug>.+)-(?<key>[a-z0-9_]+)\z/
def initialize(mail, mail_key, service_desk_key: nil)
if service_desk_key
@@ -75,9 +75,10 @@ module Gitlab
def contains_custom_email_address_verification_subaddress?
return false unless Feature.enabled?(:service_desk_custom_email, project)
+ return false unless to_address.present?
# Verification email only has one recipient
- mail.to.first.include?(ServiceDeskSetting::CUSTOM_EMAIL_VERIFICATION_SUBADDRESS)
+ to_address.include?(ServiceDeskSetting::CUSTOM_EMAIL_VERIFICATION_SUBADDRESS)
end
def handled_custom_email_address_verification?
@@ -209,6 +210,11 @@ module Gitlab
(mail.reply_to || []).first || mail.from.first || mail.sender
end
+ def to_address
+ mail.to&.first
+ end
+ strong_memoize_attr :to_address
+
def can_handle_legacy_format?
project_path && project_path.include?('/') && !mail_key.include?('+')
end