From ab64b383177f8e554c876d7c8574df6169ecc515 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Fri, 9 Mar 2007 09:32:39 +0000 Subject: [PATCH] Fixed #2869 -- Do not append ADMIN_MEDIA_PREFIX to absolute-path URLs used for included javascript. Based on patches from SmileyChris and oyvind@saltvik.no. git-svn-id: http://code.djangoproject.com/svn/django/trunk@4692 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/contrib/admin/templatetags/admin_modify.py | 10 ++++++---- docs/model-api.txt | 3 +++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/django/contrib/admin/templatetags/admin_modify.py b/django/contrib/admin/templatetags/admin_modify.py index fcb5876b0c..e708b876bd 100644 --- a/django/contrib/admin/templatetags/admin_modify.py +++ b/django/contrib/admin/templatetags/admin_modify.py @@ -11,6 +11,7 @@ import re register = template.Library() word_re = re.compile('[A-Z][a-z]+') +absolute_url_re = re.compile(r'^(?:http(?:s)?:/)?/', re.IGNORECASE) def class_name_to_underscored(name): return '_'.join([s.lower() for s in word_re.findall(name)[:-1]]) @@ -18,18 +19,19 @@ def class_name_to_underscored(name): def include_admin_script(script_path): """ Returns an HTML script element for including a script from the admin - media url. + media url (or other location if an absolute url is given). Example usage:: - {% include_admin_script js/calendar.js %} + {% include_admin_script "js/calendar.js" %} could return:: ' % (settings.ADMIN_MEDIA_PREFIX, script_path) + if not absolute_url_re.match(script_path): + script_path = '%s%s' % (settings.ADMIN_MEDIA_PREFIX, script_path) + return '' % script_path include_admin_script = register.simple_tag(include_admin_script) def submit_row(context): diff --git a/docs/model-api.txt b/docs/model-api.txt index 1e7f69903d..e66e96de68 100644 --- a/docs/model-api.txt +++ b/docs/model-api.txt @@ -1216,6 +1216,9 @@ screen via ``