diff --git a/app/models/uploaded_file.rb b/app/models/uploaded_file.rb index cc5bfec..2799396 100644 --- a/app/models/uploaded_file.rb +++ b/app/models/uploaded_file.rb @@ -50,7 +50,14 @@ class UploadedFile < Article include ActionView::Helpers::TagHelper def to_html(options = {}) - tag('img', :src => public_filename(:display), :class => css_class_name, :style => 'max-width: 100%') if image? + if image? + tag('img', :src => public_filename(:display), :class => css_class_name, :style => 'max-width: 100%') + else + article = self + lambda do + content_tag('ul', content_tag('li', link_to(article.name, article.url, :class => article.css_class_name))) + end + end end def allow_children? diff --git a/test/unit/uploaded_file_test.rb b/test/unit/uploaded_file_test.rb index 6db7553..319a460 100644 --- a/test/unit/uploaded_file_test.rb +++ b/test/unit/uploaded_file_test.rb @@ -109,4 +109,14 @@ class UploadedFileTest < Test::Unit::TestCase assert_match /#{UploadedFile.max_size.to_humanreadable}/, up.errors[:size] end + should 'display link to download of non-image files' do + p = create_user('test_user').person + file = UploadedFile.create!(:uploaded_data => fixture_file_upload('/files/test.txt', 'text/plain'), :profile => p) + + stubs(:content_tag) + expects(:link_to).with(file.name, file.url, :class => file.css_class_name) + + instance_eval(&file.to_html) + end + end -- libgit2 0.21.2