summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2012-06-07 17:00:29 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2012-06-07 17:00:29 +0000
commit234e5d59acf4865e8573a571f6992c38d76e3dfa (patch)
tree37d4914a7b9f17c9cc5165bef4cecf4807c041ea
parent44ea32afba34ab47ab6df9906ab4c3f125e2f276 (diff)
downloadredmine-234e5d59acf4865e8573a571f6992c38d76e3dfa.tar.gz
redmine-234e5d59acf4865e8573a571f6992c38d76e3dfa.zip
Show repository images inline when clicking 'View' (#10362).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@9776 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/repositories_controller.rb1
-rw-r--r--test/functional/repositories_subversion_controller_test.rb7
2 files changed, 8 insertions, 0 deletions
diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb
index d74b59b60..f93bedead 100644
--- a/app/controllers/repositories_controller.rb
+++ b/app/controllers/repositories_controller.rb
@@ -176,6 +176,7 @@ class RepositoriesController < ApplicationController
send_opt = { :filename => filename_for_content_disposition(@path.split('/').last) }
send_type = Redmine::MimeType.of(@path)
send_opt[:type] = send_type.to_s if send_type
+ send_opt[:disposition] = (Redmine::MimeType.is_type?('image', @path) && !is_raw ? 'inline' : 'attachment')
send_data @content, send_opt
else
# Prevent empty lines when displaying a file with Windows style eol
diff --git a/test/functional/repositories_subversion_controller_test.rb b/test/functional/repositories_subversion_controller_test.rb
index 7176cd59e..5bee2a3b6 100644
--- a/test/functional/repositories_subversion_controller_test.rb
+++ b/test/functional/repositories_subversion_controller_test.rb
@@ -185,6 +185,13 @@ class RepositoriesSubversionControllerTest < ActionController::TestCase
end
end
+ def test_entry_should_send_images_inline
+ get :entry, :id => PRJ_ID,
+ :path => repository_path_hash(['subversion_test', 'folder', 'subfolder', 'rubylogo.gif'])[:param]
+ assert_response :success
+ assert_equal 'inline; filename="rubylogo.gif"', response.headers['Content-Disposition']
+ end
+
def test_entry_at_given_revision
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets