diff --git a/app/controllers/submit_form_controller.rb b/app/controllers/submit_form_controller.rb index 13dd8c22..5a5dd026 100644 --- a/app/controllers/submit_form_controller.rb +++ b/app/controllers/submit_form_controller.rb @@ -18,7 +18,7 @@ class SubmitFormController < ApplicationController def update submitter = Submitter.find_by!(slug: params[:slug]) - Submitters::SubmitValues.call(submitter, params) + Submitters::SubmitValues.call(submitter, params, request) head :ok end diff --git a/lib/submitters/submit_values.rb b/lib/submitters/submit_values.rb index 46ed404c..a34cd126 100644 --- a/lib/submitters/submit_values.rb +++ b/lib/submitters/submit_values.rb @@ -4,8 +4,8 @@ module Submitters module SubmitValues module_function - def call(submitter, params) - update_submitter!(submitter, params) + def call(submitter, params, request) + update_submitter!(submitter, params, request) Submissions.update_template_fields!(submitter.submission) if submitter.submission.template_fields.blank? @@ -26,11 +26,16 @@ module Submitters submitter end - def update_submitter!(submitter, params) + def update_submitter!(submitter, params, request) submitter.values.merge!(normalized_values(params)) - submitter.completed_at = Time.current if params[:completed] == 'true' submitter.opened_at ||= Time.current + if params[:completed] == 'true' + submitter.completed_at = Time.current + submitter.ip = request.remote_ip + submitter.ua = request.user_agent + end + submitter.save! submitter