1
0
mirror of https://github.com/django/django.git synced 2024-12-22 09:05:43 +00:00

Fixed #25845 -- Fixed incorrect timezone warnings in custom admin templates.

This commit is contained in:
Sven Grunewaldt 2015-12-16 15:11:00 +01:00 committed by Tim Graham
parent d91cc25a2a
commit 9af40f5df1
3 changed files with 10 additions and 2 deletions

View File

@ -21,7 +21,7 @@
init: function() {
var body = document.getElementsByTagName('body')[0];
var serverOffset = body.getAttribute('data-admin-utc-offset');
if (serverOffset !== undefined) {
if (serverOffset) {
var localOffset = new Date().getTimezoneOffset() * -60;
DateTimeShortcuts.timezoneOffset = localOffset - serverOffset;
}
@ -43,7 +43,7 @@
now: function() {
var body = document.getElementsByTagName('body')[0];
var serverOffset = body.getAttribute('data-admin-utc-offset');
if (serverOffset !== undefined) {
if (serverOffset) {
var localNow = new Date();
var localOffset = localNow.getTimezoneOffset() * -60;
localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset));

View File

@ -46,3 +46,7 @@ Bugfixes
* Fixed ``TypedChoiceField`` change detection with nullable fields
(:ticket:`25942`).
* Fixed incorrect timezone warnings in custom admin templates that don't have
a ``data-admin-utc-offset`` attribute in the ``body`` tag.
(:ticket:`25845`).

View File

@ -16,4 +16,8 @@ test('init', function(assert) {
assert.equal(shortcuts.length, 1);
assert.equal(shortcuts.find('a:first').text(), 'Today');
assert.equal(shortcuts.find('a:last .date-icon').length, 1);
// To prevent incorrect timezone warnings on date/time widgets, timezoneOffset
// should be 0 when a timezone offset isn't set in the HTML body attribute.
assert.equal(DateTimeShortcuts.timezoneOffset, 0);
});