ernestophone.ens.fr/calendrier/models.py

63 lines
1.7 KiB
Python
Raw Normal View History

import uuid
2021-04-29 00:27:33 +02:00
from django.db import models
from django.utils.translation import gettext_lazy as _
2021-04-29 00:27:33 +02:00
from gestion.models import ErnestoUser
2015-07-22 22:08:59 +02:00
ANSWERS = (
2021-04-29 00:27:33 +02:00
("oui", _("Oui")),
("non", _("Non")),
("pe", _("Peut-etre")),
)
2015-04-13 18:56:43 +02:00
class Event(models.Model):
2021-04-29 00:27:33 +02:00
2015-04-13 18:56:43 +02:00
nom = models.CharField(max_length=100)
nomcourt = models.CharField(max_length=9, verbose_name=_("Nom court"))
2015-04-13 18:56:43 +02:00
date = models.DateField()
debut = models.TimeField()
fin = models.TimeField(blank=True, null=True)
2021-04-29 00:27:33 +02:00
slug = models.CharField(
max_length=7, editable=False, unique=True, default=uuid.uuid1
)
2015-04-13 18:56:43 +02:00
lieu = models.CharField(max_length=200)
description = models.TextField(blank=True)
description_en = models.TextField(blank=True)
desc_users = models.TextField(
2021-04-29 00:27:33 +02:00
blank=True,
verbose_name=_("Infos (visible seulement des fanfaron-ne-s)"),
null=True,
)
desc_users_en = models.TextField(
2021-04-29 00:27:33 +02:00
blank=True,
verbose_name=_("Infos en anglais (visible seulement des fanfaron-ne-s"),
null=True,
)
CALENDRIER_CHOICES = [
2021-04-29 00:27:33 +02:00
("F", _("Visible seulement par les fanfarons")),
("T", _("Afficher dans le calendrier pour tous")),
("H", _("Hall of fame")),
]
calendrier = models.CharField(
max_length=1,
choices=CALENDRIER_CHOICES,
2021-04-29 00:27:33 +02:00
default="F",
)
2015-04-13 18:56:43 +02:00
def __str__(self):
return self.nom
2015-07-22 22:08:59 +02:00
class Meta:
verbose_name = _("Evenement")
2021-04-29 00:27:33 +02:00
2015-07-22 22:08:59 +02:00
class Participants(models.Model):
2018-01-04 23:43:10 +01:00
event = models.ForeignKey(Event, on_delete=models.CASCADE)
participant = models.ForeignKey(ErnestoUser, on_delete=models.CASCADE)
2021-04-29 00:27:33 +02:00
reponse = models.CharField(
_("Réponse"), max_length=20, default="non", choices=ANSWERS
)
details = models.CharField(max_length=50, blank=True)