summaryrefslogtreecommitdiff
path: root/Mailman/Cgi/admin.py
diff options
context:
space:
mode:
authorhmeland1999-04-21 11:41:09 +0000
committerhmeland1999-04-21 11:41:09 +0000
commit4eba90ac6615e5bb38662ca4adbded9bf6998d2e (patch)
tree507dc2bdf300a68cea88f255452a15fb54d237d9 /Mailman/Cgi/admin.py
parent03e9b9f6e3e62bcf39fe8c27f83857ae9d5551f3 (diff)
downloadmailman-4eba90ac6615e5bb38662ca4adbded9bf6998d2e.tar.gz
mailman-4eba90ac6615e5bb38662ca4adbded9bf6998d2e.tar.zst
mailman-4eba90ac6615e5bb38662ca4adbded9bf6998d2e.zip
Diffstat (limited to 'Mailman/Cgi/admin.py')
-rw-r--r--Mailman/Cgi/admin.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/Mailman/Cgi/admin.py b/Mailman/Cgi/admin.py
index fe27c68b5..19256a92f 100644
--- a/Mailman/Cgi/admin.py
+++ b/Mailman/Cgi/admin.py
@@ -843,10 +843,14 @@ def ChangeOptions(lst, category, cgi_info, document):
users.append(user[ui].value)
else:
users = [user.value]
+ unsubscribe_errors = []
for user in users:
if not cgi_info.has_key('%s_subscribed' % (user)):
- lst.DeleteMember(user)
- dirty = 1
+ try:
+ lst.DeleteMember(user)
+ dirty = 1
+ except Errors.MMNoSuchUserError:
+ unsubscribe_errors.append((user, 'Not subscribed'))
continue
if not cgi_info.has_key("%s_digest" % (user)):
if lst.digest_members.has_key(user):
@@ -871,7 +875,11 @@ def ChangeOptions(lst, category, cgi_info, document):
else:
lst.SetUserOption(user, okey, 0)
dirty = 1
-
+ if unsubscribe_errors:
+ document.AddItem(Header(5, "Error Unsubscribing:"))
+ items = map(lambda x: "%s -- %s" % (x[0], x[1]), unsubscribe_errors)
+ document.AddItem(apply(UnorderedList, tuple((items))))
+ document.AddItem("<p>")
if dirty:
lst.Save()