Ticket #15661: 15661_logentry_unicode.diff

File 15661_logentry_unicode.diff, 2.2 KB (added by ShawnMilo, 13 years ago)

Patch modification and regression test, per Luke's suggestion.

  • django/contrib/admin/models.py

    diff --git django/contrib/admin/models.py django/contrib/admin/models.py
    index 73810b7..75a6239 100644
    class LogEntry(models.Model):  
    3333    def __repr__(self):
    3434        return smart_unicode(self.action_time)
    3535
     36    def __unicode__(self):
     37
     38        return_value = _('LogEntry Object')       
     39
     40        if self.action_flag == ADDITION:
     41            return_value = _('Added "%(object)s".') % {'object': self.object_repr}
     42        elif self.action_flag == CHANGE:
     43            return_value = _('Changed "%(object)s" - %(changes)s') % {'object': self.object_repr, 'changes': self.change_message}
     44        elif self.action_flag == DELETION:
     45            return_value = _('Deleted "%(object)s."') % {'object': self.object_repr}
     46
     47        return return_value
     48
    3649    def is_addition(self):
    3750        return self.action_flag == ADDITION
    3851
    class LogEntry(models.Model):  
    5366        """
    5467        if self.content_type and self.object_id:
    5568            return mark_safe(u"%s/%s/%s/" % (self.content_type.app_label, self.content_type.model, quote(self.object_id)))
    56         return None
    57  No newline at end of file
     69        return None
  • tests/regressiontests/admin_util/tests.py

    diff --git tests/regressiontests/admin_util/tests.py tests/regressiontests/admin_util/tests.py
    index f4b3dd9..e27417f 100644
    class UtilTests(unittest.TestCase):  
    235235            label_for_field('guest', Event, return_attr=True),
    236236            ('awesome guest', None),
    237237        )
     238
     239    def test_logentry_unicode(self):
     240        """
     241        Regression test for #15661
     242        """
     243        log_entry = admin.models.LogEntry()
     244
     245        log_entry.action_flag = admin.models.ADDITION
     246        self.assertTrue(
     247            log_entry.__unicode__().startswith('Added ')
     248        )
     249
     250        log_entry.action_flag = admin.models.CHANGE
     251        self.assertTrue(
     252            log_entry.__unicode__().startswith('Changed ')
     253        )
     254
     255        log_entry.action_flag = admin.models.DELETION
     256        self.assertTrue(
     257            log_entry.__unicode__().startswith('Deleted ')
     258        )
     259
     260       
     261
     262
     263
     264
Back to Top