Adds model for instance admin announcements
This commit is contained in:
@ -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 = {
|
||||
|
24
bookwyrm/models/announcement.py
Normal file
24
bookwyrm/models/announcement.py
Normal 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)
|
Reference in New Issue
Block a user