diff options
-rw-r--r-- | app/models/incoming_message.rb | 10 | ||||
-rw-r--r-- | spec/models/incoming_message_spec.rb | 11 |
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 + |