diff options
| author | Tim Graham <timograham@gmail.com> | 2015-07-20 16:09:42 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-07-22 17:09:52 -0400 |
| commit | 8eeb566aca33600d272dee5fba59c3445b5b8163 (patch) | |
| tree | fe34575c7bb2eb186c4fadcd28142cbae0fc0fa6 | |
| parent | 5aba3f0a453478f1b418d66b06593d04f2065a64 (diff) | |
Fixed #25149 -- Replaced window.__admin_utc_offset__ with a data attribute.
| -rw-r--r-- | django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js | 10 | ||||
| -rw-r--r-- | django/contrib/admin/templates/admin/base.html | 4 | ||||
| -rw-r--r-- | docs/releases/1.9.txt | 7 |
3 files changed, 12 insertions, 9 deletions
diff --git a/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js index 871b96cfd4..b41c0cd505 100644 --- a/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js +++ b/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js @@ -18,8 +18,9 @@ var DateTimeShortcuts = { timezoneWarningClass: 'timezonewarning', // class of the warning for timezone mismatch timezoneOffset: 0, init: function() { - if (window.__admin_utc_offset__ !== undefined) { - var serverOffset = window.__admin_utc_offset__; + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset !== undefined) { var localOffset = new Date().getTimezoneOffset() * -60; DateTimeShortcuts.timezoneOffset = localOffset - serverOffset; } @@ -39,8 +40,9 @@ var DateTimeShortcuts = { }, // Return the current time while accounting for the server timezone. now: function() { - if (window.__admin_utc_offset__ !== undefined) { - var serverOffset = window.__admin_utc_offset__; + var body = document.getElementsByTagName('body')[0]; + var serverOffset = body.getAttribute('data-admin-utc-offset'); + if (serverOffset !== undefined) { var localNow = new Date(); var localOffset = localNow.getTimezoneOffset() * -60; localNow.setTime(localNow.getTime() + 1000 * (serverOffset - localOffset)); diff --git a/django/contrib/admin/templates/admin/base.html b/django/contrib/admin/templates/admin/base.html index 77fdf5bb2f..fa6ee41b08 100644 --- a/django/contrib/admin/templates/admin/base.html +++ b/django/contrib/admin/templates/admin/base.html @@ -6,13 +6,13 @@ <link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" /> {% block extrastyle %}{% endblock %} {% if LANGUAGE_BIDI %}<link rel="stylesheet" type="text/css" href="{% block stylesheet_rtl %}{% static "admin/css/rtl.css" %}{% endblock %}" />{% endif %} -<script type="text/javascript">window.__admin_utc_offset__ = "{% filter escapejs %}{% now "Z" %}{% endfilter %}";</script> {% block extrahead %}{% endblock %} {% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %} </head> {% load i18n %} -<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}"> +<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}" + data-admin-utc-offset="{% filter escapejs %}{% now "Z" %}{% endfilter %}"> <!-- Container --> <div id="container"> diff --git a/docs/releases/1.9.txt b/docs/releases/1.9.txt index 693ba7c521..148e857c86 100644 --- a/docs/releases/1.9.txt +++ b/docs/releases/1.9.txt @@ -846,9 +846,10 @@ Miscellaneous * ``ValuesQuerySet`` and ``ValuesListQuerySet`` have been removed. * The ``admin/base.html`` template no longer sets - ``window.__admin_media_prefix__``. Image references in JavaScript that used - that value to construct absolute URLs have been moved to CSS for easier - customization. + ``window.__admin_media_prefix__`` or ``window.__admin_utc_offset__``. Image + references in JavaScript that used that value to construct absolute URLs have + been moved to CSS for easier customization. The UTC offset is stored on a + data attribute of the ``<body>`` tag. * ``CommaSeparatedIntegerField`` validation has been refined to forbid values like ``','``, ``',1'``, and ``'1,,2'``. |
