From 63bc8860a9d55397e009a4d3bb192d7240ca6dc5 Mon Sep 17 00:00:00 2001 From: bernat Date: Mon, 28 Feb 2005 13:43:49 +0100 Subject: [PATCH] Possibilit d'inscrire un personnel ENS ( ne pas utiliser pour le moment) darcs-hash:20050228124349-d1718-80f17cfefa453d9af984630a5137d829f6f949da.gz --- gestion/gest_crans.py | 56 ++++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/gestion/gest_crans.py b/gestion/gest_crans.py index cf139e73..2309564e 100755 --- a/gestion/gest_crans.py +++ b/gestion/gest_crans.py @@ -24,6 +24,7 @@ To = 'fred@crans.org' import string, os, sys from whos import aff import time, signal, getopt +import re import affich_tools, config from lock import make_lock, remove_lock @@ -200,6 +201,7 @@ def set_etudes(adher) : arg+= u'"5" "1ère année thèse" ' arg+= u'"6" "2ème année thèse" ' arg+= u'"7" "3ème année thèse" ' + arg+= u'"8" "Personnel ENS (Wifi only)" ' arg+= u'"Autre" ""' annul , result = dialog(arg) if annul : return 1 @@ -233,6 +235,15 @@ def set_etudes(adher) : return __etudes_annee() else : result[0] += '_' + + if result[0] == "8" and adher.chbre() != "EXT": + # Un personnel ENS doit être renseigné en extérieur + arg = u'--title "Etudes (2/3)" ' + arg+= u'--msgbox "Réponse invalide\n\n' + \ + u'Un personnel ENS doit être localisé à l\'extérieur.\n\n\n" 0 0' + dialog(arg) + return __etudes_annee() + etudes[1] = result[0] @@ -338,23 +349,27 @@ def set_mail(adher) : return while 1 : - arg = u'--title "Adresse mail de %s" ' % adher.Nom() - arg+= u'--menu "Adresse mail de l\'adhérent :" 0 0 0 ' - arg+= u'"Adresse mail extérieure" "" ' - if adher.compte() : - arg+= u'"Laisser le compte sur zamok" "(login : %s)"' % adher.compte() - else : - arg+= u'"Créer un compte sur zamok" "(adresse @crans.org)"' + if (adher.etudes(0) != "ENS" or adher.etudes(1) != "8"): + arg = u'--title "Adresse mail de %s" ' % adher.Nom() + arg+= u'--menu "Adresse mail de l\'adhérent :" 0 0 0 ' + arg+= u'"Adresse mail extérieure" "" ' + if adher.compte() : + arg+= u'"Laisser le compte sur zamok" "(login : %s)"' % adher.compte() + else : + arg+= u'"Créer un compte sur zamok" "(adresse @crans.org)"' - annul , result = dialog(arg) - if annul : return 1 + annul , result = dialog(arg) + if annul : return 1 - if result[0].split()[0]=='Laisser' : - break - elif result[0].split()[0]=='Créer' : - if not set_compte(adher) : break - else : - if not set_mail_ext(adher) : break + if result[0].split()[0]=='Laisser' : + break + elif result[0].split()[0]=='Créer' : + if not set_compte(adher) : break + else : + if not set_mail_ext(adher) : break + else: + # Pour un personnel ENS, adresse email extérieure obligatoire + if not set_mail_ext(adher): break def set_mail_ext(adher) : """ @@ -369,6 +384,14 @@ def set_mail_ext(adher) : arg+= u'--inputbox "Adresse : " 0 0 "%s"' % default annul , result = dialog(arg) if annul : return 1 + + if (adher.etudes(0) == "ENS" and adher.etudes(1) == "8"): + # Adresse ens-cachan.fr obligatoire + if not re.match("^.*@.*ens-cachan\.fr$", result[0]): + arg = u'--title "Adresse mail extérieure de %s" ' % adher.Nom() + arg+= u'--msgbox "Pour un personnel ENS, l\'adresse en ens-cachan.fr est obligatoire.\n\n\n" 0 0' + dialog(arg) + return set_mail_ext(adher) try : adher.mail(result[0]) except ValueError, c : @@ -831,7 +854,8 @@ def set_admin(proprio) : Définition de l'état administratif : carte d'étudiant et paiement """ # Le proprietaire a t-il une section carte d'étudiant ? - if proprio.idn != 'cid' : + # Pas pour les clubs, pas pour les personnels ENS + if proprio.idn != 'cid' and (proprio.etudes(0) != "ENS" or proprio.etudes(1) != "8"): card = 1 else : card = 0