r18537@gaspard (orig r1801): jplang | 2008-09-11 19:45:21 +0200

Template error when user's timezone isn't set and UTC timestamps are used (#1889).


git-svn-id: http://redmine.rubyforge.org/svn/branches/nbc@1837 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Nicolas Chuche
2008-09-14 15:32:43 +00:00
parent 4508f1ca91
commit b6f7b138aa
3 changed files with 10 additions and 2 deletions

View File

@@ -95,7 +95,7 @@ module ApplicationHelper
return nil unless time
time = time.to_time if time.is_a?(String)
zone = User.current.time_zone
local = zone ? time.in_time_zone(zone) : (time.utc? ? time.utc_to_local : time)
local = zone ? time.in_time_zone(zone) : (time.utc? ? time.localtime : time)
@date_format ||= (Setting.date_format.blank? || Setting.date_format.size < 2 ? l(:general_fmt_date) : Setting.date_format)
@time_format ||= (Setting.time_format.blank? ? l(:general_fmt_time) : Setting.time_format)
include_date ? local.strftime("#{@date_format} #{@time_format}") : local.strftime(@time_format)

View File

@@ -144,7 +144,7 @@ class User < ActiveRecord::Base
end
def time_zone
self.pref.time_zone.nil? ? nil : TimeZone[self.pref.time_zone]
@time_zone ||= (self.pref.time_zone.blank? ? nil : TimeZone[self.pref.time_zone])
end
def wants_comments_in_reverse_order?

View File

@@ -351,4 +351,12 @@ EXPECTED
assert_equal now.strftime('%d %m %Y %H %M'), format_time(now)
assert_equal now.strftime('%H %M'), format_time(now, false)
end
def test_utc_time_format
now = Time.now.utc
Setting.date_format = '%d %m %Y'
Setting.time_format = '%H %M'
assert_equal Time.now.strftime('%d %m %Y %H %M'), format_time(now)
assert_equal Time.now.strftime('%H %M'), format_time(now, false)
end
end