summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2002-11-15 21:26:11 +0000
committerbwarsaw2002-11-15 21:26:11 +0000
commit747f571e6a6371517f00b67818628dfb8430df10 (patch)
treec7370c2376d5859965ff70b67d027c59777bff54
parent6103b52beba5302d8700e3304471dac872057a15 (diff)
downloadmailman-747f571e6a6371517f00b67818628dfb8430df10.tar.gz
mailman-747f571e6a6371517f00b67818628dfb8430df10.tar.zst
mailman-747f571e6a6371517f00b67818628dfb8430df10.zip
-rw-r--r--Mailman/Cgi/confirm.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/Mailman/Cgi/confirm.py b/Mailman/Cgi/confirm.py
index 4809bf312..58e0642bb 100644
--- a/Mailman/Cgi/confirm.py
+++ b/Mailman/Cgi/confirm.py
@@ -111,12 +111,19 @@ def main():
else:
subscription_prompt(mlist, doc, cookie, content[1])
elif content[0] == Pending.UNSUBSCRIPTION:
- if cgidata.getvalue('cancel'):
- unsubscription_cancel(mlist, doc, cookie)
- elif cgidata.getvalue('submit'):
- unsubscription_confirm(mlist, doc, cookie)
- else:
- unsubscription_prompt(mlist, doc, cookie, *content[1:])
+ try:
+ if cgidata.getvalue('cancel'):
+ unsubscription_cancel(mlist, doc, cookie)
+ elif cgidata.getvalue('submit'):
+ unsubscription_confirm(mlist, doc, cookie)
+ else:
+ unsubscription_prompt(mlist, doc, cookie, *content[1:])
+ except Errors.NotAMemberError:
+ doc.addError(_("""The address requesting unsubscription is not
+ a member of the mailing list. Perhaps you have already been
+ unsubscribed, e.g. by the list administrator?"""))
+ # And get rid of this confirmation cookie
+ Pending.confirm(cookie)
elif content[0] == Pending.CHANGE_OF_ADDRESS:
if cgidata.getvalue('cancel'):
addrchange_cancel(mlist, doc, cookie)
@@ -130,7 +137,7 @@ def main():
except Errors.NotAMemberError:
doc.addError(_("""The address requesting to be changed has
been subsequently unsubscribed. This request has been
- cancelled"""))
+ cancelled."""))
Pending.confirm(cookie, expunge=1)
elif content[0] == Pending.HELD_MESSAGE:
if cgidata.getvalue('cancel'):