summaryrefslogtreecommitdiff
path: root/src/mailman/commands/eml_confirm.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mailman/commands/eml_confirm.py')
-rw-r--r--src/mailman/commands/eml_confirm.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/mailman/commands/eml_confirm.py b/src/mailman/commands/eml_confirm.py
index ddf0db0e2..27cc8c22d 100644
--- a/src/mailman/commands/eml_confirm.py
+++ b/src/mailman/commands/eml_confirm.py
@@ -54,11 +54,16 @@ class Confirm:
tokens.add(token)
results.confirms = tokens
try:
- token, token_owner, member = IRegistrar(mlist).confirm(token)
- if token is None:
+ new_token, token_owner, member = IRegistrar(mlist).confirm(token)
+ if new_token is None:
assert token_owner is TokenOwner.no_one, token_owner
assert member is not None, member
succeeded = True
+ elif token_owner is TokenOwner.moderator:
+ # This must have been a confirm-then-moderator subscription.
+ assert new_token != token
+ assert member is None, member
+ succeeded = True
else:
assert token_owner is not TokenOwner.no_one, token_owner
assert member is None, member