diff --git a/gestion/gest_crans2.py b/gestion/gest_crans2.py index b0bdba04..bbc3ff4f 100755 --- a/gestion/gest_crans2.py +++ b/gestion/gest_crans2.py @@ -40,12 +40,13 @@ import os, sys#, string # import re # # import affich_tools, config +from config import ann_scol # from lock import make_lock, remove_lock -from ldap_crans import crans_ldap, script_utilisateur#, blacklist_items, ann_scol, droits_possibles, droits_critiques, smtpserv, +#from ldap_crans import crans_ldap, script_utilisateur#, blacklist_items, ann_scol, droits_possibles, droits_critiques, smtpserv, 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 @@ -201,17 +202,23 @@ 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.select_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-%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')]) + {'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', @@ -226,16 +233,16 @@ dummy_scenar.nest(prompt_new_adher) dummy_scenar.nest(prompt_addr_ext) dummy_scenar.quote(prompt_etudes('toto')) -Running(dummy_scenar).run() +print Running(dummy_scenar).run() -def inscrit_in_ldap(adherent): - """Prend en argument un dictionnaire, et l'inscrit dans la base ldap - -Les champs suivants ont OBLIGATOIRES: - nom, prenom, chbre, mail, login - -Les champs suivants sont OPTIONNELS: -carte, paiementYEAR, tel, etud1, etud2, etud3, addr1, addr2, addr3, addr4 -""" - - adher = Adherent() +# def inscrit_in_ldap(adherent): +# """Prend en argument un dictionnaire, et l'inscrit dans la base ldap +# +# Les champs suivants ont OBLIGATOIRES: +# nom, prenom, chbre, mail, login +# +# Les champs suivants sont OPTIONNELS: +# carte, paiementYEAR, tel, etud1, etud2, etud3, addr1, addr2, addr3, addr4 +# """ +# +# adher = Adherent() diff --git a/lib/dialogwizard/dialogwizard.py b/lib/dialogwizard/dialogwizard.py index e7ced772..ef146c33 100755 --- a/lib/dialogwizard/dialogwizard.py +++ b/lib/dialogwizard/dialogwizard.py @@ -70,16 +70,20 @@ class DialogStepGenerator(): sliste = [] for c in liste: try: - sliste.append((c[0], c[1], dico.get(c[0], 'off'))) + if dico.get(c[0], False): checked = 'on' + else: checked = 'off' + sliste.append((c[0], c[1], checked)) except Exception,e: if c.get('show_cond', lambda x : True)(dico): - sliste.append((c['var'], c['item'], dico.get(c['var'], 'off'))) + if dico.get(c['var'], False): checked = 'on' + else: checked = 'off' + sliste.append((c['var'], c['item'], checked)) rc, res = self.d.checklist(enonce, title = title, choices = sliste, **kw) self._check_rc(rc) for tag, item, status in liste: if tag in res: - dico[tag] = 'on' + dico[tag] = True else: - dico[tag] = 'off' + dico[tag] = False return dico return Step(fn) diff --git a/lib/dialogwizard/wizard.py b/lib/dialogwizard/wizard.py index 8cbb8815..26e5e19a 100755 --- a/lib/dialogwizard/wizard.py +++ b/lib/dialogwizard/wizard.py @@ -90,15 +90,15 @@ def unit_scenario(): class Running: u"""To run scenarios""" - env = {} defaults = {} steps = None stack = None - def __init__(self, scenario): + def __init__(self, scenario, env = {}): if not isinstance(scenario, Scenario): raise TypeError("Can only run Scenarios") accu = scenario.steps + self.env = env # To avoid brain spots on the walls, we shall reverse the list # of steps.