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 'app/controllers/groups/email_campaigns_controller.rb')
-rw-r--r--app/controllers/groups/email_campaigns_controller.rb69
1 files changed, 0 insertions, 69 deletions
diff --git a/app/controllers/groups/email_campaigns_controller.rb b/app/controllers/groups/email_campaigns_controller.rb
deleted file mode 100644
index 8ae429de490..00000000000
--- a/app/controllers/groups/email_campaigns_controller.rb
+++ /dev/null
@@ -1,69 +0,0 @@
-# frozen_string_literal: true
-
-class Groups::EmailCampaignsController < Groups::ApplicationController
- EMAIL_CAMPAIGNS_SCHEMA_URL = 'iglu:com.gitlab/email_campaigns/jsonschema/1-0-0'
-
- feature_category :experimentation_activation
- urgency :low
-
- before_action :check_params
-
- def index
- track_click
- redirect_to redirect_link
- end
-
- private
-
- def track_click
- if Gitlab.com?
- message = Gitlab::Email::Message::InProductMarketing.for(@track).new(group: group, user: current_user, series: @series)
-
- data = {
- namespace_id: group.id,
- track: @track.to_s,
- series: @series,
- subject_line: message.subject_line
- }
- context = SnowplowTracker::SelfDescribingJson.new(EMAIL_CAMPAIGNS_SCHEMA_URL, data)
-
- ::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
- end
-
- def redirect_link
- case @track
- when :create
- create_track_url
- when :verify
- project_pipelines_url(group.projects.first)
- when :trial, :trial_short
- 'https://about.gitlab.com/free-trial/'
- when :team, :team_short
- group_group_members_url(group)
- when :admin_verify
- project_settings_ci_cd_path(group.projects.first, anchor: 'js-runners-settings')
- end
- end
-
- def create_track_url
- [
- new_project_url,
- new_project_url(anchor: 'import_project'),
- help_page_url('user/project/repository/repository_mirroring')
- ][@series]
- end
-
- def check_params
- @track = params[:track]&.to_sym
- @series = params[:series]&.to_i
-
- track_valid = @track.in?(Namespaces::InProductMarketingEmailsService::TRACKS.keys)
- return render_404 unless track_valid
-
- series_valid = @series.in?(0..Namespaces::InProductMarketingEmailsService::TRACKS[@track][:interval_days].size - 1)
- render_404 unless series_valid
- end
-end