summaryrefslogtreecommitdiff
path: root/src/mailman/model/docs
diff options
context:
space:
mode:
authorBarry Warsaw2012-01-26 23:20:10 -0500
committerBarry Warsaw2012-01-26 23:20:10 -0500
commite6a261945e64201920c8c879615ac321739bce9f (patch)
treec1263ad797c93c1fa2e91482ab1a9b4add6669d0 /src/mailman/model/docs
parent7a1c7652519841522246278daa3cbc121ded133c (diff)
downloadmailman-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.rst32
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