mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	RealmAuditLog: Add support for stringifying entries.
This commit is contained in:
		@@ -1871,7 +1871,7 @@ EMAIL_TYPES = {
 | 
			
		||||
    'invitation_reminder': ScheduledEmail.INVITATION_REMINDER,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class RealmAuditLog(models.Model):
 | 
			
		||||
class RealmAuditLog(ModelReprMixin, models.Model):
 | 
			
		||||
    realm = models.ForeignKey(Realm, on_delete=CASCADE)  # type: Realm
 | 
			
		||||
    acting_user = models.ForeignKey(UserProfile, null=True, related_name='+', on_delete=CASCADE)  # type: Optional[UserProfile]
 | 
			
		||||
    modified_user = models.ForeignKey(UserProfile, null=True, related_name='+', on_delete=CASCADE)  # type: Optional[UserProfile]
 | 
			
		||||
@@ -1884,6 +1884,13 @@ class RealmAuditLog(models.Model):
 | 
			
		||||
    backfilled = models.BooleanField(default=False)  # type: bool
 | 
			
		||||
    extra_data = models.TextField(null=True)  # type: Optional[Text]
 | 
			
		||||
 | 
			
		||||
    def __unicode__(self):
 | 
			
		||||
        if self.modified_user is not None:
 | 
			
		||||
            return u"<RealmAuditLog: %s %s %s>" % (self.modified_user, self.event_type, self.event_time)
 | 
			
		||||
        if self.modified_stream is not None:
 | 
			
		||||
            return u"<RealmAuditLog: %s %s %s>" % (self.modified_stream, self.event_type, self.event_time)
 | 
			
		||||
        return "<RealmAuditLog: %s %s %s>" % (self.realm, self.event_type, self.event_time)
 | 
			
		||||
 | 
			
		||||
class UserHotspot(models.Model):
 | 
			
		||||
    user = models.ForeignKey(UserProfile, on_delete=CASCADE)  # type: UserProfile
 | 
			
		||||
    hotspot = models.CharField(max_length=30)  # type: Text
 | 
			
		||||
 
 | 
			
		||||
@@ -52,6 +52,10 @@ class TestRealmAuditLog(ZulipTestCase):
 | 
			
		||||
                                                      event_time__gte=now).count(), 1)
 | 
			
		||||
        self.assertEqual(email, user.email)
 | 
			
		||||
 | 
			
		||||
        # Test the RealmAuditLog stringification
 | 
			
		||||
        audit_entry = RealmAuditLog.objects.get(event_type='user_email_changed', event_time__gte=now)
 | 
			
		||||
        self.assertTrue(str(audit_entry).startswith("<RealmAuditLog: <UserProfile: test@example.com <Realm: zulip 1>> user_email_changed "))
 | 
			
		||||
 | 
			
		||||
    def test_change_avatar_source(self):
 | 
			
		||||
        # type: () -> None
 | 
			
		||||
        now = timezone_now()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user