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')
-rw-r--r--lib/gitlab/email/message/build_ios_app_guide.rb57
-rw-r--r--lib/gitlab/email/message/in_product_marketing/base.rb30
-rw-r--r--lib/gitlab/email/message/in_product_marketing/helper.rb31
-rw-r--r--lib/gitlab/email/receiver.rb2
4 files changed, 91 insertions, 29 deletions
diff --git a/lib/gitlab/email/message/build_ios_app_guide.rb b/lib/gitlab/email/message/build_ios_app_guide.rb
new file mode 100644
index 00000000000..4acf558a6a2
--- /dev/null
+++ b/lib/gitlab/email/message/build_ios_app_guide.rb
@@ -0,0 +1,57 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module Email
+ module Message
+ class BuildIosAppGuide
+ include Gitlab::Email::Message::InProductMarketing::Helper
+ include Gitlab::Routing
+
+ attr_accessor :format
+
+ def initialize(format: :html)
+ @format = format
+ end
+
+ def subject_line
+ s_('InProductMarketing|Get set up to build for iOS')
+ end
+
+ def title
+ s_("InProductMarketing|Building for iOS? We've got you covered.")
+ end
+
+ def body_line1
+ s_(
+ 'InProductMarketing|Want to get your iOS app up and running, including publishing all the way to ' \
+ 'TestFlight? Follow our guide to set up GitLab and fastlane to publish iOS apps to the App Store.'
+ )
+ end
+
+ def cta_text
+ s_('InProductMarketing|Learn how to build for iOS')
+ end
+
+ def cta_link
+ action_link(cta_text, 'https://about.gitlab.com/blog/2019/03/06/ios-publishing-with-gitlab-and-fastlane/')
+ end
+
+ def cta2_text
+ s_('InProductMarketing|Watch iOS building in action.')
+ end
+
+ def cta2_link
+ action_link(cta2_text, 'https://www.youtube.com/watch?v=325FyJt7ZG8')
+ end
+
+ def logo_path
+ 'mailers/in_product_marketing/create-0.png'
+ end
+
+ def unsubscribe
+ unsubscribe_message
+ end
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/email/message/in_product_marketing/base.rb b/lib/gitlab/email/message/in_product_marketing/base.rb
index 9b50d86de58..bd20b7e5fc7 100644
--- a/lib/gitlab/email/message/in_product_marketing/base.rb
+++ b/lib/gitlab/email/message/in_product_marketing/base.rb
@@ -70,14 +70,8 @@ module Gitlab
end
def unsubscribe
- parts = Gitlab.com? ? unsubscribe_com : unsubscribe_self_managed(track, series)
-
- case format
- when :html
- parts.join(' ')
- else
- parts.join("\n" + ' ' * 16)
- end
+ self_managed_preferences_link = marketing_preference_link(track, series)
+ unsubscribe_message(self_managed_preferences_link)
end
def progress(current: series + 1, total: total_series, track_name: track.to_s.humanize)
@@ -110,26 +104,6 @@ module Gitlab
Namespaces::InProductMarketingEmailsService::TRACKS[track][:interval_days].size
end
- def unsubscribe_com
- [
- s_('InProductMarketing|If you no longer wish to receive marketing emails from us,'),
- s_('InProductMarketing|you may %{unsubscribe_link} at any time.') % { unsubscribe_link: unsubscribe_link }
- ]
- end
-
- def unsubscribe_self_managed(track, series)
- [
- s_('InProductMarketing|To opt out of these onboarding emails, %{unsubscribe_link}.') % { unsubscribe_link: unsubscribe_link },
- s_("InProductMarketing|If you don't want to receive marketing emails directly from GitLab, %{marketing_preference_link}.") % { marketing_preference_link: marketing_preference_link(track, series) }
- ]
- end
-
- def unsubscribe_link
- unsubscribe_url = Gitlab.com? ? '%tag_unsubscribe_url%' : profile_notifications_url
-
- link(s_('InProductMarketing|unsubscribe'), unsubscribe_url)
- end
-
def marketing_preference_link(track, series)
params = {
utm_source: 'SM',
diff --git a/lib/gitlab/email/message/in_product_marketing/helper.rb b/lib/gitlab/email/message/in_product_marketing/helper.rb
index 329cace9e9d..0a0e55c2999 100644
--- a/lib/gitlab/email/message/in_product_marketing/helper.rb
+++ b/lib/gitlab/email/message/in_product_marketing/helper.rb
@@ -31,8 +31,39 @@ module Gitlab
s_('InProductMarketing|%{strong_start}GitLab Inc.%{strong_end} 268 Bush Street, #350, San Francisco, CA 94104, USA').html_safe % strong_options
end
+ def unsubscribe_message(self_managed_preferences_link = nil)
+ parts = Gitlab.com? ? unsubscribe_com : unsubscribe_self_managed(self_managed_preferences_link)
+
+ case format
+ when :html
+ parts.join(' ')
+ else
+ parts.join("\n" + ' ' * 16)
+ end
+ end
+
private
+ def unsubscribe_link
+ unsubscribe_url = Gitlab.com? ? '%tag_unsubscribe_url%' : profile_notifications_url
+
+ link(s_('InProductMarketing|unsubscribe'), unsubscribe_url)
+ end
+
+ def unsubscribe_com
+ [
+ s_('InProductMarketing|If you no longer wish to receive marketing emails from us,'),
+ s_('InProductMarketing|you may %{unsubscribe_link} at any time.') % { unsubscribe_link: unsubscribe_link }
+ ]
+ end
+
+ def unsubscribe_self_managed(preferences_link)
+ [
+ s_('InProductMarketing|To opt out of these onboarding emails, %{unsubscribe_link}.') % { unsubscribe_link: unsubscribe_link },
+ s_("InProductMarketing|If you don't want to receive marketing emails directly from GitLab, %{marketing_preference_link}.") % { marketing_preference_link: preferences_link }
+ ]
+ end
+
def list(array)
case format
when :html
diff --git a/lib/gitlab/email/receiver.rb b/lib/gitlab/email/receiver.rb
index 58e7b2f1b44..4da112bc5a0 100644
--- a/lib/gitlab/email/receiver.rb
+++ b/lib/gitlab/email/receiver.rb
@@ -148,7 +148,7 @@ module Gitlab
end
def find_first_key_from_received_headers
- return unless ::Feature.enabled?(:use_received_header_for_incoming_emails, default_enabled: :yaml)
+ return unless ::Feature.enabled?(:use_received_header_for_incoming_emails)
recipients_from_received_headers.find do |email|
key = email_class.key_from_address(email)