Diff style (inline or side by side) automatically saved as a user preference.

Fixed a Postgres test failure.

git-svn-id: http://redmine.rubyforge.org/svn/trunk@893 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang 2007-11-08 19:14:34 +00:00
parent fa95501fe5
commit 1454a711ca
3 changed files with 11 additions and 4 deletions

View File

@ -106,7 +106,14 @@ class RepositoriesController < ApplicationController
def diff
@rev_to = params[:rev_to] ? params[:rev_to].to_i : (@rev - 1)
@diff_type = ('sbs' == params[:type]) ? 'sbs' : 'inline'
@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
@cache_key = "repositories/diff/#{@repository.id}/" + Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}")
unless read_fragment(@cache_key)

View File

@ -8,7 +8,7 @@
<% end %>
<% end %>
<p><label><%= l(:label_view_diff) %></label>
<%= select_tag 'type', options_for_select([[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], params[:type]), :onchange => "if (this.value != '') {this.form.submit()}" %></p>
<%= select_tag 'type', options_for_select([[l(:label_diff_inline), "inline"], [l(:label_diff_side_by_side), "sbs"]], @diff_type), :onchange => "if (this.value != '') {this.form.submit()}" %></p>
<% end %>
<div class="autoscroll">

View File

@ -116,10 +116,10 @@ class UserTest < Test::Unit::TestCase
def test_mail_notification_selected
@jsmith.mail_notification = false
@jsmith.notified_project_ids = [@jsmith.projects.first.id]
@jsmith.notified_project_ids = [1]
@jsmith.save
@jsmith.reload
assert @jsmith.projects.first.recipients.include?(@jsmith.mail)
assert Project.find(1).recipients.include?(@jsmith.mail)
end
def test_mail_notification_none