summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Plant <L.Plant.98@cantab.net>2011-04-28 14:54:09 +0000
committerLuke Plant <L.Plant.98@cantab.net>2011-04-28 14:54:09 +0000
commitf459169170910c3d94ee916ed79e2b9ff48915a2 (patch)
tree91e58f42e24c796c84be37c75e6d6b02fadb4425
parent7b129a82b3418edba3e26fe654f303df184a3efc (diff)
Fixed #15661 - LogEntry objects have no unicode method
Thanks to Keryn Knight for the report and initial patch, and ShawnMilo for additional work on the patch. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16120 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/contrib/admin/models.py13
-rw-r--r--tests/regressiontests/admin_util/tests.py21
2 files changed, 33 insertions, 1 deletions
diff --git a/django/contrib/admin/models.py b/django/contrib/admin/models.py
index 73810b7399..ae71622881 100644
--- a/django/contrib/admin/models.py
+++ b/django/contrib/admin/models.py
@@ -33,6 +33,17 @@ class LogEntry(models.Model):
def __repr__(self):
return smart_unicode(self.action_time)
+ def __unicode__(self):
+
+ if self.action_flag == ADDITION:
+ return _('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}
+ elif self.action_flag == DELETION:
+ return _('Deleted "%(object)s."') % {'object': self.object_repr}
+
+ return_value = _('LogEntry Object')
+
def is_addition(self):
return self.action_flag == ADDITION
@@ -53,4 +64,4 @@ class LogEntry(models.Model):
"""
if self.content_type and self.object_id:
return mark_safe(u"%s/%s/%s/" % (self.content_type.app_label, self.content_type.model, quote(self.object_id)))
- return None \ No newline at end of file
+ return None
diff --git a/tests/regressiontests/admin_util/tests.py b/tests/regressiontests/admin_util/tests.py
index f4b3dd935d..ef34a5b026 100644
--- a/tests/regressiontests/admin_util/tests.py
+++ b/tests/regressiontests/admin_util/tests.py
@@ -235,3 +235,24 @@ class UtilTests(unittest.TestCase):
label_for_field('guest', Event, return_attr=True),
('awesome guest', None),
)
+
+ def test_logentry_unicode(self):
+ """
+ Regression test for #15661
+ """
+ log_entry = admin.models.LogEntry()
+
+ log_entry.action_flag = admin.models.ADDITION
+ self.assertTrue(
+ unicode(log_entry).startswith('Added ')
+ )
+
+ log_entry.action_flag = admin.models.CHANGE
+ self.assertTrue(
+ unicode(log_entry).startswith('Changed ')
+ )
+
+ log_entry.action_flag = admin.models.DELETION
+ self.assertTrue(
+ unicode(log_entry).startswith('Deleted ')
+ )