From afd31a854584ee1bc870adb16a56264574975d40 Mon Sep 17 00:00:00 2001 From: Gregor Schmidt Date: Mon, 11 Apr 2016 15:51:54 +0200 Subject: [PATCH 3/5] Show attachment view even is no preview is available --- app/controllers/attachments_controller.rb | 2 +- app/views/attachments/other.html.erb | 3 +++ test/functional/attachments_controller_test.rb | 10 ++++++---- 3 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 app/views/attachments/other.html.erb diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 8c6b448..14025cb 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -43,7 +43,7 @@ class AttachmentsController < ApplicationController elsif @attachment.is_image? render :action => 'image' else - download + render :action => 'other' end } format.api diff --git a/app/views/attachments/other.html.erb b/app/views/attachments/other.html.erb new file mode 100644 index 0000000..e6244c1 --- /dev/null +++ b/app/views/attachments/other.html.erb @@ -0,0 +1,3 @@ +<%= render :layout => 'layouts/file' do %> + <%= render :partial => 'common/other' %> +<% end %> diff --git a/test/functional/attachments_controller_test.rb b/test/functional/attachments_controller_test.rb index c0560aa..4b887a1 100644 --- a/test/functional/attachments_controller_test.rb +++ b/test/functional/attachments_controller_test.rb @@ -179,12 +179,13 @@ class AttachmentsControllerTest < ActionController::TestCase end end - def test_show_text_file_should_send_if_too_big + def test_show_text_file_should_show_other_if_too_big with_settings :file_max_size_displayed => 512 do Attachment.find(4).update_attribute :filesize, 754.kilobyte get :show, :id => 4 assert_response :success - assert_equal 'application/x-ruby', @response.content_type + assert_template 'other' + assert_equal 'text/html', @response.content_type end set_tmp_attachments_directory end @@ -199,8 +200,9 @@ class AttachmentsControllerTest < ActionController::TestCase end def test_show_other get :show, :id => 6 - assert_response :success - assert_equal 'application/zip', @response.content_type + assert_template 'other' + assert_equal 'text/html', @response.content_type + assert_select '.nodata', :text => 'No preview available' set_tmp_attachments_directory end -- 2.8.0