diff options
| author | Barry Warsaw | 2011-04-22 19:58:07 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2011-04-22 19:58:07 -0400 |
| commit | 989267f6edbf55a1109d24c2b5e20051ea6a24a8 (patch) | |
| tree | 8b290e5760cbb28d43a24a3e1460bdf7043c78a4 /src/mailman/model/mailinglist.py | |
| parent | ea77dd42093f453c4f3f3aad22d33952b3e3ec5a (diff) | |
| download | mailman-989267f6edbf55a1109d24c2b5e20051ea6a24a8.tar.gz mailman-989267f6edbf55a1109d24c2b5e20051ea6a24a8.tar.zst mailman-989267f6edbf55a1109d24c2b5e20051ea6a24a8.zip | |
Users subscribed to a mailing list via their preferred address show up
correctly in the REST API's list of members. This even correctly tracks
changes in their preferred address.
Diffstat (limited to 'src/mailman/model/mailinglist.py')
| -rw-r--r-- | src/mailman/model/mailinglist.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mailman/model/mailinglist.py b/src/mailman/model/mailinglist.py index 2b205775e..9294fe7cc 100644 --- a/src/mailman/model/mailinglist.py +++ b/src/mailman/model/mailinglist.py @@ -43,7 +43,8 @@ from mailman.interfaces.domain import IDomainManager from mailman.interfaces.languages import ILanguageManager from mailman.interfaces.mailinglist import ( IAcceptableAlias, IAcceptableAliasSet, IMailingList, Personalization) -from mailman.interfaces.member import AlreadySubscribedError, MemberRole +from mailman.interfaces.member import ( + AlreadySubscribedError, MemberRole, MissingPreferredAddressError) from mailman.interfaces.mime import FilterType from mailman.interfaces.user import IUser from mailman.model import roster @@ -458,6 +459,8 @@ class MailingList(Model): raise AlreadySubscribedError( self.fqdn_listname, subscriber.email, role) elif IUser.providedBy(subscriber): + if subscriber.preferred_address is None: + raise MissingPreferredAddressError(subscriber) member = store.find( Member, Member.role == role, |
