[gest_crans, ldap_crans, whos] Robustesse si le responsable d'un club a été supprimé

Ignore-this: dbb616fe0cff5ba356ec8b2a0587f96c

darcs-hash:20111006133157-ffbb2-9429c7756fb617b4e12babf3945d80333fe3f1af.gz
This commit is contained in:
Nicolas Dandrimont 2011-10-06 15:31:57 +02:00
parent 9892e46c2f
commit 6c85740dd2
3 changed files with 24 additions and 8 deletions

View file

@ -633,10 +633,19 @@ def set_droits(adher):
map(lambda m: "%s$%s" % (adher.mail(), m), resultmls)) map(lambda m: "%s$%s" % (adher.mail(), m), resultmls))
# On modifie ! # On modifie !
e = None
try:
if not isadm: if not isadm:
adher.droits(result, light=True) adher.droits(result, light=True)
else: else:
adher.droits(result) adher.droits(result)
except EnvironmentError, c: e = c.args[0]
except ValueError, c: e = c.args[0]
if e:
arg = u'--title "Modification des droits pour %s" ' % adher.Nom()
arg += u'--msgbox "%s\n\n\n" 0 0' % to_unicode(e)
dialog(arg)
return 1
def del_adher(adher): def del_adher(adher):
u""" u"""

View file

@ -2414,7 +2414,7 @@ class Adherent(BaseProprietaire):
diff = [droit for droit in (ancien + new) diff = [droit for droit in (ancien + new)
if (droit not in ancien or droit not in new) and (droit in droits_critiques)] if (droit not in ancien or droit not in new) and (droit in droits_critiques)]
if len(diff) > 0: if len(diff) > 0:
raise("Droits critiques modifies (?) :: %s" % ','.join(diff)) raise ValueError("Droits critiques modifies (?) :: %s" % ','.join(diff))
# Sauvegarde # Sauvegarde
if new != self._data.get('droits', []): if new != self._data.get('droits', []):
@ -2531,8 +2531,12 @@ class Club(BaseProprietaire):
if adher == None: if adher == None:
aid = decode(self._data.get('responsable', [''])[0]) aid = decode(self._data.get('responsable', [''])[0])
if aid: if aid:
return self.search('aid=%s' % aid)['adherent'][0] l = self.search('aid=%s' % aid)['adherent']
else: return '' if l:
return l[0]
else:
raise ValueError("Responsable Invalide (%s)" % aid)
else: raise ValueError("Pas de responsable enregistré")
if adher.__class__ != Adherent: if adher.__class__ != Adherent:
raise ValueError raise ValueError

View file

@ -298,7 +298,10 @@ def clubs_brief(clubs) :
else : machines = coul(nom,k) else : machines = coul(nom,k)
# Responsable # Responsable
try:
resp = c.responsable().Nom() resp = c.responsable().Nom()
except ValueError, e:
resp = e
# Données # Données
data.append([c.id() , c.Nom(), c.local(), paid, resp, machines]) data.append([c.id() , c.Nom(), c.local(), paid, resp, machines])