[lib/dialogwizard] on peut mettre des champs plus élaborés

Ignore-this: 197a121bac23ae72a086535cc612311c

darcs-hash:20090906134550-bd074-801938dc1daca12012adb24aeb4bff939ab75728.gz
This commit is contained in:
Antoine Durand-Gasselin 2009-09-06 15:45:50 +02:00
parent feaf2215e6
commit d79f7ec2f0
3 changed files with 80 additions and 97 deletions

View file

@ -45,7 +45,7 @@ from ldap_crans import crans_ldap, script_utilisateur#, blacklist_items, ann_sco
sys.path.append('/usr/scripts')
from lib.dialogwizard.wizard import Scenario, Running, step_scenario, unit_scenario
from lib.dialogwizard.dialogwizard import DialogStepGenerator
from ldap_crans import Adherent #, AssociationCrans, Club
from ldap_crans import Adherent #, AssociationCrans, Club
# from ldap_crans import Machine, MachineFixe, MachineWifi, MachineCrans, BorneWifi
# import user_tests
@ -71,16 +71,17 @@ dsgen = DialogStepGenerator(u'Gestion des adhérents et machines du Crans')
prompt_new_adher = \
dsgen.form_step (u"Inscription adhérent", '',
[('nom', 'Nom :', 20),
('prenom', u'Prénom :', 20),
('tel', u'Numéro de téléphone', 13),
('chbre', u'Chambre :', 5) ])
[{'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 :', 'field_len': 5} ])
prompt_addr_ext = \
dsgen.form_step (u"Adresse extérieure de %(nom)s", '',
[('addr1', 'Adresse', 40), ('addr2', '', 40),
('addr3', 'Code Postal :', 6),
('addr4', 'Ville :', 20)])
[{'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(name):
etab_step = \
@ -137,7 +138,7 @@ def prompt_etudes(name):
u'Section :',
'etud3')
section1_step = \
section_step = \
dsgen.select_step(u'Études de %(nom)s (3/3)',
u'Choisissez la section :',
'etud3',
@ -145,52 +146,24 @@ def prompt_etudes(name):
("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"),
("B123", "Technologie mécanique"),
{'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") ])
section2_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"),
("A3", "Biochimie"),
("B1", "Mécanique"),
("B2", "Génie civil"),
("B3", "Génie mécanique"),
("EEA", "Électronique, électrotechnique et automatique"),
("C", "Art et création industrielle"),
("D2", "Economie gestion"),
("D3", "Sciences sociales"),
("E", "Anglais") ])
section3_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", "Physique appliquée"),
("A''2", "Chimie"),
("A3", "Biochimie"),
("B1", "Mécanique"),
("B2", "Génie civil"),
("B3", "Génie mécanique"),
("B4", "Génie électrique"),
("C", "Art et création industrielle"),
("D2", "Economie gestion"),
("D3", "Sciences sociales"),
("E", "Anglais") ])
section5_step = \
labo_step = \
dsgen.select_step(u'Études de %(nom)s (3/3)',
u'Choisissez le laboratoire :',
'etud3',
@ -211,15 +184,9 @@ def prompt_etudes(name):
ens_scenar = Scenario()
ens_scenar.nest(year_ens_step)
ens_scenar.case((lambda d: d['etud2']),
{ '1': step_scenario(section1_step),
'2': step_scenario(section2_step),
'3': step_scenario(section3_step),
'4': step_scenario(section3_step),
'5': step_scenario(section5_step),
'6': step_scenario(section5_step),
'7': step_scenario(section5_step) },
fallback = step_scenario(section_step))
ens_scenar.branch((lambda d: d['etud2'] in ['1','2','3','4']),
step_scenario(section_step),
step_scenario(labo_step))
other_etab_scenar = Scenario()
other_etab_scenar.nest(year_step)
@ -234,16 +201,16 @@ def prompt_etudes(name):
return etudes_scenar
prompt_connexion = \
dsgen.form_step (u"Type de connexion",
u'Inscription adhérent',
'typ', [('1', 'Adhésion'),
('2', 'Inscription gratuite')])
# prompt_connexion = \
# dsgen.form_step (u"Type de connexion",
# u'Inscription adhérent',
# 'typ', [('1', 'Adhésion'),
# ('2', 'Inscription gratuite')])
prompt_papiers = \
dsgen.checklist_step('', u'État administratif de %(nom)s',
[('carte', u"Carte d'étudiant %s fourniee" % ann_scol),
('paiement%s' % this_year, u'Cotisation %s réglée et charte signée' % ann_scol),
[('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),
('chartema', u'Charte des membres actifs signée')])
prompt_login = \
@ -252,7 +219,7 @@ prompt_login = \
prompt_mailaddress = \
dsgen.input_step(u'Addresse mail extérieure de %(nom)s',
'')
'', 'mail')
dummy_scenar = Scenario()
dummy_scenar.nest(prompt_new_adher)