Commit 597b4203 authored by Hamza Dely's avatar Hamza Dely
Browse files

[activités] Demande la date de naissance pour assouplir les contraintes d'intégrité

parent 11d3c9e0
......@@ -83,11 +83,13 @@ class Invite(models.Model):
- nom [varchar(255)] : Nom de l'invité
- prenom [varchar(255)] : Prénom de l'invité
- naissance [tstz] : Date de naissance
- activite [int*] : Activité à laquelle l'invité participe
- invite_par [int*] : Adhérent invitant cette personne
"""
nom = models.CharField(max_length=255, null=False, blank=False)
prenom = models.CharField('prénom', max_length=255, null=False, blank=False)
naissance = models.DateField('date de naissance', null=False, blank=False)
activite = models.ForeignKey(
'activites.Activite', on_delete=models.CASCADE, verbose_name="activité",
null=False, blank=False, related_name="invites",
......@@ -101,7 +103,7 @@ class Invite(models.Model):
class Meta:
unique_together = [
# On invite une personne une seule fois à une activité donnée
('nom', 'prenom', 'activite'),
('nom', 'prenom', 'naissance', 'activite'),
]
default_permissions = []
permissions = [
......@@ -110,7 +112,7 @@ class Invite(models.Model):
]
def __str__(self):
return "Invité #%d : %s %s" % (self.id, self.prenom, self.nom)
return "Invité #%d : %s %s (%s)" % (self.id, self.prenom, self.nom, self.naissance)
def clean(self):
"""
......
......@@ -8,6 +8,7 @@
<tr>
<th>Prénom</th>
<th>Nom</th>
<th>Date de naissance</th>
<th>Est présent ?</th>
<th>Action</th>
</tr>
......@@ -17,6 +18,7 @@
<tr>
<td>{{ invite.prenom }}</td>
<td>{{ invite.nom }}</td>
<td>{{ invite.naissance|date }}</td>
<td{% if invite.present == True %} class="text-success"{% elif invite.present == False %} class="text-danger"{% endif %}>{{ invite.present|yesno("Présent,Absent,N/A") }}</td>
<td>
<div class="btn-toolbar" role="toolbar">
......@@ -35,13 +37,13 @@
</tr>
{% else %}
<tr>
<td colspan=4 class="text-center">
<td colspan=5 class="text-center">
<strong>Aucun invité pour cette activité</strong>
</td>
</tr>
{% endfor %}
<tr>
<td colspan=4 class="text-center">
<td colspan=5 class="text-center">
<a class="btn btn-primary" href="{{ url("activités:invitation", kwargs={'pk' : activite.id}) }}">Ajouter un invité</a>
</td>
</tr>
......
......@@ -216,7 +216,7 @@ class ActiviteInvitationView(NoteMixin, PermissionRequiredMixin, LoginRequiredMi
permission_required = D("activites.invite_inviter", Acl.LIMITE)
model = Invite
fields = ['prenom', 'nom', 'activite', 'invite_par']
fields = ['prenom', 'nom', 'naissance', 'activite', 'invite_par']
template_name = "activite_invitation.html"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment