This commit is contained in:
Oleksandr Turchyn
2024-10-02 17:57:31 +03:00
parent 711427521c
commit 9479771fc8
12 changed files with 243 additions and 42 deletions
+1 -2
View File
@@ -282,8 +282,7 @@ module Submissions
[
{
text: TextUtils.maybe_rtl_reverse(field_name).upcase.presence ||
"#{I18n.t('type_field',
type: field['type'])} #{submitter_field_counters[field['type']]}\n".upcase,
"#{I18n.t("#{field['type']}_field")} #{submitter_field_counters[field['type']]}\n".upcase,
font_size: 6
}
].compact_blank,
+9 -8
View File
@@ -21,7 +21,7 @@ module Submissions
def rows_to_xlsx(rows)
workbook = RubyXL::Workbook.new
worksheet = workbook[0]
worksheet.sheet_name = I18n.l(Time.current.to_date)
worksheet.sheet_name = Time.current.to_date.to_s
headers = build_headers(rows)
headers.each_with_index do |column_name, column_index|
@@ -79,7 +79,7 @@ module Submissions
submission_data += submitter.documents.map.with_index(1) do |attachment, index|
{
name: "Document #{index}",
name: "#{I18n.t('document')} #{index}",
value: ActiveStorage::Blob.proxy_url(attachment.blob)
}
end
@@ -92,20 +92,20 @@ module Submissions
def build_submission_data(submitter, submitter_name, submitters_count)
[
{
name: column_name('Name', submitter_name, submitters_count),
name: column_name(I18n.t('name'), submitter_name, submitters_count),
value: submitter.name
},
{
name: column_name('Email', submitter_name, submitters_count),
name: column_name(I18n.t('email'), submitter_name, submitters_count),
value: submitter.email
},
{
name: column_name('Phone', submitter_name, submitters_count),
name: column_name(I18n.t('phone'), submitter_name, submitters_count),
value: submitter.phone
},
{
name: column_name('Completed At', submitter_name, submitters_count),
value: submitter.completed_at
name: column_name(I18n.t('completed_at'), submitter_name, submitters_count),
value: submitter.completed_at.to_s
}
].reject { |e| e[:value].blank? }
end
@@ -127,7 +127,8 @@ module Submissions
template_field_type = template_field['type']
template_field_counters[template_field_type] += 1
template_field_name = template_field['name'].presence
template_field_name ||= "#{template_field_type.titleize} Field #{template_field_counters[template_field_type]}"
template_field_name ||=
"#{I18n.t("#{template_field_type}_field")} #{template_field_counters[template_field_type]}"
value =
if template_field_type.in?(%w[image signature])
@@ -341,7 +341,8 @@ module Submissions
if field['type'].in?(%w[multiple radio])
option = field['options']&.find { |o| o['uuid'] == area['option_uuid'] }
option_name = option['value'].presence || "Option #{field['options'].index(option) + 1}"
option_name = option['value'].presence
option_name ||= "#{I18n.t('option', locale: account.locale)} #{field['options'].index(option) + 1}"
value = Array.wrap(value).include?(option_name)
end