fix email tracking params
This commit is contained in:
@@ -8,7 +8,8 @@ module Api
|
|||||||
def create
|
def create
|
||||||
submitter = Submitter.find_by!(slug: params[:submitter_slug])
|
submitter = Submitter.find_by!(slug: params[:submitter_slug])
|
||||||
|
|
||||||
if params[:t] == SubmissionEvents.build_tracking_param(submitter, 'click_email')
|
if params[:t] == SubmissionEvents.build_tracking_param(submitter, 'click_email') ||
|
||||||
|
params[:t] == SubmissionEvents.build_tracking_param_legacy(submitter, 'click_email')
|
||||||
SubmissionEvents.create_with_tracking_data(submitter, 'click_email', request)
|
SubmissionEvents.create_with_tracking_data(submitter, 'click_email', request)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,15 @@ module SubmissionEvents
|
|||||||
|
|
||||||
module_function
|
module_function
|
||||||
|
|
||||||
|
def build_tracking_param_legacy(submitter, event_type = 'click_email')
|
||||||
|
Base64.urlsafe_encode64(
|
||||||
|
[submitter.slug, event_type].join(':')
|
||||||
|
).first(TRACKING_PARAM_LENGTH)
|
||||||
|
end
|
||||||
|
|
||||||
def build_tracking_param(submitter, event_type = 'click_email')
|
def build_tracking_param(submitter, event_type = 'click_email')
|
||||||
Base64.urlsafe_encode64(
|
Base64.urlsafe_encode64(
|
||||||
[submitter.slug, event_type, Rails.application.secret_key_base].join(':')
|
Digest::SHA1.digest([submitter.slug, event_type, Rails.application.secret_key_base].join(':'))
|
||||||
).first(TRACKING_PARAM_LENGTH)
|
).first(TRACKING_PARAM_LENGTH)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user