Skip to content

Commit

Permalink
Merge pull request #3394 from betagouv/fix-entreprendre-redirection
Browse files Browse the repository at this point in the history
Fix tracking entreprendre non enregistré
  • Loading branch information
clairezed authored Mar 26, 2024
2 parents 0b95089 + 185ffe7 commit 441125d
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
4 changes: 2 additions & 2 deletions app/controllers/concerns/iframe_prefix.rb
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ def query_params
def fetch_query_params
saved_params = session[:solicitation_form_info] || {}
# pas de session dans les iframe, on recupere les params dans l'url
url_query_params = view_params.slice(*Solicitation::FORM_INFO_KEYS + [:siret] + AdditionalSubjectQuestion.pluck(:key))
url_query_params = view_params.slice(*Solicitation::FORM_INFO_KEYS + [:siret, :redirected] + AdditionalSubjectQuestion.pluck(:key))
# on supprime les params matomo anciens si doublon
saved_params.except!(*Solicitation::MATOMO_KEYS.map(&:to_s)) if double_matomo_params(saved_params, url_query_params)
saved_params.with_indifferent_access.merge!(url_query_params)
Expand All @@ -52,7 +52,7 @@ def double_matomo_params(session_params, url_params)
end

def view_params
params.permit(:landing_slug, :slug, :siret, *Solicitation::FORM_INFO_KEYS, AdditionalSubjectQuestion.pluck(:key))
params.permit(:landing_slug, :slug, :siret, *Solicitation::FORM_INFO_KEYS, AdditionalSubjectQuestion.pluck(:key), :redirected)
end

def allow_in_iframe
Expand Down
4 changes: 2 additions & 2 deletions app/controllers/solicitations_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -226,9 +226,9 @@ def redirect_entreprendre_solicitations
# Si la demande vient d'entreprendre et qu'elle n'a pas encore été redirigée
if (query_params[:mtm_campaign] == 'entreprendre') && !(session.dig('solicitation_form_info', 'redirected') == 'entreprendre')
session[:solicitation_form_info] ||= query_params
session[:solicitation_form_info][:redirected] = 'entreprendre'
session[:solicitation_form_info]['redirected'] = 'entreprendre'

redirect_to root_path
redirect_to root_path(query_params.merge(redirected: 'entreprendre'))
end
end

Expand Down
10 changes: 5 additions & 5 deletions spec/controllers/solicitations_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -42,16 +42,16 @@
context 'entreprendre redirection' do
context 'first access with entreprendre params' do
it do
get :new, params: { landing_slug: landing.slug, landing_subject_slug: landing_subject.slug, mtm_campaign: 'entreprendre' }
expect(response).to redirect_to root_path
get :new, params: { landing_slug: landing.slug, landing_subject_slug: landing_subject.slug, mtm_campaign: 'entreprendre', mtm_kwd: 'F12345' }
expect(response).to redirect_to root_path({ mtm_campaign: 'entreprendre', mtm_kwd: 'F12345', redirected: 'entreprendre' })
end
end

context 'further navigation with entreprendre params' do
it do
request.session[:solicitation_form_info] = { "redirected" => "entreprendre", "mtm_campaign" => "entreprendre" }
get :new, params: { landing_slug: landing.slug, landing_subject_slug: landing_subject.slug, mtm_campaign: 'entreprendre' }
expect(response).not_to redirect_to root_path
request.session[:solicitation_form_info] = { "redirected" => "entreprendre", "mtm_campaign" => "entreprendre", "mtm_kwd" => 'F12345' }
get :new, params: { landing_slug: landing.slug, landing_subject_slug: landing_subject.slug, mtm_campaign: 'entreprendre', mtm_kwd: 'F12345' }
expect(response).not_to redirect_to root_path({ mtm_campaign: 'entreprendre', mtm_kwd: 'F12345', redirected: 'entreprendre' })
end
end

Expand Down

0 comments on commit 441125d

Please sign in to comment.