[gestion/gest_crans.py] Correction diverses set_droits

darcs-hash:20100421184932-ddb99-fcbc4107f7b34d0811b6f2138855d794eb6bb580.gz
This commit is contained in:
Michel Blockelet 2010-04-21 20:49:32 +02:00
parent a3fd4369a6
commit 07515031e1

View file

@ -565,12 +565,6 @@ def set_droits(adher):
if annul: return 1
### Traitement
# Dans le cas où l'utilisateur qui modifie n'est pas nounou, on ajoute les
# droits critiques que l'adhérent possède déjà
if not isadm:
for key in [d for d in droits_critiques if key in adher.droits()]:
result.append(key.encode("ISO-8859-15"))
# On regarde les MLs auxquelles l'adhérent était inscrit grâce à ses
# droits et auxquelles il ne sera pas désabonné
# (MLs à débonnement manuel)
@ -585,6 +579,12 @@ def set_droits(adher):
raise ValueError(u'Droit %s incorrect' % droit)
new.append(droit)
# Dans le cas où l'utilisateur qui modifie n'est pas Nounou, on ajoute les
# droits critiques que l'adhérent possède déjà
if not isadm:
for key in [d for d in droits_critiques if d in adher.droits()]:
new.append(key)
# Droits supprimés
diff = [droit for droit in adher.droits()
if droit not in new]
@ -592,7 +592,7 @@ def set_droits(adher):
# Droits supprimés qui abonnaient à une ML
old_mls = []
for droit in diff:
old_mls.extend([m for m in droits_mls
old_mls.extend([m for m in droits_mls.keys()
if m[0] == '+' and droit in droits_mls[m]
and m not in old_mls])
@ -601,7 +601,7 @@ def set_droits(adher):
for ml in [m for m in old_mls if droit in droits_mls.get(m, [])]:
old_mls.pop(ml)
# Choix des MLs auxquelles débonner
# Choix des MLs auxquelles désabonner
if old_mls:
arg = u'--title "Mailing-listes dont désabonner %s" ' % adher.Nom()
arg += u'--separate-output '