diff options
| author | bwarsaw | 2002-11-15 21:26:11 +0000 |
|---|---|---|
| committer | bwarsaw | 2002-11-15 21:26:11 +0000 |
| commit | 747f571e6a6371517f00b67818628dfb8430df10 (patch) | |
| tree | c7370c2376d5859965ff70b67d027c59777bff54 /Mailman/Cgi/confirm.py | |
| parent | 6103b52beba5302d8700e3304471dac872057a15 (diff) | |
| download | mailman-747f571e6a6371517f00b67818628dfb8430df10.tar.gz mailman-747f571e6a6371517f00b67818628dfb8430df10.tar.zst mailman-747f571e6a6371517f00b67818628dfb8430df10.zip | |
Diffstat (limited to 'Mailman/Cgi/confirm.py')
| -rw-r--r-- | Mailman/Cgi/confirm.py | 21 |
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'): |
