~sakuag333/mailman/lmtp-duplicate-id

« back to all changes in this revision

Viewing changes to src/mailman/model/member.py

  • Committer: Barry Warsaw
  • Date: 2012-12-25 20:44:40 UTC
  • mfrom: (7189.2.2 3.0)
  • Revision ID: barry@list.org-20121225204440-f2yet4vpbwv0thx7
merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
from storm.locals import Int, Reference, Unicode
28
28
from storm.properties import UUID
29
29
from zope.component import getUtility
 
30
from zope.event import notify
30
31
from zope.interface import implementer
31
32
 
32
33
from mailman.core.constants import system_preferences
36
37
from mailman.interfaces.action import Action
37
38
from mailman.interfaces.address import IAddress
38
39
from mailman.interfaces.listmanager import IListManager
39
 
from mailman.interfaces.member import IMember, MemberRole, MembershipError
 
40
from mailman.interfaces.member import (
 
41
    IMember, MemberRole, MembershipError, UnsubscriptionEvent)
40
42
from mailman.interfaces.user import IUser, UnverifiedAddressError
41
43
from mailman.interfaces.usermanager import IUserManager
42
44
from mailman.utilities.uid import UniqueIDFactory
186
188
    @dbconnection
187
189
    def unsubscribe(self, store):
188
190
        """See `IMember`."""
 
191
        # Yes, this must get triggered before self is deleted.
 
192
        notify(UnsubscriptionEvent(self.mailing_list, self))
189
193
        store.remove(self.preferences)
190
194
        store.remove(self)