Source code for oioioi.globalmessage.models

from django.db import models

from django.utils.translation import gettext_lazy as _



[docs]class GlobalMessage(models.Model):
[docs] message = models.TextField(verbose_name=_("message"))
[docs] enabled = models.BooleanField(default=False, verbose_name=_("enabled"))
[docs] start = models.DateTimeField(null=True, blank=True, verbose_name=_("start"))
[docs] end = models.DateTimeField(null=True, blank=True, verbose_name=_("end"))
[docs] def visible(self, timestamp): return ( self.enabled and ((not self.start) or self.start <= timestamp) and ((not self.end) or timestamp <= self.end) )
@staticmethod
[docs] def get_singleton(): msg, _ = GlobalMessage.objects.get_or_create(pk=1) return msg
[docs] def __str__(self): return str(self.message)