Fixed #12349: Added missing unquote in admin history view. Thanks for the report guard.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@11808 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Karen Tracey 2009-12-10 19:58:20 +00:00
parent 9bf652dfd6
commit 5543b10608
2 changed files with 7 additions and 1 deletions

View File

@ -1059,7 +1059,7 @@ class ModelAdmin(BaseModelAdmin):
content_type__id__exact = ContentType.objects.get_for_model(model).id content_type__id__exact = ContentType.objects.get_for_model(model).id
).select_related().order_by('action_time') ).select_related().order_by('action_time')
# If no history was found, see whether this object even exists. # If no history was found, see whether this object even exists.
obj = get_object_or_404(model, pk=object_id) obj = get_object_or_404(model, pk=unquote(object_id))
context = { context = {
'title': _('Change history: %s') % force_unicode(obj), 'title': _('Change history: %s') % force_unicode(obj),
'action_list': action_list, 'action_list': action_list,

View File

@ -610,6 +610,12 @@ class AdminViewStringPrimaryKeyTest(TestCase):
def tearDown(self): def tearDown(self):
self.client.logout() self.client.logout()
def test_get_history_view(self):
"Retrieving the history for the object using urlencoded form of primary key should work"
response = self.client.get('/test_admin/admin/admin_views/modelwithstringprimarykey/%s/history/' % quote(self.pk))
self.assertContains(response, escape(self.pk))
self.failUnlessEqual(response.status_code, 200)
def test_get_change_view(self): def test_get_change_view(self):
"Retrieving the object using urlencoded form of primary key should work" "Retrieving the object using urlencoded form of primary key should work"
response = self.client.get('/test_admin/admin/admin_views/modelwithstringprimarykey/%s/' % quote(self.pk)) response = self.client.get('/test_admin/admin/admin_views/modelwithstringprimarykey/%s/' % quote(self.pk))