django 2.2: use format_html instead of allow_tags (#54257)
This commit is contained in:
parent
b3de8372d5
commit
bc58bd50f1
|
@ -2,7 +2,7 @@ from string import Formatter
|
|||
|
||||
import django.contrib.admin as admin
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.utils.html import escape
|
||||
from django.utils.html import format_html, escape, mark_safe
|
||||
from django.db import models
|
||||
from django.utils.encoding import force_text
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
@ -91,31 +91,28 @@ class JournalAdmin(admin.ModelAdmin):
|
|||
|
||||
def _tag(self, entry):
|
||||
name = entry.tag.name.replace(u'-', u'\u2011')
|
||||
res = u'<a href="?tag__id__exact={0}">{1}</a>'.format(
|
||||
res = format_html('<a href="?tag__id__exact={0}">{1}</a>',
|
||||
escape(entry.tag.id), escape(name))
|
||||
return res
|
||||
_tag.allow_tags = True
|
||||
_tag.short_description = _('tag')
|
||||
|
||||
def ip(self, entry):
|
||||
'''Search and return any associated stringdata whose tag is "ip"'''
|
||||
for stringdata in entry.stringdata_set.all():
|
||||
if stringdata.tag.name == 'ip':
|
||||
return u'<a href="?stringdata__tag__id={tag_id}&' \
|
||||
u'stringdata__content={ip}">{ip}</a>'.format(
|
||||
return format_html('<a href="?stringdata__tag__id={tag_id}&' \
|
||||
'stringdata__content={ip}">{ip}</a>',
|
||||
tag_id=stringdata.tag.id, ip=stringdata.content)
|
||||
return _('None')
|
||||
ip.short_description = _('IP')
|
||||
ip.allow_tags = True
|
||||
|
||||
def user(self, entry):
|
||||
'''Search and return any associated objectdata whose tag is "user"'''
|
||||
for objectdata in entry.objectdata_set.all():
|
||||
if objectdata.tag.name == 'user':
|
||||
return self.object_filter_link(objectdata) + \
|
||||
self.object_link(objectdata)
|
||||
return format_html(self.object_filter_link(objectdata) + \
|
||||
self.object_link(objectdata))
|
||||
return _('None')
|
||||
user.allow_tags = True
|
||||
user.short_description = _('User')
|
||||
|
||||
def object_filter_link(self, objectdata):
|
||||
|
@ -146,16 +143,14 @@ class JournalAdmin(admin.ModelAdmin):
|
|||
ctx = entry.message_context()
|
||||
formatter = ModelAdminFormatter(model_admin=self, filter_link=False)
|
||||
message = formatter.format(escape(entry.template.content), **ctx)
|
||||
return u'<span>%s</span>' % message
|
||||
message_for_change.allow_tags = True
|
||||
return format_html('<span>{}</span>', mark_safe(message))
|
||||
message_for_change.short_description = _('Message')
|
||||
|
||||
def message_for_list(self, entry):
|
||||
ctx = entry.message_context()
|
||||
formatter = ModelAdminFormatter(model_admin=self)
|
||||
message = formatter.format(entry.template.content, **ctx)
|
||||
return u'<span>{0}</span>'.format(message)
|
||||
message_for_list.allow_tags = True
|
||||
return format_html('<span>{}</span>', mark_safe(message))
|
||||
message_for_list.short_description = _('Message')
|
||||
message_for_list.admin_order_field = 'message'
|
||||
|
||||
|
|
Loading…
Reference in New Issue