from django.db import models from django.utils import timezone from misago.conf import settings from misago.threads.checksums import is_event_valid class Event(models.Model): forum = models.ForeignKey('misago_forums.Forum') thread = models.ForeignKey('Thread') author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True, on_delete=models.SET_NULL) author_name = models.CharField(max_length=255) author_slug = models.CharField(max_length=255) icon = models.CharField(max_length=255) occured_on = models.DateTimeField(default=timezone.now, db_index=True) message = models.CharField(max_length=255) checksum = models.CharField(max_length=64, default='-') is_hidden = models.BooleanField(default=False) @property def is_valid(self): return is_event_valid(self) def set_author(self, user): self.author = user self.author_name = user.username self.author_slug = user.slug