aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/incoming_message.rb10
-rw-r--r--spec/models/incoming_message_spec.rb11
2 files changed, 17 insertions, 4 deletions
diff --git a/app/models/incoming_message.rb b/app/models/incoming_message.rb
index 7a68d4cb0..fe1f9a2ac 100644
--- a/app/models/incoming_message.rb
+++ b/app/models/incoming_message.rb
@@ -19,7 +19,7 @@
# Copyright (c) 2007 UK Citizens Online Democracy. All rights reserved.
# Email: francis@mysociety.org; WWW: http://www.mysociety.org/
#
-# $Id: incoming_message.rb,v 1.192 2009-03-09 15:48:32 tony Exp $
+# $Id: incoming_message.rb,v 1.193 2009-03-17 23:36:41 francis Exp $
# TODO
# Move some of the (e.g. quoting) functions here into rblib, as they feel
@@ -241,11 +241,13 @@ class FOIAttachment
calc_ext = mimetype_to_extension(@content_type)
if @filename
+ # Remove slashes, they mess with URLs
+ filename = @filename.gsub(/\//, "-")
# Put right extension on if missing
- if !@filename.match(/\.#{calc_ext}$/) && calc_ext
- @filename + "." + calc_ext
+ if !filename.match(/\.#{calc_ext}$/) && calc_ext
+ filename + "." + calc_ext
else
- @filename
+ filename
end
else
if !calc_ext
diff --git a/spec/models/incoming_message_spec.rb b/spec/models/incoming_message_spec.rb
index c1c846275..b962e5707 100644
--- a/spec/models/incoming_message_spec.rb
+++ b/spec/models/incoming_message_spec.rb
@@ -18,4 +18,15 @@ describe IncomingMessage, " when dealing with incoming mail" do
end
+describe IncomingMessage, " display attachments" do
+
+ it "should not show slashes in filenames" do
+ foi_attachment = FOIAttachment.new()
+ foi_attachment.filename = "FOI/09/066 RESPONSE TO FOI REQUEST RECEIVED 21st JANUARY 2009.txt"
+ expected_display_filename = foi_attachment.filename.gsub(/\//, "-")
+ foi_attachment.display_filename.should == expected_display_filename
+ end
+
+end
+