summaryrefslogtreecommitdiff
path: root/app/controllers/groups/email_campaigns_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/groups/email_campaigns_controller.rb')
-rw-r--r--app/controllers/groups/email_campaigns_controller.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/app/controllers/groups/email_campaigns_controller.rb b/app/controllers/groups/email_campaigns_controller.rb
index c1e3ce519cc..d4c7b31c4b8 100644
--- a/app/controllers/groups/email_campaigns_controller.rb
+++ b/app/controllers/groups/email_campaigns_controller.rb
@@ -16,7 +16,7 @@ class Groups::EmailCampaignsController < Groups::ApplicationController
def track_click
if Gitlab.com?
- message = Gitlab::Email::Message::InProductMarketing.for(@track).new(group: group, series: @series)
+ message = Gitlab::Email::Message::InProductMarketing.for(@track).new(group: group, user: current_user, series: @series)
data = {
namespace_id: group.id,
@@ -26,7 +26,7 @@ class Groups::EmailCampaignsController < Groups::ApplicationController
}
context = SnowplowTracker::SelfDescribingJson.new(EMAIL_CAMPAIGNS_SCHEMA_URL, data)
- ::Gitlab::Tracking.event(self.class.name, 'click', context: [context])
+ ::Gitlab::Tracking.event(self.class.name, 'click', context: [context], user: current_user, namespace: group)
else
::Users::InProductMarketingEmail.save_cta_click(current_user, @track, @series)
end
@@ -58,8 +58,9 @@ class Groups::EmailCampaignsController < Groups::ApplicationController
@series = params[:series]&.to_i
track_valid = @track.in?(Namespaces::InProductMarketingEmailsService::TRACKS.keys)
- series_valid = @series.in?(0..Namespaces::InProductMarketingEmailsService::INTERVAL_DAYS.size - 1)
+ return render_404 unless track_valid
- render_404 unless track_valid && series_valid
+ series_valid = @series.in?(0..Namespaces::InProductMarketingEmailsService::TRACKS[@track][:interval_days].size - 1)
+ render_404 unless series_valid
end
end