Adds model for instance admin announcements

This commit is contained in:
Mouse Reeve
2021-05-19 13:56:00 -07:00
parent 3b295a724e
commit d1f2d9812f
5 changed files with 86 additions and 2 deletions

View File

@ -25,6 +25,7 @@ from .federated_server import FederatedServer
from .import_job import ImportJob, ImportItem
from .site import SiteSettings, SiteInvite, PasswordReset, InviteRequest
from .announcement import Announcement
cls_members = inspect.getmembers(sys.modules[__name__], inspect.isclass)
activity_models = {

View File

@ -0,0 +1,24 @@
""" admin announcements """
from django.db import models
from django.utils import timezone
from .base_model import BookWyrmModel
class Announcement(BookWyrmModel):
"""The admin has something to say"""
user = models.ForeignKey("User", on_delete=models.PROTECT)
name = models.CharField(max_length=255)
preview = models.CharField(max_length=255)
content = models.TextField()
event_date = models.DateTimeField(blank=True, null=True)
start_date = models.DateTimeField(blank=True, null=True)
end_date = models.DateTimeField(blank=True, null=True)
active = models.BooleanField(default=True)
@classmethod
def active_announcements(cls):
"""announcements that should be displayed"""
now = timezone.now()
return cls.objects.filter(active=True, start_date__lte=now, end_date__gte=now)