ernestophone.ens.fr/gestion/models.py
2020-09-10 15:06:53 +02:00

85 lines
3.8 KiB
Python

# -*- coding: utf-8 -*-
from django.db import models
from colorful.fields import RGBColorField
from django.contrib.auth.models import User
from django.utils.translation import gettext_lazy as _
class ErnestoUser(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
is_ernesto = models.BooleanField(_("Membre de l'Ernestophone"), default=True)
is_chef = models.BooleanField(_("Chef Fanfare"), default=False)
phone = models.CharField(_("Téléphone"), max_length=20, blank=True ,help_text= _("seulement visible par les chef·fe·s"))
INSTRU_CHOICES = [
('Clarinette', _('Clarinette')),
('Euphonium', _('Euphonium')),
('Percussion', _('Percussion')),
('Piccolo', _('Piccolo')),
('Saxophone Alto', _('Saxophone Alto')),
('Saxophone Ténor', _('Saxophone Ténor')),
('Saxophone Baryton', _('Saxophone Baryton')),
('Souba', _('Souba')),
('Trombone', _('Trombone')),
('Trompette', _('Trompette')),
('Autre', _('Autre')),
('ne sais pas', _('Je ne sais pas encore')),
]
COLORS_CHOICES = [
('#e4522f#ffffff', _('Orange et Blanc')),
('#ffffff#000000', _('Blanc et Noir')),
('#A8107C#000000', _('Rose et Noir')),
('#10A4A8#ffffff', _('Bleu et Blanc')),
('#26A810#000000', _('Vert et Noir')),
('#A81026#ffffff', _('Rouge et Blanc')),
('#E3E54C#000000', _('Jaune et Noir')),
('autre',_('Autre')),
]
instru = models.CharField(_("Instrument joué"), max_length=40, blank=False,choices=INSTRU_CHOICES,default='ne sais pas')
instru_autre = models.CharField(_("Lequel ?"),null=True,max_length=100,blank=True)
slug = models.CharField(max_length=7, editable=False, unique=True)
doodlename = models.CharField(_("Nom pour le doodle"), max_length=30,
blank=True)
trombonoscope = models.CharField(_('Je souhaite apparaitre dans le trombonoscope :'),max_length=3,blank=False,null=True,choices=[('non',_('Non')),('o_a',_('Oui en tant que fanfaron actuel')),('o_v',_('Oui en tant que vie·ille·ux'))],default='non')
instru_trombonoscope = models.CharField(_("Instrument affiché sur le trombonoscope"), max_length=30,
blank=True)
nom_trombonoscope = models.CharField(_("Nom affiché sur le trombonoscope"), max_length=30,
blank=True)
trombonoscope_colors = models.CharField(_("Couleur du profil"), max_length=40, blank=False,choices=COLORS_CHOICES,default='OrangeBlanc')
trombonoscope_fond = RGBColorField(_("Couleur de fond du profil"),default='#e4522f')
trombonoscope_texte = RGBColorField(_("Couleur du texte du profil"),default='#ffffff')
multi_instrumentiste = models.CharField(_("Je suis capable de jouer d'un autre instrument en manche :"),default='Non',null=False,max_length=3,choices=[('Non',_('Non')),('Oui',_('Oui'))],help_text= _("Seulement si tu connais les partitions par coeur"))
instru_bonus = models.CharField(_("Le·s·quel·s ?"),null=True,max_length=100,blank=True)
class Meta:
verbose_name = _("Profil Ernestophoniste")
verbose_name_plural = _("Profil Ernestophoniste")
def __str__(self):
return self.user.username
def get_doodlename(self):
if self.doodlename:
return self.doodlename
return self.user.username
class VideoGallery(models.Model):
name = models.CharField(max_length=127)
order = models.IntegerField(verbose_name=_("ordre"))
url = models.URLField()
def __str__(self):
return self.name
class Meta:
verbose_name = _("Video")
verbose_name_plural = _("Videos")