collect ua and ip on form completion

pull/105/head
Alex Turchyn 2 years ago
parent 187b354605
commit e5c5620b20

@ -18,7 +18,7 @@ class SubmitFormController < ApplicationController
def update def update
submitter = Submitter.find_by!(slug: params[:slug]) submitter = Submitter.find_by!(slug: params[:slug])
Submitters::SubmitValues.call(submitter, params) Submitters::SubmitValues.call(submitter, params, request)
head :ok head :ok
end end

@ -4,8 +4,8 @@ module Submitters
module SubmitValues module SubmitValues
module_function module_function
def call(submitter, params) def call(submitter, params, request)
update_submitter!(submitter, params) update_submitter!(submitter, params, request)
Submissions.update_template_fields!(submitter.submission) if submitter.submission.template_fields.blank? Submissions.update_template_fields!(submitter.submission) if submitter.submission.template_fields.blank?
@ -26,11 +26,16 @@ module Submitters
submitter submitter
end end
def update_submitter!(submitter, params) def update_submitter!(submitter, params, request)
submitter.values.merge!(normalized_values(params)) submitter.values.merge!(normalized_values(params))
submitter.completed_at = Time.current if params[:completed] == 'true'
submitter.opened_at ||= Time.current 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.save!
submitter submitter

Loading…
Cancel
Save