collect ua and ip on form completion
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user