diff --git a/app/controllers/templates_uploads_controller.rb b/app/controllers/templates_uploads_controller.rb index d389bfe3..8ba06980 100644 --- a/app/controllers/templates_uploads_controller.rb +++ b/app/controllers/templates_uploads_controller.rb @@ -63,7 +63,7 @@ class TemplatesUploadsController < ApplicationController tempfile.write(DownloadUtils.call(params[:url], validate: true).body) tempfile.rewind - filename = URI.decode_www_form_component(params[:filename]) if params[:filename].present? + filename = URI.decode_www_form_component(params[:filename]).tr('/', '-') if params[:filename].present? filename ||= File.basename(URI.decode_www_form_component(params[:url])) file = ActionDispatch::Http::UploadedFile.new( diff --git a/lib/submissions/generate_audit_trail.rb b/lib/submissions/generate_audit_trail.rb index 1e7bc33d..17733511 100644 --- a/lib/submissions/generate_audit_trail.rb +++ b/lib/submissions/generate_audit_trail.rb @@ -62,7 +62,7 @@ module Submissions ActiveStorage::Attachment.create!( blob: ActiveStorage::Blob.create_and_upload!( io: io.tap(&:rewind), filename: "#{I18n.t('audit_log')} - " \ - "#{submission.name || submission.template&.name}.pdf" + "#{submission.name || submission.template&.name}.pdf".tr('/', '-') ), name: 'audit_trail', record: submission diff --git a/lib/submissions/generate_combined_attachment.rb b/lib/submissions/generate_combined_attachment.rb index d8a60bf9..45aadb1c 100644 --- a/lib/submissions/generate_combined_attachment.rb +++ b/lib/submissions/generate_combined_attachment.rb @@ -37,7 +37,7 @@ module Submissions ActiveStorage::Attachment.create!( blob: ActiveStorage::Blob.create_and_upload!( - io: io.tap(&:rewind), filename: "#{submission.name || submission.template&.name}.pdf" + io: io.tap(&:rewind), filename: "#{submission.name || submission.template&.name}.pdf".tr('/', '-') ), name: with_audit ? 'combined_document' : 'merged_document', record: submission diff --git a/lib/submissions/generate_preview_attachments.rb b/lib/submissions/generate_preview_attachments.rb index eb9011db..a35d18f0 100644 --- a/lib/submissions/generate_preview_attachments.rb +++ b/lib/submissions/generate_preview_attachments.rb @@ -71,7 +71,7 @@ module Submissions submission:, values_hash:, name: 'preview_merged_document', - filename: "#{submission.name || template&.name}.pdf" + filename: "#{submission.name || template&.name}.pdf".tr('/', '-') ) ApplicationRecord.no_touching { attachment.save! } @@ -115,7 +115,7 @@ module Submissions submitter:, uuid: GenerateResultAttachments.images_pdf_uuid(original_documents.select(&:image?)), values_hash:, - filename: "#{submission.name || template&.name}.pdf" + filename: "#{submission.name || template&.name}.pdf".tr('/', '-') ) ApplicationRecord.no_touching do diff --git a/lib/submissions/generate_result_attachments.rb b/lib/submissions/generate_result_attachments.rb index c221d38a..44a047de 100644 --- a/lib/submissions/generate_result_attachments.rb +++ b/lib/submissions/generate_result_attachments.rb @@ -814,7 +814,7 @@ module Submissions end ActiveStorage::Attachment.new( - blob: ActiveStorage::Blob.create_and_upload!(io: io.tap(&:rewind), filename: "#{name}.pdf"), + blob: ActiveStorage::Blob.create_and_upload!(io: io.tap(&:rewind), filename: "#{name}.pdf".tr('/', '-')), metadata: { original_uuid: uuid, analyzed: true, sha256: Base64.urlsafe_encode64(Digest::SHA256.digest(io.string)) }, diff --git a/lib/submitters.rb b/lib/submitters.rb index 3ea1aa07..091623c2 100644 --- a/lib/submitters.rb +++ b/lib/submitters.rb @@ -238,7 +238,7 @@ module Submitters I18n.l(completed_at.in_time_zone(submitter.account.timezone), format: :short) end - "#{filename}.#{blob.filename.extension}" + "#{filename}.#{blob.filename.extension}".tr('/', '-') end def send_shared_link_email_verification_code(submitter, request:) diff --git a/lib/templates/create_attachments.rb b/lib/templates/create_attachments.rb index f5b47fd9..6f8f695d 100644 --- a/lib/templates/create_attachments.rb +++ b/lib/templates/create_attachments.rb @@ -76,7 +76,7 @@ module Templates blob = ActiveStorage::Blob.create_and_upload!( io: StringIO.new(document_data), - filename: file.original_filename, + filename: file.original_filename.tr('/', '-'), metadata: { **metadata, identified: file.content_type == PDF_CONTENT_TYPE,