diff --git a/app/controllers/start_form_controller.rb b/app/controllers/start_form_controller.rb index 75e4d0be..d79b7289 100644 --- a/app/controllers/start_form_controller.rb +++ b/app/controllers/start_form_controller.rb @@ -13,12 +13,9 @@ class StartFormController < ApplicationController end def update - @submitter = Submitter.new(email: submitter_params[:email]) - - if params[:resubmit].blank? - @submitter = Submitter.where(submission: @template.submissions.where(deleted_at: nil)) - .find_by(email: submitter_params[:email]) || @submitter - end + @submitter = Submitter.where(submission: @template.submissions.where(deleted_at: nil)) + .then { |rel| params[:resubmit].present? ? rel.where(completed_at: nil) : rel } + .find_or_initialize_by(**submitter_params.compact_blank) if @submitter.completed_at? redirect_to start_form_completed_path(@template.slug, email: submitter_params[:email]) @@ -50,7 +47,7 @@ class StartFormController < ApplicationController private def submitter_params - params.require(:submitter).permit(:email).tap do |attrs| + params.require(:submitter).permit(:email, :phone).tap do |attrs| attrs[:email] = Submissions.normalize_email(attrs[:email]) end end diff --git a/app/views/submit_form/completed.html.erb b/app/views/submit_form/completed.html.erb index c85cdae3..dfb67ed1 100644 --- a/app/views/submit_form/completed.html.erb +++ b/app/views/submit_form/completed.html.erb @@ -19,7 +19,11 @@