|
@@ -55,6 +55,16 @@ class Profile(AdhesionMixin, models.Model):
|
|
|
class Meta:
|
|
|
verbose_name = 'profil'
|
|
|
|
|
|
+ @property
|
|
|
+ def adherent(self):
|
|
|
+ ctype = ContentType.objects.get_for_model(User)
|
|
|
+ try:
|
|
|
+ adherent = Adherent.objects.get(adherent_type=ctype, adherent_id=self.user.pk)
|
|
|
+ except Adherent.DoesNotExist:
|
|
|
+ return None
|
|
|
+ else:
|
|
|
+ return adherent
|
|
|
+
|
|
|
def __str__(self):
|
|
|
return self.user.get_full_name() or self.user.username
|
|
|
|
|
@@ -64,14 +74,20 @@ class Corporation(AdhesionMixin, models.Model):
|
|
|
description = models.TextField(blank=True, default='')
|
|
|
address = models.TextField(blank=True, default='', verbose_name='Adresse')
|
|
|
members = models.ManyToManyField(User, blank=True, verbose_name='Membres')
|
|
|
- adhesions = GenericRelation(Adherent,
|
|
|
- content_type_field='adherent_type',
|
|
|
- object_id_field='adherent_id',
|
|
|
- related_query_name='corporation')
|
|
|
|
|
|
class Meta:
|
|
|
verbose_name = 'personne morale'
|
|
|
verbose_name_plural = 'personnes morales'
|
|
|
|
|
|
+ @property
|
|
|
+ def adherent(self):
|
|
|
+ ctype = ContentType.objects.get_for_model(self)
|
|
|
+ try:
|
|
|
+ adherent = Adherent.objects.get(adherent_type=ctype, adherent_id=self.pk)
|
|
|
+ except Adherent.DoesNotExist:
|
|
|
+ return None
|
|
|
+ else:
|
|
|
+ return adherent
|
|
|
+
|
|
|
def __str__(self):
|
|
|
return self.social_reason
|