summaryrefslogtreecommitdiff
path: root/src/mailman/interfaces/membership.py
Commit message (Collapse)AuthorAgeFilesLines
* * New REST resource http://.../members/find can be POSTed to in order to findBarry Warsaw2011-08-131-119/+0
| | | | | | member records. Arguments are `subscriber` (email address to search for - required), `fqdn_listname` (optional), and `role` (i.e. MemberRole - optional). (LP: #799612)
* Allow users to subscribe to mailing lists through the REST API.Barry Warsaw2011-04-241-2/+16
| | | | | | | | * ISubscriptionService.join(): address -> subscriber. This is not backward compatible with the previous API! * Add get_user_by_id() to the IUserManager interface. It was already implemented, but the interface was missing the definition. * MissingUserError: new exception, purely for the REST API.
* Give IMembers a unique member id. We have to do this in order to give them aBarry Warsaw2011-04-221-0/+9
| | | | | | | | | | | | | | | | | | | | | | | path at the root of the resource tree (i.e. /members/X) and because when members can be subscribed by their IUser record (for preferred address), their canonical location cannot contain the address they are subscribed with. When their preferred address changes (without otherwise touching their membership), this address will change and that's not good for a canonical location. Other changes: * Added IMember.member_id attribute * Added ISubscriptionService.get_member() so member records can be retrieve by member id. * We can now get individual members by id via the REST API. * Extend the UniqueIDFactory so that it can take a 'context' (defaulting to None). The context is only used in the testing infrastructure so that separate files can be used for user ids and member ids. Otherwise, we'd have gaps in those sequences. * When *not* in testing mode, ensure that UIDs cannot be reused by keeping a table of all UIDs ever handed out. We *should* never get collisions, but this ensures it. * Clean up mailman.sql
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-081-4/+1
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* Complete the conversion to restish. All the tests pass and we're now actuallyBarry Warsaw2010-02-241-0/+3
| | | | | | RESTful. We have to use httplib2 to get DELETE and PUT. This is a prototype and could still use much cleanup.
* Rip out lazr.restful and replace it with restish. This simpifies a lot of theBarry Warsaw2010-02-231-19/+0
| | | | | REST architecture, at the expense of a few features, and less support. So far so good though.
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* * Leave a mailing list via the REST API.Barry Warsaw2009-12-281-0/+20
| | | | | | * delete_member(): If the address is not associated with a member, raise NotAMemberError. * NotAMemberError -> interfaces/member.py
* * Add REST interface for joining a mailing list.Barry Warsaw2009-12-281-1/+41
| | | | | | * add_member() now returns the newly created IMember. * Reorganized several exceptions and exposed them to the REST API. * Added NoSuchListError.
* Add REST API for subscription services.Barry Warsaw2009-12-271-0/+55