diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2012-02-04 06:23:38 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2012-02-04 06:23:38 +0000 |
commit | 2789cf250617c5e55df9510c6eae21e073936d2c (patch) | |
tree | 25ef18117fa7dc97f1f9e3eaca33cd755562dcdd | |
parent | af50c1e13e6786695b823a32c3b2e778277e7f64 (diff) | |
download | redmine-2789cf250617c5e55df9510c6eae21e073936d2c.tar.gz redmine-2789cf250617c5e55df9510c6eae21e073936d2c.zip |
attachment: fix that diff type is not saved in user preference (#10152)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8761 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r-- | app/controllers/attachments_controller.rb | 5 | ||||
-rw-r--r-- | test/functional/attachments_controller_test.rb | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/app/controllers/attachments_controller.rb b/app/controllers/attachments_controller.rb index 55cef02a8..53ff69ba8 100644 --- a/app/controllers/attachments_controller.rb +++ b/app/controllers/attachments_controller.rb @@ -29,6 +29,11 @@ class AttachmentsController < ApplicationController @diff = File.new(@attachment.diskfile, "rb").read @diff_type = params[:type] || User.current.pref[:diff_type] || 'inline' @diff_type = 'inline' unless %w(inline sbs).include?(@diff_type) + # Save diff type as user preference + if User.current.logged? && @diff_type != User.current.pref[:diff_type] + User.current.pref[:diff_type] = @diff_type + User.current.preference.save + end render :action => 'diff' elsif @attachment.is_text? && @attachment.filesize <= Setting.file_max_size_displayed.to_i.kilobyte @content = File.new(@attachment.diskfile, "rb").read diff --git a/test/functional/attachments_controller_test.rb b/test/functional/attachments_controller_test.rb index dd5c05fdf..2cf79672d 100644 --- a/test/functional/attachments_controller_test.rb +++ b/test/functional/attachments_controller_test.rb @@ -95,6 +95,21 @@ class AttachmentsControllerTest < ActionController::TestCase set_tmp_attachments_directory end + def test_save_diff_type + @request.session[:user_id] = 1 # admin + user = User.find(1) + get :show, :id => 5 + assert_response :success + assert_template 'diff' + user.reload + assert_equal "inline", user.pref[:diff_type] + get :show, :id => 5, :type => 'sbs' + assert_response :success + assert_template 'diff' + user.reload + assert_equal "sbs", user.pref[:diff_type] + end + def test_show_text_file get :show, :id => 4 assert_response :success |