Browse Source

Refactor is referrer methods

pull/1584/head
Kat 3 years ago
parent
commit
11e1966222
  1. 19
      app/controllers/form_controller.rb

19
app/controllers/form_controller.rb

@ -54,7 +54,7 @@ class FormController < ApplicationController
page_id = request.path.split("/")[-1].underscore
@page = form.get_page(page_id)
@subsection = form.subsection_for_page(@page)
if @page.routed_to?(@log, current_user) || is_referrer_interruption_screen?
if @page.routed_to?(@log, current_user) || is_referrer_type?("interruption_screen")
render "form/page"
else
redirect_to @log.lettings? ? lettings_log_path(@log) : sales_log_path(@log)
@ -120,14 +120,15 @@ private
end
end
def is_referrer_check_answers?
referrer = request.headers["HTTP_REFERER"].presence || ""
referrer.present? && CGI.parse(referrer.split("?")[-1]).present? && CGI.parse(referrer.split("?")[-1])["referrer"][0] == "check_answers"
end
def is_referrer_type?(referrer_type)
referrer = request.headers["HTTP_REFERER"]
return false unless referrer
query_params = URI.parse(referrer).query
return false unless query_params
def is_referrer_interruption_screen?
referrer = request.headers["HTTP_REFERER"].presence || ""
referrer.present? && CGI.parse(referrer.split("?")[-1]).present? && CGI.parse(referrer.split("?")[-1])["referrer"][0] == "interruption_screen"
parsed_params = CGI.parse(query_params)
parsed_params["referrer"].present? && parsed_params["referrer"][0] == referrer_type
end
def previous_interruption_screen_page_id
@ -135,7 +136,7 @@ private
end
def successful_redirect_path
if is_referrer_check_answers?
if is_referrer_type?("check_answers")
next_page_id = form.next_page_id(@page, @log, current_user)
next_page = form.get_page(next_page_id)
previous_page = form.previous_page_id(@page, @log, current_user)

Loading…
Cancel
Save