﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
19538	__admin_media_prefix__ in admin templates	andrew@…	nobody	"contrib/admin/templates/admin/base.html contains the line:
{{{
<script type=""text/javascript"">window.__admin_media_prefix__ = ""{% filter escapejs %}{% static ""admin/"" %}{% endfilter %}"";</script>
}}}

The !__admin_media_prefix!__ is used in contrib/admin/static/admin/js/admin/DateTimeShortcuts.js to form URLs by concatenation:
DateTimeShortcuts.admin_media_prefix + 'img/icon_clock.gif'

This causes a problem with certain storage backends (such as S3 Boto) which include authentication digests as part of the URL. For instance, when using the S3 Boto backend, my admin renders the following line:
{{{
<script type=""text/javascript"">window.__admin_media_prefix__ = ""https://oca3\u002Dqa.s3.amazonaws.com/admin?Signature\u003DXIt%2FCc9wPWjaw%2F3ITNjkYE3bc%2FI%3D\u0026Expires\u003D1356844210\u0026AWSAccessKeyId\u003DAKIAIGREZ7J53KZ23QKQ"";</script>
}}}

Which, when concatenated with the fixed string generates the invalid URL: https://oca3\u002Dqa.s3.amazonaws.com/admin?Signature\u003DXIt%2FCc9wPWjaw%2F3ITNjkYE3bc%2FI%3D\u0026Expires\u003D1356844210\u0026AWSAccessKeyId\u003DAKIAIGREZ7J53KZ23QKQimg/icon_clock.gif

I suspect that the assumption the DateTime widget is relying on ({% static a+b %} should be equivelant to {% static a %}b) is invalid, and it should be using a more robust method to determine the static URL of its resources. The DateTime widget appears to be the only element depending on !__admin_media_prefix!__, and thus the only one to fail when switching to a backend that doesn't support its assumption."	Uncategorized	new	Uncategorized	1.4	Normal		admin S3 DateTime		Unreviewed	0	0	0	0	0	0
