event.py 1003 B

1234567891011121314151617181920212223242526272829
  1. from django.db import models
  2. from django.utils import timezone
  3. from misago.conf import settings
  4. from misago.threads.checksums import is_event_valid
  5. class Event(models.Model):
  6. forum = models.ForeignKey('misago_forums.Forum')
  7. thread = models.ForeignKey('Thread')
  8. author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True,
  9. on_delete=models.SET_NULL)
  10. author_name = models.CharField(max_length=255)
  11. author_slug = models.CharField(max_length=255)
  12. icon = models.CharField(max_length=255)
  13. occured_on = models.DateTimeField(default=timezone.now, db_index=True)
  14. message = models.CharField(max_length=255)
  15. checksum = models.CharField(max_length=64, default='-')
  16. is_hidden = models.BooleanField(default=False)
  17. @property
  18. def is_valid(self):
  19. return is_event_valid(self)
  20. def set_author(self, user):
  21. self.author = user
  22. self.author_name = user.username
  23. self.author_slug = user.slug