diff options
| author | Ulrich Petri <ulo@ulo.pe> | 2012-07-07 14:24:50 +0200 |
|---|---|---|
| committer | Florian Apolloner <florian@apolloner.eu> | 2012-11-03 11:57:33 +0100 |
| commit | ac2052ebc84c45709ab5f0f25e685bf656ce79bc (patch) | |
| tree | 95bda206773dc2be963a50cd08bc4d34cf5b0014 /django | |
| parent | 39f5bc7fc3a4bb43ed8a1358b17fe0521a1a63ac (diff) | |
Fixed #17549 -- Added a clickable link for URLFields in admin change list.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/static/admin/css/widgets.css | 15 | ||||
| -rw-r--r-- | django/contrib/admin/widgets.py | 15 |
2 files changed, 29 insertions, 1 deletions
diff --git a/django/contrib/admin/static/admin/css/widgets.css b/django/contrib/admin/static/admin/css/widgets.css index 0a7012c7b2..3b19353e6f 100644 --- a/django/contrib/admin/static/admin/css/widgets.css +++ b/django/contrib/admin/static/admin/css/widgets.css @@ -225,6 +225,21 @@ table p.datetime { padding-left: 0; } +/* URL */ + +p.url { + line-height: 20px; + margin: 0; + padding: 0; + color: #666; + font-size: 11px; + font-weight: bold; +} + +.url a { + font-weight: normal; +} + /* FILE UPLOADS */ p.file-upload { diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py index 1e0bc2d366..1e6277fb87 100644 --- a/django/contrib/admin/widgets.py +++ b/django/contrib/admin/widgets.py @@ -10,7 +10,7 @@ from django.contrib.admin.templatetags.admin_static import static from django.core.urlresolvers import reverse from django.forms.widgets import RadioFieldRenderer from django.forms.util import flatatt -from django.utils.html import escape, format_html, format_html_join +from django.utils.html import escape, format_html, format_html_join, smart_urlquote from django.utils.text import Truncator from django.utils.translation import ugettext as _ from django.utils.safestring import mark_safe @@ -306,6 +306,19 @@ class AdminURLFieldWidget(forms.TextInput): final_attrs.update(attrs) super(AdminURLFieldWidget, self).__init__(attrs=final_attrs) + def render(self, name, value, attrs=None): + html = super(AdminURLFieldWidget, self).render(name, value, attrs) + if value: + value = force_text(self._format_value(value)) + final_attrs = {'href': mark_safe(smart_urlquote(value))} + html = format_html( + '<p class="url">{0} <a {1}>{2}</a><br />{3} {4}</p>', + _('Currently:'), flatatt(final_attrs), value, + _('Change:'), html + ) + return html + + class AdminIntegerFieldWidget(forms.TextInput): class_name = 'vIntegerField' |
