ernestophone.ens.fr/calendrier/models.py

75 lines
2.3 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 INSTRU_CHOICES
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,
2021-08-09 12:41:44 +02:00
verbose_name=_("Infos (visible seulement des fanfaron·ne·s)"),
2021-04-29 00:27:33 +02:00
null=True,
)
desc_users_en = models.TextField(
2021-04-29 00:27:33 +02:00
blank=True,
2021-08-09 12:41:44 +02:00
verbose_name=_("Infos en anglais (visible seulement des fanfaron·ne·s"),
2021-04-29 00:27:33 +02:00
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")),
2021-08-09 12:41:44 +02:00
("C", _("Visible seulement par les cheff·e·s")),
("D", _("Visible seulement par les cheff·e·s et sur l'agenda public")),
]
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
)
instrument = models.CharField(max_length=50, blank=True, null=True, choices=INSTRU_CHOICES)
instrument_autre = models.CharField(max_length=50, blank=True, null=True)
dont_play_main = models.CharField(
_("Je veux jouer d'un instrument different de mon instrument principal:"),
default="Non",
null=False,
max_length=3,
choices=[("Non", _("Non")), ("Oui", _("Oui"))],
)
details = models.CharField(max_length=50, blank=True)