diff options
| author | Barry Warsaw | 2015-04-13 13:16:22 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2015-04-13 13:16:22 -0400 |
| commit | 6f43b64a27f7e38df80a59f9111b5dedfac0d70f (patch) | |
| tree | da1d5948794a6c1dd65d661dc4dbd333631050f6 /src/mailman/app/subscriptions.py | |
| parent | 044a780a7a62fabc4f97975dac2725e8df8cdebe (diff) | |
| download | mailman-6f43b64a27f7e38df80a59f9111b5dedfac0d70f.tar.gz mailman-6f43b64a27f7e38df80a59f9111b5dedfac0d70f.tar.zst mailman-6f43b64a27f7e38df80a59f9111b5dedfac0d70f.zip | |
Diffstat (limited to 'src/mailman/app/subscriptions.py')
| -rw-r--r-- | src/mailman/app/subscriptions.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mailman/app/subscriptions.py b/src/mailman/app/subscriptions.py index 982c04547..9df85c819 100644 --- a/src/mailman/app/subscriptions.py +++ b/src/mailman/app/subscriptions.py @@ -38,10 +38,12 @@ from mailman.core.i18n import _ from mailman.database.transaction import dbconnection from mailman.email.message import UserNotification from mailman.interfaces.address import IAddress +from mailman.interfaces.bans import IBanManager from mailman.interfaces.listmanager import ( IListManager, ListDeletingEvent, NoSuchListError) from mailman.interfaces.mailinglist import SubscriptionPolicy -from mailman.interfaces.member import DeliveryMode, MemberRole +from mailman.interfaces.member import ( + DeliveryMode, MemberRole, MembershipIsBannedError) from mailman.interfaces.pending import IPendable, IPendings from mailman.interfaces.subscriptions import ( ISubscriptionService, MissingUserError, RequestRecord) @@ -166,6 +168,9 @@ class SubscriptionWorkflow(Workflow): self.address = addresses[0] assert self.user is not None and self.address is not None, ( 'Insane sanity check results') + # Is this email address banned? + if IBanManager(self.mlist).is_banned(self.address.email): + raise MembershipIsBannedError(self.mlist, self.address.email) self.push('verification_checks') def _step_verification_checks(self): |
