25 lines
846 B
Python
25 lines
846 B
Python
|
""" 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)
|