From e0363c688d9b85124ec4fbac00debe5f4dc1e63c Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Sat, 17 Nov 2012 19:16:30 +0100 Subject: [PATCH] Fixed #19114 -- Fixed LogEntry unicode representation Thanks niko at neagee.net for the report and Emil Stenstrom for the patch. --- django/contrib/admin/models.py | 13 ++++++++----- tests/regressiontests/admin_util/tests.py | 4 ++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/django/contrib/admin/models.py b/django/contrib/admin/models.py index e1d3b40d01..b697d7bdc8 100644 --- a/django/contrib/admin/models.py +++ b/django/contrib/admin/models.py @@ -4,7 +4,7 @@ from django.db import models from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.contrib.admin.util import quote -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext, ugettext_lazy as _ from django.utils.encoding import smart_text from django.utils.encoding import python_2_unicode_compatible @@ -42,13 +42,16 @@ class LogEntry(models.Model): def __str__(self): if self.action_flag == ADDITION: - return _('Added "%(object)s".') % {'object': self.object_repr} + return ugettext('Added "%(object)s".') % {'object': self.object_repr} elif self.action_flag == CHANGE: - return _('Changed "%(object)s" - %(changes)s') % {'object': self.object_repr, 'changes': self.change_message} + return ugettext('Changed "%(object)s" - %(changes)s') % { + 'object': self.object_repr, + 'changes': self.change_message, + } elif self.action_flag == DELETION: - return _('Deleted "%(object)s."') % {'object': self.object_repr} + return ugettext('Deleted "%(object)s."') % {'object': self.object_repr} - return _('LogEntry Object') + return ugettext('LogEntry Object') def is_addition(self): return self.action_flag == ADDITION diff --git a/tests/regressiontests/admin_util/tests.py b/tests/regressiontests/admin_util/tests.py index ef8a91d1db..e9e122a9f0 100644 --- a/tests/regressiontests/admin_util/tests.py +++ b/tests/regressiontests/admin_util/tests.py @@ -274,6 +274,10 @@ class UtilTests(unittest.TestCase): six.text_type(log_entry).startswith('Deleted ') ) + # Make sure custom action_flags works + log_entry.action_flag = 4 + self.assertEqual(six.text_type(log_entry), 'LogEntry Object') + def test_safestring_in_field_label(self): # safestring should not be escaped class MyForm(forms.Form):