[gest_crans2.py,dialogwizard] propreté ++

darcs-hash:20090929153951-bd074-139e274dc1bfc33cb3d07deadbc9d7723daaaed8.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-09-29 17:39:51 +02:00
parent 932ce0e70b
commit f5bae74159
2 changed files with 102 additions and 86 deletions

View file

@ -38,7 +38,8 @@ sys.path.append('/usr/scripts')
from ldap_crans import crans_ldap, script_utilisateur
import user_tests
from config import ann_scol
from crans.dialogwizard.wizard import Scenario, Running, step_scenario, unit_scenario
from crans.dialogwizard.wizard import Scenario, Running, \
step_scenario, unit_scenario
from crans.dialogwizard.dialogwizard import DialogStepGenerator, error_handler
db = crans_ldap()
@ -60,45 +61,49 @@ dsgen = DialogStepGenerator(u'Gestion des adhérents et machines du Crans')
## Fonctions de remplissage ou modification des paramètres d'un adhérent
prompt_new_adher = \
dsgen.form_step (u"Inscription adhérent", '',
[{'var': 'nom', 'label': 'Nom :', 'field_len': 20},
{'var': 'prenom', 'label': u'Prénom :', 'field_len': 20},
{'var': 'tel', 'label': u'Numéro de téléphone', 'field_len': 13},
{'var': 'chbre', 'label': u'Chambre (EXT si pas sur le campus) :', 'field_len': 5} ])
dsgen.form_step (
u"Inscription adhérent", '',
[{'var': 'nom', 'label': 'Nom :', 'field_len': 20},
{'var': 'prenom', 'label': u'Prénom :', 'field_len': 20},
{'label': u'Numéro de téléphone', 'var': 'tel', 'field_len': 13},
{'label': u'Chambre (EXT si pas sur le campus) :',
'var': 'chbre', 'field_len': 5} ])
prompt_addr_ext = \
dsgen.form_step (u"Adresse extérieure de %(nom)s", '',
[{'var': 'addr1', 'label': 'Adresse', 'field_len': 40},
{'var': 'addr2', 'label': '', 'field_len': 40},
{'var': 'addr3', 'label': 'Code Postal :', 'field_len': 6},
{'var': 'addr4', 'label': 'Ville :', 'field_len': 20}])
dsgen.form_step (
u"Adresse extérieure de %(nom)s", '',
[{'var': 'addr1', 'label': 'Adresse', 'field_len': 40},
{'var': 'addr2', 'label': '', 'field_len': 40},
{'var': 'addr3', 'label': 'Code Postal :', 'field_len': 6},
{'var': 'addr4', 'label': 'Ville :', 'field_len': 20}])
def prompt_etudes():
etab_step = \
dsgen.select_step(u'Études de %(nom)s (1/3)',
u"Choisissez l'établissement :",
'etud1',
[("ENS", u"ENS -- École Normale Supérieure de Cachan "),
("IUT Cachan", u"IUT Cachan"),
("Maximilien Sorre", u"Maximilien Sorre"),
("Gustave Eiffel", u"Gustave Eiffel"),
("P1", u"P1 -- Université Panthéon Sorbonne"),
("P2", u"P2 -- Université Panthéon Assas"),
("P3", u"P3 -- Université de la Sorbonne Nouvelle"),
("P4", u"P4 -- Université Paris Sorbonne"),
("P5", u"P5 -- Université René Descartes"),
("P6", u"P6 -- Université Pierre et Marie Curie"),
("P7", u"P7 -- Université Denis Diderot"),
("P8", u"P8 -- Université Vincennes Saint Denis"),
("P9", u"P9 -- Université Paris Dauphine"),
("P10", u"P10 -- Université de Nanterre"),
("P11", u"P11 -- Université de Paris Sud (Orsay)"),
("P12", u"P12 -- Université Val de Marne"),
("P13", u"P13 -- Université Paris Nord"),
("IUFM", u"IUFM"),
("Personnel ENS", u"Personnel ENS"),
("Personnel CROUS", u"Personnel CROUS"),
("autre", u"autre")])
dsgen.select_step(
u'Études de %(nom)s (1/3)',
u"Choisissez l'établissement :",
'etud1',
[("ENS", u"ENS -- École Normale Supérieure de Cachan"),
("IUT Cachan", u"IUT Cachan"),
("Maximilien Sorre", u"Maximilien Sorre"),
("Gustave Eiffel", u"Gustave Eiffel"),
("P1", u"P1 -- Université Panthéon Sorbonne"),
("P2", u"P2 -- Université Panthéon Assas"),
("P3", u"P3 -- Université de la Sorbonne Nouvelle"),
("P4", u"P4 -- Université Paris Sorbonne"),
("P5", u"P5 -- Université René Descartes"),
("P6", u"P6 -- Université Pierre et Marie Curie"),
("P7", u"P7 -- Université Denis Diderot"),
("P8", u"P8 -- Université Vincennes Saint Denis"),
("P9", u"P9 -- Université Paris Dauphine"),
("P10", u"P10 -- Université de Nanterre"),
("P11", u"P11 -- Université de Paris Sud (Orsay)"),
("P12", u"P12 -- Université Val de Marne"),
("P13", u"P13 -- Université Paris Nord"),
("IUFM", u"IUFM"),
("Personnel ENS", u"Personnel ENS"),
("Personnel CROUS", u"Personnel CROUS"),
("autre", u"autre")])
etab_other = \
dsgen.input_step(u'Études de %(nom)s (1/3)',
@ -120,7 +125,8 @@ def prompt_etudes():
year_step = \
dsgen.input_step(u"Études de %(nom)s (2/3)",
u"Année adminstrative :\nET UNIQUEMENT l'ANNEE : la section sera demandée après.",
u"Année adminstrative :\nET UNIQUEMENT l'ANNEE :"
"la section sera demandée après.",
'etud2')
section_step = \
@ -129,45 +135,51 @@ def prompt_etudes():
'etud3')
section_step = \
dsgen.select_step(u'Études de %(nom)s (3/3)',
u'Choisissez la section :',
'etud3',
[ ("A0", "Informatique"),
("A1", "Mathématiques"),
("A2", "Physique fondamentale"),
("A''2", "Chimie"),
{'label': "A'2", 'item': "Physique appliquée",
'show_cond': (lambda d: d['etud2'] in ['3','4'])},
("A3", "Biochimie"),
{'label': "B123", 'item':"Technologie mécanique",
'show_cond': (lambda d: d['etud2'] == '1') },
{'label': "B1", 'item': "Mécanique",
'show_cond': (lambda d: d['etud2'] in ['2','3','4'])},
{'label': "B2", 'item': "Génie civil",
'show_cond': (lambda d: d['etud2'] in ['2','3','4'])},
{'label': "B3", 'item': "Génie mécanique",
'show_cond': (lambda d: d['etud2'] in ['2','3','4'])},
("EEA", "Électronique, électrotechnique et automatique"),
("C", "Art et création industrielle"),
("D2", "Economie gestion"),
("D3", "Sciences sociales"),
("E", "Anglais") ])
dsgen.select_step(
u'Études de %(nom)s (3/3)',
u'Choisissez la section :',
'etud3',
[ ("A0", "Informatique"),
("A1", "Mathématiques"),
("A2", "Physique fondamentale"),
("A''2", "Chimie"),
{'label': "A'2", 'item': "Physique appliquée",
'show_cond': (lambda d: d['etud2'] in ['3','4'])},
("A3", "Biochimie"),
{'label': "B123", 'item':"Technologie mécanique",
'show_cond': (lambda d: d['etud2'] == '1') },
{'label': "B1", 'item': "Mécanique",
'show_cond': (lambda d: d['etud2'] in ['2','3','4'])},
{'label': "B2", 'item': "Génie civil",
'show_cond': (lambda d: d['etud2'] in ['2','3','4'])},
{'label': "B3", 'item': "Génie mécanique",
'show_cond': (lambda d: d['etud2'] in ['2','3','4'])},
("EEA", "Électronique, électrotechnique et automatique"),
("C", "Art et création industrielle"),
("D2", "Economie gestion"),
("D3", "Sciences sociales"),
("E", "Anglais") ])
labo_step = \
dsgen.select_step(u'Études de %(nom)s (3/3)',
u'Choisissez le laboratoire :',
'etud3',
[ ("CMLA", u"Centre de Mathématiques et de Leurs Applications"),
("GAPP", u"Groupe d'Analyse des Politiques Publiques"),
("IDHE", u"Institutions et Dynamiques Historiques de l'Economie"),
("LBPA", u"Laboratoire de Biotechnologies et Pharmacologie génétique Appliquées"),
("LMT", u"Laboratoire de Mécanique et Technologie"),
("LPQM", u"Laboratoire de Photonique Quantique et Moléculaire"),
("LSV", u"Laboratoire de Spécification et Vérification"),
("LURPA", u"Laboratoire Universitaire de Recherche en Production Automatisée"),
("PPSM", u"Laboratoire de Photophysique et Photochimie Supramoléculaires et Macromoléculaires"),
("SATIE", u"Systèmes et Applications des Technologies de l'Information et de l'Energie"),
("STEF", u"Sciences Techniques Education Formation") ])
dsgen.select_step(
u'Études de %(nom)s (3/3)',
u'Choisissez le laboratoire :',
'etud3',
[ ("CMLA", u"Centre de Mathématiques et de Leurs Applications"),
("GAPP", u"Groupe d'Analyse des Politiques Publiques"),
("IDHE", u"Institutions et Dynamiques Historiques de l'Economie"),
("LBPA", u"Laboratoire de Biotechnologies "
u"et Pharmacologie génétique Appliquées"),
("LMT", u"Laboratoire de Mécanique et Technologie"),
("LPQM", u"Laboratoire de Photonique Quantique et Moléculaire"),
("LSV", u"Laboratoire de Spécification et Vérification"),
("LURPA", u"Laboratoire Universitaire de Recherche "
u"en Production Automatisée"),
("PPSM", u"Laboratoire de Photophysique et "
u"Photochimie Supramoléculaires et Macromoléculaires"),
("SATIE", u"Systèmes et Applications des Technologies"
u" de l'Information et de l'Energie"),
("STEF", u"Sciences Techniques Education Formation") ])
etudes_scenar = Scenario()
etudes_scenar.nest(etab_step)
@ -198,20 +210,25 @@ prompt_connexion = \
('2', 'Inscription gratuite')])
prompt_papiers = \
dsgen.checklist_step('', u'État administratif de %(nom)s',
[('carte', u"Carte d'étudiant %s-%s fourniee" % (ann_scol, ann_scol+1)),
('paiement%s' % ann_scol, u'Cotisation %s réglée et charte signée' % ann_scol),
{'var': 'chartema', 'item': u'Charte des membres actifs signée',
'show_cond': (lambda d: isbureau or isadm)},
{'var': '+p', 'item': u'Paiement et charte vérifiées',
'show_cond': (lambda d: iscontroleur)},
{'var': '+c', 'item': u"Carte d'étudiant vérifiée",
'show_cond': (lambda d: iscontroleur)}
])
dsgen.checklist_step(
'', u'État administratif de %(nom)s',
[('carte', u"Carte d'étudiant %s-%s fourniee" % (ann_scol, ann_scol+1)),
('paiement%s' % ann_scol, u'Cotisation %s réglée et charte signée' % ann_scol),
{'var': 'chartema', 'item': u'Charte des membres actifs signée',
'show_cond': (lambda d: isbureau or isadm)},
{'var': '+p', 'item': u'Paiement et charte vérifiées',
'show_cond': (lambda d: iscontroleur)},
{'var': '+c', 'item': u"Carte d'étudiant vérifiée",
'show_cond': (lambda d: iscontroleur)}
])
prompt_login = \
dsgen.input_step(u'Choix du login pour %(nom)s',
u'Le choix du login doit faire au maximum 15 caractères\nIl ne doit *pas* être un pseudo ou un prénom, mais doit être relié au nom de famille\nSeuls les caractères alphabétiques et le - sont autorisés', 'login')
u'Le choix du login doit faire au maximum 15 caractères\n'
u"Il ne doit *pas* être un pseudo ou un prénom,"
u'mais doit être relié au nom de famille\n'
u'Seuls les caractères alphabétiques et le - sont autorisés',
'login')
prompt_mailaddress = \
dsgen.input_step(u'Addresse mail extérieure de %(nom)s',

View file

@ -14,8 +14,7 @@ def really_quit(dico):
raise EndScenario("game over!", data = dico)
def error_handler(exc):
sexc = (str(exc))
dialog.Dialog().msgbox(sexc, title = 'Erreur :')
dialog.Dialog().msgbox(str(exc), width=0, height =0, title = 'Erreur :')
raise TryAgain()
class DialogStepGenerator: