[dialog] On transmet l'objet proprio éditer au menu parent en quittant le menu compte

This commit is contained in:
Valentin Samir 2014-12-02 20:42:54 +01:00
parent 83512121a2
commit 91fc1359b0
2 changed files with 4 additions and 3 deletions

View file

@ -54,7 +54,7 @@ class Dialog(proprio.Dialog):
'Personnel' : {'text' : "Nom, prénom, téléphone... (ajouter l'age ?)", 'callback':self.adherent_personnel}, 'Personnel' : {'text' : "Nom, prénom, téléphone... (ajouter l'age ?)", 'callback':self.adherent_personnel},
'Études' : {'text' : "Étude en cours", "callback":self.adherent_etudes}, 'Études' : {'text' : "Étude en cours", "callback":self.adherent_etudes},
'Chambre' : {'text' : 'Déménagement', "callback":self.adherent_chambre}, 'Chambre' : {'text' : 'Déménagement', "callback":self.adherent_chambre},
'Compte' : {'text' : "Gestion du compte crans", "adherent":"proprio", "callback":self.proprio_compte, 'help':"Création/Suppression/Activation/Désactivation du compte, gestion des alias mails crans du compte"}, 'Compte' : {'text' : "Gestion du compte crans", "adherent":"proprio", "callback":TailCall(self.proprio_compte, update_obj='adherent'), 'help':"Création/Suppression/Activation/Désactivation du compte, gestion des alias mails crans du compte"},
'GPGFingerprint' : {'text':'Ajouter ou supprimer une empeinte GPG', 'attribut':attributs.gpgFingerprint}, 'GPGFingerprint' : {'text':'Ajouter ou supprimer une empeinte GPG', 'attribut':attributs.gpgFingerprint},
'Remarques' : {'text':'Ajouter ou supprimer une remarque de la machine', 'attribut':attributs.info}, 'Remarques' : {'text':'Ajouter ou supprimer une remarque de la machine', 'attribut':attributs.info},
'Droits' : {'text':"Modifier les droits alloués à cet adhérent", "callback":self.adherent_droits}, 'Droits' : {'text':"Modifier les droits alloués à cet adhérent", "callback":self.adherent_droits},

View file

@ -279,7 +279,7 @@ class Dialog(machine.Dialog, blacklist.Dialog):
codes_todo=[([self.dialog.DIALOG_OK], todo, [output, shell, shells, proprio, self_cont, cont])] codes_todo=[([self.dialog.DIALOG_OK], todo, [output, shell, shells, proprio, self_cont, cont])]
) )
def proprio_compte(self, proprio, cont, default_item=None): def proprio_compte(self, proprio, cont, default_item=None, update_obj='proprio'):
"""Menu de gestion du compte crans d'un proprio""" """Menu de gestion du compte crans d'un proprio"""
has_compte = 'cransAccount' in proprio['objectClass'] has_compte = 'cransAccount' in proprio['objectClass']
disabled_compte = has_compte and 0 in proprio['shadowExpire'] disabled_compte = has_compte and 0 in proprio['shadowExpire']
@ -347,8 +347,9 @@ class Dialog(machine.Dialog, blacklist.Dialog):
raise EnvironmentError("Il n'y a ni champ 'attribut' ni 'callback' pour le tag %s" % tag) raise EnvironmentError("Il n'y a ni champ 'attribut' ni 'callback' pour le tag %s" % tag)
cont(**{update_obj:proprio})
(code, tag) = self.handle_dialog(cont, box, default_item) (code, tag) = self.handle_dialog(cont, box, default_item)
self_cont = TailCall(self.proprio_compte, proprio=proprio, cont=cont, default_item=tag_translate.get(tag, tag)) self_cont = TailCall(self.proprio_compte, proprio=proprio, cont=cont, default_item=tag_translate.get(tag, tag), update_obj=update_obj)
return self.handle_dialog_result( return self.handle_dialog_result(
code=code, code=code,
output=tag, output=tag,