1
0
Fork 0
mirror of https://github.com/Findus23/RPGnotes.git synced 2024-09-19 15:43:45 +02:00
RPGnotes/days/models.py

48 lines
1.2 KiB
Python
Raw Normal View History

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
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:
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):
return str(self.date)
2021-08-28 19:52:07 +02:00
2021-09-15 16:51:43 +02:00
class IngameDay(DescriptionModel, HistoryModel):
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"]
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):
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