summaryrefslogtreecommitdiff
path: root/src/mailman/rest/sub_moderation.py
diff options
context:
space:
mode:
authorBarry Warsaw2015-04-17 14:12:00 -0400
committerBarry Warsaw2015-04-17 14:12:00 -0400
commitb37f33558b54c298916f70ff274dd06d18d3e38a (patch)
treecbae677c8f421568de03117c99d1413970b61b70 /src/mailman/rest/sub_moderation.py
parent3857294c3dc8fdf294f23179926f062c4e0a6c90 (diff)
downloadmailman-b37f33558b54c298916f70ff274dd06d18d3e38a.tar.gz
mailman-b37f33558b54c298916f70ff274dd06d18d3e38a.tar.zst
mailman-b37f33558b54c298916f70ff274dd06d18d3e38a.zip
Diffstat (limited to 'src/mailman/rest/sub_moderation.py')
-rw-r--r--src/mailman/rest/sub_moderation.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/mailman/rest/sub_moderation.py b/src/mailman/rest/sub_moderation.py
index 12bd8ab26..ebb09b9b3 100644
--- a/src/mailman/rest/sub_moderation.py
+++ b/src/mailman/rest/sub_moderation.py
@@ -22,12 +22,14 @@ __all__ = [
]
+from mailman.app.moderator import send_rejection
from mailman.interfaces.action import Action
from mailman.interfaces.pending import IPendings
from mailman.interfaces.registrar import IRegistrar
from mailman.rest.helpers import (
CollectionMixin, bad_request, child, etag, no_content, not_found, okay)
from mailman.rest.validator import Validator, enum_validator
+from mailman.utilities.i18n import _
from zope.component import getUtility
@@ -98,8 +100,16 @@ class IndividualRequest(_ModerationBase):
else:
no_content(response)
elif action is Action.reject:
- # XXX
- no_content(response)
+ # Like discard but sends a rejection notice to the user.
+ pendable = self._pendings.confirm(self._token, expunge=True)
+ if pendable is None:
+ not_found(response)
+ else:
+ no_content(response)
+ send_rejection(
+ self._mlist, _('Subscription request'),
+ pendable['email'],
+ _('[No reason given]'))