summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2002-03-06 13:48:28 +0000
committerbwarsaw2002-03-06 13:48:28 +0000
commit2fc0062f0d9581fec0013b4da9470551291d4084 (patch)
tree9ade04f7c99d8754660ab6de741e224fdd56f355
parent106b1b2b6a836f55e9c4ce3314a024389979a805 (diff)
downloadmailman-2fc0062f0d9581fec0013b4da9470551291d4084.tar.gz
mailman-2fc0062f0d9581fec0013b4da9470551291d4084.tar.zst
mailman-2fc0062f0d9581fec0013b4da9470551291d4084.zip
change_options(): When updating a member's options, take care to
ignore members that may have been deleted via other means during page hits.
-rw-r--r--Mailman/Cgi/admin.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/Mailman/Cgi/admin.py b/Mailman/Cgi/admin.py
index fa8065699..ba9409937 100644
--- a/Mailman/Cgi/admin.py
+++ b/Mailman/Cgi/admin.py
@@ -1305,14 +1305,18 @@ def change_options(mlist, category, subcat, cgidata, doc):
except Errors.MMNoSuchUserError:
errors.append((user, _('Not subscribed')))
continue
+ if not mlist.isMember(user):
+ doc.addError(_('Ignoring changes to deleted member: %(user)s'),
+ tag=_('Warning: '))
+ continue
value = cgidata.has_key('%s_digest' % user)
try:
mlist.setMemberOption(user, mm_cfg.Digests, value)
- except (Errors.NotAMemberError,
- Errors.AlreadyReceivingDigests,
+ except (Errors.AlreadyReceivingDigests,
Errors.AlreadyReceivingRegularDeliveries,
Errors.CantDigestError,
Errors.MustDigestError):
+ # BAW: Hmm...
pass
newname = cgidata.getvalue(user+'_realname', '')