diff options
| author | Barry Warsaw | 2011-10-23 21:39:07 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2011-10-23 21:39:07 -0400 |
| commit | 8fb200c051fad7d1e26721e29a99509982f164f7 (patch) | |
| tree | 9b579b3dc6f43a011359ad50277f781c52a47907 /src | |
| parent | 379aa1fac89428650e40ace3a672cdf43cc6aa73 (diff) | |
| download | mailman-8fb200c051fad7d1e26721e29a99509982f164f7.tar.gz mailman-8fb200c051fad7d1e26721e29a99509982f164f7.tar.zst mailman-8fb200c051fad7d1e26721e29a99509982f164f7.zip | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/mailman/rest/addresses.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mailman/rest/addresses.py b/src/mailman/rest/addresses.py index 5d479d9cb..d0b0fa1c9 100644 --- a/src/mailman/rest/addresses.py +++ b/src/mailman/rest/addresses.py @@ -137,6 +137,11 @@ class UserAddresses(_AddressBase): +def membership_key(member): + # Sort first by mailing list, then by address, then by role. + return member.mailing_list, member.address.email, int(member.role) + + class AddressMemberships(MemberCollection): """All the memberships of a particular email address.""" @@ -157,5 +162,6 @@ class AddressMemberships(MemberCollection): user = getUtility(IUserManager).get_user(self._address.email) if user is None: return [] - return [member for member in user.memberships.members - if member.address == self._address] + return sorted((member for member in user.memberships.members + if member.address == self._address), + key=membership_key) |
