summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnirudh Dahiya2016-03-08 20:01:15 +0530
committerBarry Warsaw2016-03-22 20:36:46 -0400
commitca16e3a6ca16a52db0e8b245ccf9f858a190b4e9 (patch)
treedc6a842943a7953613f968fe6c6c01f0c2f9ae61
parentb399f600f383a414a2ca2bb3acc653672f637ede (diff)
downloadmailman-ca16e3a6ca16a52db0e8b245ccf9f858a190b4e9.tar.gz
mailman-ca16e3a6ca16a52db0e8b245ccf9f858a190b4e9.tar.zst
mailman-ca16e3a6ca16a52db0e8b245ccf9f858a190b4e9.zip
-rw-r--r--src/mailman/rest/members.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mailman/rest/members.py b/src/mailman/rest/members.py
index f9673e4fb..1bfc5a9de 100644
--- a/src/mailman/rest/members.py
+++ b/src/mailman/rest/members.py
@@ -45,7 +45,7 @@ from mailman.rest.validator import (
Validator, enum_validator, subscriber_validator)
from uuid import UUID
from zope.component import getUtility
-
+from mailman.interfaces.pending import IPendings
class _MemberBase(CollectionMixin):
@@ -260,6 +260,11 @@ class AllMembers(_MemberBase):
pre_verified = arguments.pop('pre_verified', False)
pre_confirmed = arguments.pop('pre_confirmed', False)
pre_approved = arguments.pop('pre_approved', False)
+ pendings = getUtility(IPendings).find(mlist=mlist, pend_type='subscription')
+ for token,pendable in pendings:
+ if pendable['email']==subscriber.email and pendable['token_owner']=='moderator':
+ conflict(response,b'Subscription request pending for moderation')
+ return
# Now we can run the registration process until either the
# subscriber is subscribed, or the workflow is paused for
# verification, confirmation, or approval.