Author: russellm
Date: 2009-05-05 07:46:50 -0500 (Tue, 05 May 2009)
New Revision: 10676

Modified:
   
django/branches/releases/1.0.X/django/contrib/admin/templates/admin/index.html
   django/branches/releases/1.0.X/tests/regressiontests/admin_views/tests.py
Log:
[1.0.X] 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

Merge of r10675 from trunk.

Modified: 
django/branches/releases/1.0.X/django/contrib/admin/templates/admin/index.html
===================================================================
--- 
django/branches/releases/1.0.X/django/contrib/admin/templates/admin/index.html  
    2009-05-05 11:52:03 UTC (rev 10675)
+++ 
django/branches/releases/1.0.X/django/contrib/admin/templates/admin/index.html  
    2009-05-05 12:46:50 UTC (rev 10676)
@@ -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 %}

Modified: 
django/branches/releases/1.0.X/tests/regressiontests/admin_views/tests.py
===================================================================
--- django/branches/releases/1.0.X/tests/regressiontests/admin_views/tests.py   
2009-05-05 11:52:03 UTC (rev 10675)
+++ django/branches/releases/1.0.X/tests/regressiontests/admin_views/tests.py   
2009-05-05 12:46:50 UTC (rev 10676)
@@ -592,6 +592,26 @@
         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))
@@ -919,7 +939,7 @@
 
     def setUp(self):
         self.client.login(username='super', password='secret')
-        
+
         # Set up test Picture and Gallery.
         # These must be set up here instead of in fixtures in order to allow 
Picture
         # to use a NamedTemporaryFile.
@@ -938,7 +958,7 @@
 
     def test_inline_file_upload_edit_validation_error_post(self):
         """
-        Test that inline file uploads correctly display prior data (#10002). 
+        Test that inline file uploads correctly display prior data (#10002).
         """
         post_data = {
             "name": u"Test Gallery",


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to