summaryrefslogtreecommitdiff
path: root/src/mailman/model/mailinglist.py
diff options
context:
space:
mode:
authorBarry Warsaw2012-12-23 14:43:31 -0500
committerBarry Warsaw2012-12-23 14:43:31 -0500
commitf620f664e138e672a2bc88ca7603075a99858882 (patch)
tree1f2bfa8e40d7f9e7a89b7d8109f5ac6b72092dbb /src/mailman/model/mailinglist.py
parent7cade857aafe1aa066be7269c3cbb2025a69d648 (diff)
downloadmailman-f620f664e138e672a2bc88ca7603075a99858882.tar.gz
mailman-f620f664e138e672a2bc88ca7603075a99858882.tar.zst
mailman-f620f664e138e672a2bc88ca7603075a99858882.zip
* Two new events are triggered on membership changes: `SubscriptionEvent`
when a new member joins a mailing list, and an `UnsubscriptionEvent` when a member leaves a mailing list. (LP: #1047286)
Diffstat (limited to 'src/mailman/model/mailinglist.py')
-rw-r--r--src/mailman/model/mailinglist.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mailman/model/mailinglist.py b/src/mailman/model/mailinglist.py
index 2c55540be..324e1a1c8 100644
--- a/src/mailman/model/mailinglist.py
+++ b/src/mailman/model/mailinglist.py
@@ -33,6 +33,7 @@ from storm.locals import (
TimeDelta, Unicode)
from urlparse import urljoin
from zope.component import getUtility
+from zope.event import notify
from zope.interface import implementer
from mailman.config import config
@@ -50,7 +51,8 @@ from mailman.interfaces.mailinglist import (
IAcceptableAlias, IAcceptableAliasSet, IMailingList, Personalization,
ReplyToMunging)
from mailman.interfaces.member import (
- AlreadySubscribedError, MemberRole, MissingPreferredAddressError)
+ AlreadySubscribedError, MemberRole, MissingPreferredAddressError,
+ SubscriptionEvent)
from mailman.interfaces.mime import FilterType
from mailman.interfaces.nntp import NewsgroupModeration
from mailman.interfaces.user import IUser
@@ -493,6 +495,7 @@ class MailingList(Model):
subscriber=subscriber)
member.preferences = Preferences()
store.add(member)
+ notify(SubscriptionEvent(self, member))
return member