Add experimental support for dynamic values
This allows a submission to get a dynamic value like for example the current time
This commit is contained in:
parent
92236aba2f
commit
409038ecba
@ -6,11 +6,19 @@ class Submission < ApplicationRecord
|
|||||||
def data=(value)
|
def data=(value)
|
||||||
sanitized_data = {}
|
sanitized_data = {}
|
||||||
value.each do |key, value|
|
value.each do |key, value|
|
||||||
sanitized_data[key] = value.to_s
|
sanitized_data[key] = submission_value(value)
|
||||||
end
|
end
|
||||||
write_attribute(:data, sanitized_data)
|
write_attribute(:data, sanitized_data)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def submission_value(value)
|
||||||
|
if value.to_s.downcase == 'tinyforms_now'
|
||||||
|
Time.now.utc.to_formatted_s(:rfc822)
|
||||||
|
else
|
||||||
|
value.to_s
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def append_to_spreadsheet
|
def append_to_spreadsheet
|
||||||
result = form.append(data)
|
result = form.append(data)
|
||||||
update_column(:appended_at, Time.current) if result.updates.updated_rows > 0
|
update_column(:appended_at, Time.current) if result.updates.updated_rows > 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user