diff options
| author | bwarsaw | 2002-03-06 13:48:28 +0000 |
|---|---|---|
| committer | bwarsaw | 2002-03-06 13:48:28 +0000 |
| commit | 2fc0062f0d9581fec0013b4da9470551291d4084 (patch) | |
| tree | 9ade04f7c99d8754660ab6de741e224fdd56f355 | |
| parent | 106b1b2b6a836f55e9c4ce3314a024389979a805 (diff) | |
| download | mailman-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.py | 8 |
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', '') |
