Commit 6a41f215 authored by Gabriel Detraz's avatar Gabriel Detraz

Adapte ldap_crans pour champ étude monovalué

parent dd069db5
......@@ -268,154 +268,22 @@ def set_etudes(adher):
if annul: return 1
if result[0] == 'Autre':
arg = u'--title "Etudes de %s (1/3)" ' % adher.Nom()
arg = u'--title "Etudes de %s" ' % adher.Nom()
arg += u'--inputbox "Précisez l\'établissement d\'études" 0 0 "%s"' % adher.etudes(0)
annul, result = dialog(arg)
if annul: return 1
if result == ['']:
# Pas bon
arg = u'--title "Etudes (2/3)" '
arg = u'--title "Etudes" '
arg += u'--msgbox "Réponse invalide\n\n\n" 0 0'
dialog(arg)
return __etudes_etab()
etudes[0] = result[0]
def __etudes_annee():
arg = u'--title "Etudes de %s (2/3)" ' % adher.Nom()
if etudes[0] == 'ENS':
arg += u'--default-item "%s" ' % adher.etudes(1)
arg += u'--menu "Choisissez l\'année administrative" 0 0 0 '
arg += u'"1" "License" '
arg += u'"2" "Master 1" '
arg += u'"3" "Agrégation" '
arg += u'"4" "Master 2" '
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'"Autre" ""'
annul, result = dialog(arg)
if annul: return 1
elif etudes[0] in ['P1', 'P2', 'P3', 'P4', 'P5', 'P6', 'P7', 'P8', 'P9', 'P10', 'P11', 'P12', 'P13']:
arg += u'--default-item "%s" ' % adher.etudes(1)
arg += u'--menu "Choisissez l\'année administrative" 0 0 0 '
arg += u'"Deug 1" "Deug 1ère année" '
arg += u'"Deug 2" "Deug 2ème année" '
arg += u'"Licence" "" '
arg += u'"Master 1" "Master 1ère année" '
arg += u'"Master 2" "Master 2ème année" '
arg += u'"Thèse 1" "1ème année thèse" '
arg += u'"Thèse 2" "2ème année thèse" '
arg += u'"Thèse 3" "3ème année thèse" '
arg += u'"Autre" ""'
annul, result = dialog(arg)
if annul: return 1
elif etudes[0] == "Personnel ENS":
result = ['0']
else:
result = ['Autre']
if result[0] == 'Autre':
arg = u'--title "Etudes de %s (2/3)" ' % adher.Nom()
arg += u'--inputbox "Année adminstrative :\nET UNIQUEMENT l\'ANNEE : la section sera demandée après." 0 0 "%s"' % adher.etudes(1)
annul, result = dialog(arg)
if annul: return 1
if result == ['']:
# Pas bon
arg = u'--title "Etudes (2/3)" '
arg += u'--msgbox "Réponse invalide\n\n\n" 0 0'
dialog(arg)
return __etudes_annee()
etudes[1] = result[0]
def __etudes_section():
arg = u'--title "Etudes de %s (3/3)" ' % adher.Nom()
# Pour l'ENS
if etudes[0] == 'ENS':
arg += u'--default-item "%s" ' % adher.etudes(2)
if etudes[1] in '1234':
arg += u'--menu "Choisissez la section : " 0 0 0 '
else:
arg += u'--menu "Choisissez le laboratoire :" 0 0 0 '
if not etudes[1] in '1234':
arg += u'"CMLA" "Centre de Mathématiques et de Leurs Applications" '
arg += u'"GAPP" "Groupe d\'Analyse des Politiques Publiques" '
arg += u'"IDHE" "Institutions et Dynamiques Historiques de l\'Economie" '
arg += u'"LBPA" "Laboratoire de Biotechnologies et Pharmacologie génétique Appliquées" '
arg += u'"LMT" "Laboratoire de Mécanique et Technologie" '
arg += u'"LPQM" "Laboratoire de Photonique Quantique et Moléculaire" '
arg += u'"LSV" "Laboratoire de Spécification et Vérification" '
arg += u'"LURPA" "Laboratoire Universitaire de Recherche en Production Automatisée" '
arg += u'"PPSM" "Laboratoire de Photophysique et Photochimie Supramoléculaires et Macromoléculaires" '
arg += u'"SATIE" "Systèmes et Applications des Technologies de l\'Information et de l\'Energie" '
arg += u'"STEF" "Sciences Techniques Education Formation" '
if etudes[1] in '1234':
arg += u'"A0" "Informatique" '
arg += u'"A1" "Mathématiques" '
arg += u'"A2" "Physique fondamentale" '
arg += u'"A\'\'2" "Chimie" '
arg += u'"A3" "Biochimie" '
if etudes[1] == '1':
arg += u'"SAPHIRE" "Sciences Appliquées en PHysique et Ingénierie pour la Recherche et l\'Enseignement" '
elif etudes[1] == '2':
arg += u'"EEA" "Électronique, électrotechnique et automatique" '
arg += u'"B1" "Mécanique" '
arg += u'"B2" "Génie civil" '
arg += u'"B3" "Génie mécanique" '
else:
arg += u'"B1" "Mécanique" '
arg += u'"B2" "Génie civil" '
arg += u'"B3" "Génie mécanique" '
arg += u'"A\'2" "Physique appliquée" '
arg += u'"B4" "Génie électrique" '
arg += u'"C" "Art et création industrielle" '
arg += u'"D2" "Economie gestion" '
arg += u'"D3" "Sciences sociales" '
arg += u'"E" "Anglais" '
etudes = ['']
arg += u'"Autre" ""'
annul, result = dialog(arg)
if annul: return 1
if result == ['']:
# Pas bon
arg = u'--title "Etudes (2/3)" '
arg += u'--msgbox "Réponse invalide\n\n\n" 0 0'
dialog(arg)
return __etudes_annee()
elif etudes[0] == 'Personnel ENS':
result = ['n/a']
else:
result = ['Autre']
if result[0] == 'Autre':
arg = u'--title "Etudes de %s (3/3)" ' % adher.Nom()
arg += u'--inputbox "Section : " 0 0 "%s"' % adher.etudes(2)
annul, result = dialog(arg)
if annul: return 1
if result == ['']:
# Pas bon
arg = u'--title "Etudes (3/3)" '
arg += u'--msgbox "Réponse invalide\n\n\n" 0 0'
dialog(arg)
return __etudes_section()
etudes[2] = result[0]
etudes = ['', '', '']
step = 1
while 1:
if step == 1:
if __etudes_etab(): return 1
else: step += 1
if step == 2:
if __etudes_annee(): step -= 1
else: step += 1
if step == 3:
if __etudes_section(): step -= 1
else: break
__etudes_etab()
try:
adher.etudes(etudes)
except ValueError, c:
......
......@@ -2507,7 +2507,7 @@ class Adherent(BaseProprietaire):
def etudes(self, index_or_new):
"""
Retourne l'un des 3 champs études (selon index_or_new si entier)
Retourne le champ études (selon index_or_new si entier)
"""
if type(index_or_new) == int:
if self._data.has_key('etudes'):
......@@ -2519,18 +2519,17 @@ class Adherent(BaseProprietaire):
raise TypeError
if not self._data.has_key('etudes'):
self._data['etudes'] = ['', '', '']
self._data['etudes'] = ['']
# Pas grand chose à faire à part vérifier que ce sont bien des chaines
if len(index_or_new) != 3:
if len(index_or_new) != 1:
raise ValueError(u"Format études non valides.")
new = ['', '', '']
for i in range(0, 3):
n = preattr(index_or_new[i])[1]
if n in new or n == '':
raise ValueError(u"Etudes non valides.")
new[i] = n
new = ['']
n = preattr(index_or_new[0])[1]
if n in new or n == '':
raise ValueError(u"Etudes non valides.")
new[0] = n
self._set('etudes', new)
......
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