metadata_presenter 2.19.3 → 2.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2279ffc71300e31a078526283d51dd9264d7b6dc8912e714758ea099a0f4b261
4
- data.tar.gz: d1288a6835ee16441c6d267d9ac97c23178b63474b9b5b26100fd2bb93ab6836
3
+ metadata.gz: 287793ad62c89ad266e3c05508365cf24bcd5269d4c08e28f9a631aa50f5762a
4
+ data.tar.gz: 885cc9f6bc43d4d1bd86ba1fb376d1994905000e4f14bfe7173076db7d531633
5
5
  SHA512:
6
- metadata.gz: 0ed0cc7cb93eb72ce9708daf8dbde6f4a39d40a1bc94bf55900f807debe21c78d7674e89b2385301771bbaf9a7a31a3721345f3f893a53b118cffc0918913ac9
7
- data.tar.gz: b6e2ec8a129bd962d64dc8b28811a9792d2f8458eb042cca80513647288102c7ec8050dfce3c694328273f658ccbb7a98d2b33ffb2085c7b2b72cac9be29fbd1
6
+ metadata.gz: c3ab0c526f54ea3d22925baa1da1b4260deceb51bbd720695635b55ff3629116f0a93479fc8118e83bef39cc8ccd52bb718a1128fa573ad851247597e1c04821
7
+ data.tar.gz: '024489fcbd77662977c8684f2949fcd1b4bc5126e7933feba40a6acd689f12a63de3ad112a8eb92a00113c77979c0fcba90f6c65f05e6e6a1eda9d607f02546b'
@@ -42,10 +42,12 @@ module MetadataPresenter
42
42
  return {} unless file_details
43
43
 
44
44
  if file_details.is_a?(Hash) || file_details.is_a?(ActionController::Parameters)
45
- file_details.merge('original_filename' => sanitize(file_details['original_filename']))
45
+
46
+ file_details.merge('original_filename' => sanitize(filename(file_details['original_filename'])))
47
+
46
48
  else
47
49
  {
48
- 'original_filename' => sanitize(file_details.original_filename),
50
+ 'original_filename' => sanitize(filename(file_details.original_filename)),
49
51
  'content_type' => file_details.content_type,
50
52
  'tempfile' => file_details.tempfile.path.to_s
51
53
  }
@@ -67,5 +69,13 @@ module MetadataPresenter
67
69
  sanitize(answers["#{component_id}(#{segment})"])
68
70
  end
69
71
  end
72
+
73
+ private
74
+
75
+ def filename(path)
76
+ return sanitize(path) if path.nil?
77
+
78
+ sanitize(path).gsub(/&gt;/, '').gsub(/&lt;/, '').delete('>"[]{}*?:|]/<').delete('\\')
79
+ end
70
80
  end
71
81
  end
@@ -3,7 +3,6 @@
3
3
  <span class="govuk-hint" id="answers-dog-picture-upload-1-hint" data-fb-default-text="<%= default_text('upload_hint') %>">
4
4
  <%= component.hint.present? ? component.hint : default_text('upload_hint') %>
5
5
  </span>
6
-
7
6
  <p><%= @page_answers.send(component.id)['original_filename'] %></p>
8
7
 
9
8
  <p>
@@ -1,3 +1,3 @@
1
1
  module MetadataPresenter
2
- VERSION = '2.19.3'.freeze
2
+ VERSION = '2.19.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metadata_presenter
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.19.3
4
+ version: 2.19.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - MoJ Forms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-11 00:00:00.000000000 Z
11
+ date: 2023-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_design_system_formbuilder