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)