diff options
Diffstat (limited to 'lib/gitlab/email/message/in_product_marketing/base.rb')
-rw-r--r-- | lib/gitlab/email/message/in_product_marketing/base.rb | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/lib/gitlab/email/message/in_product_marketing/base.rb b/lib/gitlab/email/message/in_product_marketing/base.rb index c4895d35a14..7cd54390b9f 100644 --- a/lib/gitlab/email/message/in_product_marketing/base.rb +++ b/lib/gitlab/email/message/in_product_marketing/base.rb @@ -7,16 +7,17 @@ module Gitlab class Base include Gitlab::Email::Message::InProductMarketing::Helper include Gitlab::Routing + include Gitlab::Experiment::Dsl attr_accessor :format def initialize(group:, user:, series:, format: :html) - raise ArgumentError, "Only #{total_series} series available for this track." unless series.between?(0, total_series - 1) - + @series = series @group = group @user = user - @series = series @format = format + + validate_series! end def subject_line @@ -56,6 +57,18 @@ module Gitlab end end + def invite_members? + false + end + + def invite_text + s_('InProductMarketing|Do you have a teammate who would be perfect for this task?') + end + + def invite_link + action_link(s_('InProductMarketing|Invite them to help out.'), group_url(group, open_modal: 'invite_members_for_task')) + end + def unsubscribe parts = Gitlab.com? ? unsubscribe_com : unsubscribe_self_managed(track, series) @@ -102,6 +115,10 @@ module Gitlab ["mailers/in_product_marketing", "#{track}-#{series}.png"].join('/') end + def series? + total_series > 0 + end + protected attr_reader :group, :user, :series @@ -148,6 +165,20 @@ module Gitlab link(s_('InProductMarketing|update your preferences'), preference_link) end + + def invite_members_for_task_experiment_enabled? + return unless user.can?(:admin_group_member, group) + + experiment(:invite_members_for_task, namespace: group) do |e| + e.candidate { true } + e.record! + e.run + end + end + + def validate_series! + raise ArgumentError, "Only #{total_series} series available for this track." unless @series.between?(0, total_series - 1) + end end end end |