Template error when user's timezone isn't set and UTC timestamps are used (#1889).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1801 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
a592d6c40d
commit
8d6b32645c
|
@ -95,7 +95,7 @@ module ApplicationHelper
|
||||||
return nil unless time
|
return nil unless time
|
||||||
time = time.to_time if time.is_a?(String)
|
time = time.to_time if time.is_a?(String)
|
||||||
zone = User.current.time_zone
|
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)
|
@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)
|
@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)
|
include_date ? local.strftime("#{@date_format} #{@time_format}") : local.strftime(@time_format)
|
||||||
|
|
|
@ -144,7 +144,7 @@ class User < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def time_zone
|
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
|
end
|
||||||
|
|
||||||
def wants_comments_in_reverse_order?
|
def wants_comments_in_reverse_order?
|
||||||
|
|
|
@ -351,4 +351,12 @@ EXPECTED
|
||||||
assert_equal now.strftime('%d %m %Y %H %M'), format_time(now)
|
assert_equal now.strftime('%d %m %Y %H %M'), format_time(now)
|
||||||
assert_equal now.strftime('%H %M'), format_time(now, false)
|
assert_equal now.strftime('%H %M'), format_time(now, false)
|
||||||
end
|
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
|
end
|
||||||
|
|
Loading…
Reference in New Issue