diff options
| author | Barry Warsaw | 2012-01-26 23:20:10 -0500 |
|---|---|---|
| committer | Barry Warsaw | 2012-01-26 23:20:10 -0500 |
| commit | e6a261945e64201920c8c879615ac321739bce9f (patch) | |
| tree | c1263ad797c93c1fa2e91482ab1a9b4add6669d0 /src/mailman/model/docs | |
| parent | 7a1c7652519841522246278daa3cbc121ded133c (diff) | |
| download | mailman-e6a261945e64201920c8c879615ac321739bce9f.tar.gz mailman-e6a261945e64201920c8c879615ac321739bce9f.tar.zst mailman-e6a261945e64201920c8c879615ac321739bce9f.zip | |
* Add property `IUserManager.members` to return all `IMembers` in the system.
Diffstat (limited to 'src/mailman/model/docs')
| -rw-r--r-- | src/mailman/model/docs/usermanager.rst | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mailman/model/docs/usermanager.rst b/src/mailman/model/docs/usermanager.rst index 12528bedf..8ad8d71a4 100644 --- a/src/mailman/model/docs/usermanager.rst +++ b/src/mailman/model/docs/usermanager.rst @@ -146,3 +146,35 @@ If a non-existent user id is given, None is returned. >>> from uuid import UUID >>> print user_manager.get_user_by_id(UUID(int=801)) None + + +Finding all members +=================== + +The user manager can return all the members known to the system. + + >>> mlist = create_list('test@example.com') + >>> mlist.subscribe(list(user_2.addresses)[0]) + <Member: bperson@example.com on test@example.com as MemberRole.member> + >>> mlist.subscribe(user_manager.create_address('eperson@example.com')) + <Member: eperson@example.com on test@example.com as MemberRole.member> + >>> mlist.subscribe(user_manager.create_address('fperson@example.com')) + <Member: fperson@example.com on test@example.com as MemberRole.member> + +Bart is also the owner of the mailing list. + + >>> from mailman.interfaces.member import MemberRole + >>> mlist.subscribe(list(user_2.addresses)[0], MemberRole.owner) + <Member: bperson@example.com on test@example.com as MemberRole.owner> + +There are now four members in the system. Sort them by address then role. + + >>> def sort_key(member): + ... return (member.address.email, member.role.name) + >>> members = sorted(user_manager.members, key=sort_key) + >>> for member in members: + ... print member.mailing_list, member.address.email, member.role + test@example.com bperson@example.com MemberRole.member + test@example.com bperson@example.com MemberRole.owner + test@example.com eperson@example.com MemberRole.member + test@example.com fperson@example.com MemberRole.member |
