Commit fbfe1865 authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue

[gest_crans_lc] Demande simplement une date de naissance.

parent 6a41f215
......@@ -11,6 +11,7 @@ Licence : GPLv3
"""
import os
import re
import sys
import copy
import ldap
......@@ -37,6 +38,8 @@ import machine
import blacklist
from CPS import TailCall, tailcaller, Continue
BDATE_RE = re.compile(r"(?P<jour>[^ ]*)/(?P<mois>[^ ]*)/(?P<annee>[^ ]*)")
class Dialog(machine.Dialog, blacklist.Dialog):
def modif_proprio_attributs(self, proprio, attr, cont):
"""Juste un raccourci vers edit_attributs spécifique aux proprios"""
......@@ -900,16 +903,53 @@ class Dialog(machine.Dialog, blacklist.Dialog):
else:
make_compte_crans = False
debut_tuple = self.get_timestamp(title="Création d'un utilisateur", text="Choisir la date de naissance", cont=cont, date_only=True)
naissance_date = datetime.date(debut_tuple[0], debut_tuple[1], debut_tuple[2])
if relativedelta(datetime.date.today(), naissance_date).years < 18:
if self.dialog.yesno(
text="\Zr\Z1AVERTISSEMENT :\Zn \nL'adhérent est mineur, vous DEVEZ disposer d'une autorisation parentale écrite\n\n\n\ZnContinuer ?",
title="Création d'un utilisateur",
defaultno=True,
width=70,
colors=True, timeout=self.timeout) != self.dialog.DIALOG_OK:
raise Continue(cont)
if sorte != "club":
while True:
(code, results) = self.dialog.form(
text="Veuillez fournir la date de naissance de l'adhérent, au format JJ/MM/AAAA",
timeout=self.timeout,
height=0,
width=0,
form_height=0,
fields=[
(
"",
"",
30,
),
],
title="Création d'un utilisateur",
backtitle="Gestion des adhérents du Crans",
)
if code:
raise Continue(cont)
__bdate_captured = BDATE_RE.match(results[0])
if __bdate_captured is not None:
try:
debut_tuple = (
int(__bdate_captured.groupdict()['annee']),
int(__bdate_captured.groupdict()['mois']),
int(__bdate_captured.groupdict()['jour']),
)
naissance_date = datetime.date(debut_tuple[0], debut_tuple[1], debut_tuple[2])
except (TypeError, ValueError) as cant_fill_correctly_a_birth_date:
self.dialog.msgbox(
text="Merci de rentrer une date de naissance dans le format demandé.",
)
continue
if relativedelta(datetime.date.today(), naissance_date).years < 18:
if self.dialog.yesno(
text="\Zr\Z1AVERTISSEMENT :\Zn \nL'adhérent est mineur, vous DEVEZ disposer d'une autorisation parentale écrite\n\n\n\ZnContinuer ?",
title="Création d'un utilisateur",
defaultno=True,
width=70,
colors=True, timeout=self.timeout) != self.dialog.DIALOG_OK:
raise Continue(cont)
break
fields = [(
"%s %s:" % (a.legend, '(optionnel) ' if a.optional else ''),
......
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