2021-08-29 22:09:22 +02:00
|
|
|
from datetime import date
|
|
|
|
|
2021-08-28 19:52:07 +02:00
|
|
|
from django.contrib.humanize.templatetags.humanize import ordinal
|
|
|
|
from django.db import models
|
|
|
|
from django.urls import reverse
|
2021-09-25 20:31:08 +02:00
|
|
|
from django.utils.translation import gettext_lazy as _
|
2021-08-28 19:52:07 +02:00
|
|
|
|
2021-09-15 16:51:43 +02:00
|
|
|
from common.models import DescriptionModel, HistoryModel
|
2021-08-29 22:09:22 +02:00
|
|
|
|
|
|
|
|
2021-09-15 16:51:43 +02:00
|
|
|
class Session(HistoryModel, models.Model):
|
2022-06-19 14:27:57 +02:00
|
|
|
date = models.DateField(_("Date"), default=date.today, unique=True)
|
2021-08-29 22:09:22 +02:00
|
|
|
|
|
|
|
class Meta:
|
2021-09-25 20:31:08 +02:00
|
|
|
ordering = ["-date"]
|
|
|
|
verbose_name = _("Session")
|
|
|
|
verbose_name_plural = _("Sessions")
|
2021-08-29 22:09:22 +02:00
|
|
|
|
|
|
|
def get_absolute_url(self):
|
|
|
|
return reverse('sessiondetail', args=[self.id])
|
|
|
|
|
|
|
|
def __str__(self):
|
2021-09-25 20:31:08 +02:00
|
|
|
return str(self.date)
|
2021-08-28 19:52:07 +02:00
|
|
|
|
|
|
|
|
2021-09-15 16:51:43 +02:00
|
|
|
class IngameDay(DescriptionModel, HistoryModel):
|
2021-09-25 20:31:08 +02:00
|
|
|
day = models.PositiveIntegerField(_("Day"))
|
|
|
|
sessions = models.ManyToManyField(Session, related_name="ingame_days", verbose_name=_("Session"))
|
2021-08-28 19:52:07 +02:00
|
|
|
|
|
|
|
class Meta:
|
|
|
|
ordering = ["-day"]
|
2021-09-25 20:31:08 +02:00
|
|
|
verbose_name = _("Day")
|
|
|
|
verbose_name_plural = _("Days")
|
2021-08-28 19:52:07 +02:00
|
|
|
|
|
|
|
def get_absolute_url(self):
|
2021-08-29 00:20:02 +02:00
|
|
|
return reverse('daydetail', args=[self.day])
|
2021-08-28 19:52:07 +02:00
|
|
|
|
|
|
|
@property
|
|
|
|
def prettyname(self):
|
2021-09-25 20:31:08 +02:00
|
|
|
return ordinal(self.day) + " " + _("day")
|
2021-08-28 19:52:07 +02:00
|
|
|
|
2022-04-11 22:48:31 +02:00
|
|
|
@property
|
|
|
|
def name(self):
|
|
|
|
return self.prettyname
|
|
|
|
|
2021-08-28 19:52:07 +02:00
|
|
|
def __str__(self):
|
|
|
|
return self.prettyname
|