##// END OF EJS Templates
Show only non-zero thread count in the tag detailed info
Show only non-zero thread count in the tag detailed info

File last commit:

r1234:730ce4d2 decentral
r1397:b2b4d7e6 default
Show More
user.py
46 lines | 1.0 KiB | text/x-python | PythonLexer
neko259
Split up user models
r386 from django.db import models
neko259
Added notification API
r994 import boards.models.post
neko259
Split up user models
r386 __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)
neko259
Updated ban admin to search by ip
r804 def __str__(self):
neko259
Split up user models
r386 return self.ip
neko259
User notifications (BB-59)
r990
neko259
Added notification API
r994 class NotificationManager(models.Manager):
def get_notification_posts(self, username: str, last: int = None):
neko259
Use only lowercase name in notifications. Refactored post manager and refmap...
r1008 i_username = username.lower()
posts = boards.models.post.Post.objects.filter(notification__name=i_username)
neko259
Added notification API
r994 if last is not None:
posts = posts.filter(id__gt=last)
posts = posts.order_by('-id')
return posts
neko259
User notifications (BB-59)
r990 class Notification(models.Model):
class Meta:
app_label = 'boards'
neko259
Added notification API
r994 objects = NotificationManager()
neko259
User notifications (BB-59)
r990 post = models.ForeignKey('Post')
name = models.TextField()