Commit 1c662af7 authored by Hamza Dely's avatar Hamza Dely

[WEI] Suppression de certains champs sur les formulaires

parent 8253689c
......@@ -456,20 +456,79 @@ ROLES = (
('inconnu', 'Je ne sais pas'),
)
class WEImonInscriptionForm(forms.Form):
"""
Questionnaire WEI pour les 2A+
"""
tel = forms.CharField(max_length=10, required=True, label="Téléphone")
urgence_nom = forms.CharField(max_length=255, required=True, label="Nom de la personne à contacter en cas d'urgence")
urgence_tel = forms.CharField(max_length=10, required=True, label="Téléphone de la personne à contacter en cas d'urgence")
annee = forms.IntegerField(min_value=0, required=True, label="Années à l'ENS (2015-2016 incluse)")
dept = forms.ChoiceField(choices=DEPTS, required=True, label="Département d'enseignement")
paiement = forms.ChoiceField(choices=MODES_PAIEMENTS, required=True, label="Mode de paiement")
normalien = forms.BooleanField(required=False, initial=False, label="Normalien, Prof, Directeur de département...)")
pbsante = forms.CharField(widget=forms.Textarea, required=False, label="Informations pour le staff WEI (allergies/intolérances, végétarien, problèmes de santé, ...)")
bus = forms.CharField(max_length=255, initial='Je ne sais pas', required=False, label="Bus demandé")
role = forms.MultipleChoiceField(choices=ROLES, initial='inconnu', required=True, label="Je voudrais faire mon WEI en tant que", widget=forms.CheckboxSelectMultiple)
def _is_tel_number(self, data):
"""
Méthode permettant de vérifier qu'il s'agit bien d'un numéro
de téléphone valide.
"""
raw_tel = data
AUTH_PREFIXES = ['01', '02', '03', '04', '05', '06', '07', ]
# On commence par vérifier que le numéro a la bonne taille
if len(raw_tel) != 10:
raise forms.ValidationError("Ton numéro de téléphone ne fait pas 10 chiffres")
# Ensuite on vérifie le préfixe
if not raw_tel[0:2] in AUTH_PREFIXES:
raise forms.ValidationError("Ton numéro de téléphone est invalide")
# Ensuite on vérifie qu'il s'agit bien d'un entier
try:
cleaned_tel = int(raw_tel)
except ValueError:
raise forms.ValidationError("Ton numéro de téléphone est invalide")
return raw_tel
def clean_tel(self):
"""
Méthode effectuant les vérifications sur la validité du champ tel
entré par l'utilisateur.
"""
return self._is_tel_number(self.cleaned_data["tel"])
def clean_urgence_tel(self):
"""
Méthode effectuant les vérifications sur la validité du champ urgence_tel
entré par l'utilisateur.
"""
return self._is_tel_number(self.cleaned_data["urgence_tel"])
def clean_role(self):
"""
Méthode procédant à la validation du champ role, et le transformant en
chaine de caractères afin de pouvoir être stocké dans la base de données.
"""
return ";".join(self.cleaned_data["role"])
class WEIVieuxForm(forms.Form):
"""
Questionnaire WEI pour les 2A+
"""
nom = forms.CharField(max_length=255, required=True, label="Nom")
prenom = forms.CharField(max_length=255, required=True, label="Prénom")
tel = forms.CharField(max_length=10, required=True, label="Téléphone")
urgence_nom = forms.CharField(max_length=255, required=True, label="Nom de la personne à contacter en cas d'urgence")
urgence_tel = forms.CharField(max_length=10, required=True, label="Téléphone de la personne à contacter en cas d'urgence")
mail = forms.EmailField(max_length=254, required=True, label="Email")
annee = forms.IntegerField(min_value=0, required=True, label="Années à l'ENS")
annee = forms.IntegerField(min_value=0, required=True, label="Années à l'ENS (2015-2016 incluse)")
dept = forms.ChoiceField(choices=DEPTS, required=True, label="Département d'enseignement")
paiement = forms.ChoiceField(choices=MODES_PAIEMENTS, required=True, label="Mode de paiement")
normalien = forms.BooleanField(required=False, initial=False, label="Je perçois une rémunération (normalien, prof, ...)")
normalien = forms.BooleanField(required=False, initial=False, label="Normalien, Prof, Directeur de département...)")
pseudo = forms.CharField(max_length=255, required=True, label="Nom de note")
pbsante = forms.CharField(widget=forms.Textarea, required=False, label="Informations pour le staff WEI (allergies/intolérances, végétarien, problèmes de santé, ...)")
bus = forms.CharField(max_length=255, initial='Je ne sais pas', required=False, label="Bus demandé")
......@@ -520,3 +579,4 @@ class WEIVieuxForm(forms.Form):
"""
return ";".join(self.cleaned_data["role"])
......@@ -1146,11 +1146,15 @@ def WEImonInscription(request, sock, kwargs):
if request.method == 'GET':
dept = utilities._get_dept_code(compte["section"])
compte["dept"] = dept
form = forms.WEIVieuxForm(initial=compte)
form = forms.WEImonInscriptionForm(initial=compte)
elif request.method == 'POST':
form = forms.WEIVieuxForm(request.POST)
form = forms.WEImonInscriptionForm(request.POST)
if form.is_valid():
form.cleaned_data["idbde"] = compte["idbde"]
form.cleaned_data["prenom"] = compte["prenom"]
form.cleaned_data["nom"] = compte["nom"]
form.cleaned_data["mail"] = compte["mail"]
form.cleaned_data["pseudo"] = compte["pseudo"]
sock.write(json.dumps(["wei_compute_form", ["vieux", form.cleaned_data, ], ]))
out = nk.full_read(sock)
if out["retcode"] != 0:
......
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