diff --git a/app/helpers/form_page_helper.rb b/app/helpers/form_page_helper.rb index aefbed1c1..438be2459 100644 --- a/app/helpers/form_page_helper.rb +++ b/app/helpers/form_page_helper.rb @@ -18,4 +18,30 @@ module FormPageHelper def relevant_check_answers_path(log, subsection) send("#{log.class.name.underscore}_#{subsection.id}_check_answers_path", log) end + + def submit_button_text(page, referrer) + if accessed_from_duplicate_logs?(referrer) || returning_to_question_page?(page, referrer) + "Save changes" + else + "Save and continue" + end + end + + def cancel_button_text(page, referrer) + if accessed_from_duplicate_logs?(referrer) || returning_to_question_page?(page, referrer) + "Cancel" + else + page.skip_text || "Skip for now" + end + end + + def cancel_button_link(page, referrer, original_log_id, log) + if accessed_from_duplicate_logs?(referrer) + duplicate_log_set_path(log, original_log_id) + elsif returning_to_question_page?(page, referrer) + send(log.form.cancel_path(page, log), log) + else + page.skip_href(log) || send(log.form.next_page_redirect_path(page, log, current_user), log) + end + end end diff --git a/app/views/form/page.html.erb b/app/views/form/page.html.erb index 32ccdaed5..fffc22411 100644 --- a/app/views/form/page.html.erb +++ b/app/views/form/page.html.erb @@ -72,19 +72,8 @@
<% if !@page.interruption_screen? %> - <% if accessed_from_duplicate_logs?(request.query_parameters["referrer"]) %> - <%= f.govuk_submit "Save changes" %> - <%= govuk_link_to "Cancel", duplicate_log_set_path(@log, request.query_parameters["original_log_id"]) %> - <% elsif returning_to_question_page?(@page, request.query_parameters["referrer"]) %> - <%= f.govuk_submit "Save changes" %> - <%= govuk_link_to "Cancel", send(@log.form.cancel_path(@page, @log), @log) %> - <% else %> - <%= f.govuk_submit "Save and continue" %> - <%= govuk_link_to( - (@page.skip_text || "Skip for now"), - (@page.skip_href(@log) || send(@log.form.next_page_redirect_path(@page, @log, current_user), @log)), - ) %> - <% end %> + <%= f.govuk_submit submit_button_text(@page, request.query_parameters["referrer"]) %> + <%= govuk_link_to cancel_button_text(@page, request.query_parameters["referrer"]), cancel_button_link(@page, request.query_parameters["referrer"], request.query_parameters["original_log_id"], @log) %> <% end %>