##// END OF EJS Templates
Refactored post post-save triggers
Refactored post post-save triggers

File last commit:

r1429:5967a527 default
r1440:2337e9d6 default
Show More
user.py
46 lines | 1.1 KiB | text/x-python | PythonLexer
from django.db import models
import boards.models.post
__author__ = 'neko259'
BAN_REASON_AUTO = 'Auto'
BAN_REASON_MAX_LENGTH = 200
class Ban(models.Model):
class Meta:
app_label = 'boards'
ip = models.GenericIPAddressField()
reason = models.CharField(default=BAN_REASON_AUTO,
max_length=BAN_REASON_MAX_LENGTH)
can_read = models.BooleanField(default=True)
def __str__(self):
return self.ip
class NotificationManager(models.Manager):
def get_notification_posts(self, usernames: list, last: int = None):
lower_names = [username.lower() for username in usernames]
posts = boards.models.post.Post.objects.filter(
notification__name__in=lower_names).distinct()
if last is not None:
posts = posts.filter(id__gt=last)
posts = posts.order_by('-id')
return posts
class Notification(models.Model):
class Meta:
app_label = 'boards'
objects = NotificationManager()
post = models.ForeignKey('Post')
name = models.TextField()