12345678910111213141516171819202122232425262728 |
- from django.db import models
- from django.urls import reverse
- from adhesions.models import Adhesion, User, Corporation
- class Profile(models.Model):
- user = models.OneToOneField(User, related_name='profile', verbose_name='Utilisateur', on_delete=models.CASCADE)
- phone_number = models.CharField(max_length=16, blank=True, default='',
- verbose_name='Numéro de téléphone')
- address = models.TextField(blank=True, default='', verbose_name='Adresse')
- ssh_keys = models.TextField(blank=True, default='', verbose_name='Clefs SSH')
- notes = models.TextField(blank=True, default='')
- @property
- def email(self):
- return self.user.email
- class Meta:
- verbose_name = 'profil'
- @property
- def adhesions(self): # user and corporations (for which the user is a member) adhesions
- return Adhesion.objects.filter(models.Q(user__pk=self.user.pk) | models.Q(corporation__members__profile__pk=self.pk))
- def __str__(self):
- return self.user.get_full_name() or self.user.username
|