diff options
| author | Luke Plant <L.Plant.98@cantab.net> | 2011-04-28 14:54:09 +0000 |
|---|---|---|
| committer | Luke Plant <L.Plant.98@cantab.net> | 2011-04-28 14:54:09 +0000 |
| commit | f459169170910c3d94ee916ed79e2b9ff48915a2 (patch) | |
| tree | 91e58f42e24c796c84be37c75e6d6b02fadb4425 | |
| parent | 7b129a82b3418edba3e26fe654f303df184a3efc (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.py | 13 | ||||
| -rw-r--r-- | tests/regressiontests/admin_util/tests.py | 21 |
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 ') + ) |
