diff options
Diffstat (limited to 'src/mailman/interfaces/mailinglist.py')
| -rw-r--r-- | src/mailman/interfaces/mailinglist.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/mailman/interfaces/mailinglist.py b/src/mailman/interfaces/mailinglist.py index d8c0ebb26..23d21cd34 100644 --- a/src/mailman/interfaces/mailinglist.py +++ b/src/mailman/interfaces/mailinglist.py @@ -182,7 +182,7 @@ class IMailingList(Interface): def confirm_address(cookie=''): """The address used for various forms of email confirmation.""" - # Rosters. + # Rosters and subscriptions. owners = Attribute( """The IUser owners of this mailing list. @@ -232,6 +232,22 @@ class IMailingList(Interface): :rtype: Roster """ + def subscribe(subscriber, role): + """Subscribe the given address or user to the mailing list. + + :param subscriber: The address or user to subscribe to the mailing + list. The user's preferred address receives deliveries, if she + has one, otherwise no address for the user appears in the rosters. + :type subscriber: `IUser` or `IAddress` + :param role: The role being subscribed to (e.g. a member, owner, or + moderator of a mailing list. + :type role: `MemberRole` + :return: The member object representing the subscription. + :rtype: `IMember` + :raises AlreadySubscribedError: If the address or user is already + subscribed to the mailing list with the given role. + """ + # Posting history. last_post_at = Attribute( |
