diff --git a/apps/participation/models.py b/apps/participation/models.py index 804d811..27d92df 100644 --- a/apps/participation/models.py +++ b/apps/participation/models.py @@ -193,6 +193,16 @@ class Phase(models.Model): default=timezone.now, ) + @classmethod + def current_phase(cls): + qs = Phase.objects.filter(start__lte=timezone.now(), end__gte=timezone.now()) + if qs.exists(): + return qs.get() + qs = Phase.objects.order_by("phase_number").all() + if timezone.now() < qs.first().start: + return qs.first() + return qs.last() + def __str__(self): return _("Phase {phase_number:d} starts on {start:%Y-%m-%d %H:%M} and ends on {end:%Y-%m-%d %H:%M}")\ .format(phase_number=self.phase_number, start=self.start, end=self.end)