mirror of https://github.com/django/django.git
Fixed #10275 -- Corrected the edge case of rendering a LogEntry with a contenttype of None. Thanks to Jarek Zgoda for the report, and Peter Bengtsson for the patch
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10675 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
e91deca779
commit
9d28568cb4
|
@ -59,7 +59,19 @@
|
|||
{% else %}
|
||||
<ul class="actionlist">
|
||||
{% for entry in admin_log %}
|
||||
<li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">{% if not entry.is_deletion %}<a href="{{ entry.get_admin_url }}">{% endif %}{{ entry.object_repr }}{% if not entry.is_deletion %}</a>{% endif %}<br /><span class="mini quiet">{% filter capfirst %}{% trans entry.content_type.name %}{% endfilter %}</span></li>
|
||||
<li class="{% if entry.is_addition %}addlink{% endif %}{% if entry.is_change %}changelink{% endif %}{% if entry.is_deletion %}deletelink{% endif %}">
|
||||
{% if entry.is_deletion %}
|
||||
{{ entry.object_repr }}
|
||||
{% else %}
|
||||
<a href="{{ entry.get_admin_url }}">{{ entry.object_repr }}</a>
|
||||
{% endif %}
|
||||
<br/>
|
||||
{% if entry.content_type %}
|
||||
<span class="mini quiet">{% filter capfirst %}{% trans entry.content_type.name %}{% endfilter %}</span>
|
||||
{% else %}
|
||||
<span class="mini quiet">{% trans 'Unknown content' %}</span>
|
||||
{% endif %}
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
|
|
@ -579,6 +579,26 @@ class AdminViewStringPrimaryKeyTest(TestCase):
|
|||
should_contain = """<a href="admin_views/modelwithstringprimarykey/%s/">%s</a>""" % (quote(self.pk), escape(self.pk))
|
||||
self.assertContains(response, should_contain)
|
||||
|
||||
def test_recentactions_without_content_type(self):
|
||||
"If a LogEntry is missing content_type it will not display it in span tag under the hyperlink."
|
||||
response = self.client.get('/test_admin/admin/')
|
||||
should_contain = """<a href="admin_views/modelwithstringprimarykey/%s/">%s</a>""" % (quote(self.pk), escape(self.pk))
|
||||
self.assertContains(response, should_contain)
|
||||
should_contain = "Model with string primary key" # capitalized in Recent Actions
|
||||
self.assertContains(response, should_contain)
|
||||
logentry = LogEntry.objects.get(content_type__name__iexact=should_contain)
|
||||
# http://code.djangoproject.com/ticket/10275
|
||||
# if the log entry doesn't have a content type it should still be
|
||||
# possible to view the Recent Actions part
|
||||
logentry.content_type = None
|
||||
logentry.save()
|
||||
|
||||
counted_presence_before = response.content.count(should_contain)
|
||||
response = self.client.get('/test_admin/admin/')
|
||||
counted_presence_after = response.content.count(should_contain)
|
||||
self.assertEquals(counted_presence_before - 1,
|
||||
counted_presence_after)
|
||||
|
||||
def test_deleteconfirmation_link(self):
|
||||
"The link from the delete confirmation page referring back to the changeform of the object should be quoted"
|
||||
response = self.client.get('/test_admin/admin/admin_views/modelwithstringprimarykey/%s/delete/' % quote(self.pk))
|
||||
|
|
Loading…
Reference in New Issue