33 lines
No EOL
1.8 KiB
Python
33 lines
No EOL
1.8 KiB
Python
from django.db import models
|
|
from django.core.validators import MinValueValidator
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from django.contrib.auth.models import User
|
|
|
|
# Create your models here.
|
|
|
|
class Profile(models.Model):
|
|
user = models.OneToOneField(User, on_delete = models.CASCADE, verbose_name = _('utilisateur'))
|
|
full_name = models.CharField(max_length = 1023, verbose_name = _('nom'))
|
|
nickname = models.CharField(max_length = 1023, verbose_name = _('surnom'))
|
|
picture = models.ImageField(upload_to = 'picture', verbose_name = _('photo'))
|
|
department = models.ManyToManyField("Department", verbose_name = _('département'))
|
|
promotion = models.IntegerField(validators = [MinValueValidator(1980)], verbose_name = _('promotion'))
|
|
birth_date = models.DateField(verbose_name = _('date de naissance'))
|
|
thurne = models.CharField(max_length = 100, verbose_name = _('thurne'))
|
|
text_field = models.TextField(verbose_name = _('champ libre'))
|
|
printing = models.BooleanField(verbose_name = _("apparaître sur l'annuaire papier ?"))
|
|
keep_me = models.BooleanField(verbose_name = _('conserver la fiche annuaire ?'))
|
|
# Champ pour les très vielleux plus en scolarité qui veulent garder leur fiche annuaire
|
|
|
|
class Department(models.Model):
|
|
name = models.CharField(max_length = 1023, verbose_name = _('nom du département'))
|
|
|
|
class Phone(models.Model):
|
|
profile = models.OneToOneField(Profile, on_delete = models.CASCADE, verbose_name = _('profil'))
|
|
name = models.CharField(max_length = 1023, verbose_name = _('type'))
|
|
number = models.CharField(max_length = 1023, verbose_name = _('numéro'))
|
|
|
|
class Social(models.Model):
|
|
profile = models.OneToOneField(Profile, on_delete = models.CASCADE, verbose_name = _('profil'))
|
|
name = models.CharField(max_length = 1023, verbose_name = _('type'))
|
|
content = models.CharField(max_length = 1023, verbose_name = _('contenu')) |