Fix invalid characters in repetition champs sheet_name for xls export

This commit is contained in:
Paul Chavard 2019-08-27 17:19:22 +02:00
parent b90c27a8f0
commit 15148a4fe1
2 changed files with 15 additions and 1 deletions

View file

@ -70,6 +70,10 @@ class ProcedureExportV2Service
row_style: { background_color: nil, color: "000000", font_size: 12 }
}
def sanitize_sheet_name(name)
ActiveStorage::Filename.new(name.to_s).sanitized.truncate(30)
end
def options_for(table)
case table
when :dossiers
@ -80,7 +84,7 @@ class ProcedureExportV2Service
{ instances: avis.to_a, sheet_name: 'Avis' }.merge(DEFAULT_STYLES)
when Array
# We have to truncate the label here as spreadsheets have a (30 char) limit on length.
{ instances: table.last, sheet_name: table.first.to_s.truncate(30) }.merge(DEFAULT_STYLES)
{ instances: table.last, sheet_name: sanitize_sheet_name(table.first) }.merge(DEFAULT_STYLES)
end
end
end