diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index c29591e9..4546f5c5 100644 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -1759,8 +1759,21 @@ class BaseProprietaire(BaseClasseCrans): if r == 'O' or r == 'o': annuaires.crous_to_crans(bat, ch) else: - new_ch = prompt(u"Chambre de l'adhérent ?") - self.chbre(new_ch) + while True: + new_ch = prompt(u"Chambre de l'adhérent ?") + try: + self.chbre(new_ch) + except ValueError, c: + if len(c.args) == 2: + old_adh = c.args[1] + r = prompt(u"Changer %s de chambre ? [O/N]" % old_adh.Nom(), "n") + if r == 'o' or r == 'o': + old_adh.chbre('????') + old_adh.save() + self.chbre(new_ch) + break + else: + break # Enregistrement self._save()